Wechseln zu:Navigation, Suche
Wiki





























De.png
En.png
Fr.png




SSH Zugang zur UTM einrichten
Letzte Anpassung: 09.2022 (v12.1)
Neu:

Vorherige Versionen: 11.7



Einleitung

Der SSH-Zugang zur UTM kann in drei fest definierten und einer benutzerdefinierten Sicherheitsstufe unter → Authentifizierung →SSH-Einstellungen gehärtet werden.




Einstellungen

╭╴ Einstellungen ╶╮
Beschriftung Wert Beschreibung UTM v12.4 Authentifizierung SSH Einstellungen.png
Sicherheitsmodus: Mittel Standardeinstellungen der UTM, Root Login ist möglich, wenn ein entsprechender User angelegt wurde.
Hoch Längere Host Keys, keine potentiell unsicheren Hash-Algorithmen, kein Root Login, auch wenn ein entsprechender User angelegt wurde.
Sehr hoch Extrem eingeschränkte Liste von Hash-Algorithmen, Verschlüsselungen und Schlüsselaustausch-Algorithmen, kein Root Login, auch wenn ein entsprechender User angelegt wurde.
Benutzerdefiniert Der Benutzer definiert seine Liste von Hash-Algorithmen, Verschlüsselungen und Schlüsselaustausch-Algorithmen, Root Login aktivierbar
Erlaubte nicht-authentifizierte Verbindungen: 10Link= Menge an gleichzeitig aufgebauten Verbindungen die noch nicht authentifiziert sind.
Anteil der verworfenen nicht-authentifizierten Verbindungen: 30Link= Prozentualer Anteil der Verbindungen die über den erlaubten unauthentifizierten verworfen werden.
Maximale nicht-authentifizierte Verbindungen: 100Link= Menge an gleichzeitigen Verbindungen, ab denen alle unauthentifizierten verworfen werden.
Login Zeit: 120Link= Zeit in Sekunden, die für die Authentifizierung zur Verfügung steht

Benutzerdefinierte Einstellungen

╭╴ Benutzerdefinierte Einstellungen ╶╮
HMAC-Liste: Mittel
hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1-96,hmac-md5-96
Liste der zugelassenen Keyed-Hash Message Authentication Code Hash-Algorithmen. UTM v11.8.8 SSH-Einstellungen Erweitert.png
Hoch
hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
Sehr hoch
hmac-sha2-256-etm@openssh.com
Cipher-Suite: Mittel
aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
Legt fest, welche Verschlüsselungen für SSH zugelassen werden.
Hoch
chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
Sehr hoch
chacha20-poly1305@openssh.com
KEX-Algorithmus: Mittel
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
KEX-Algorithmus:
Hoch
curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Sehr hoch
curve25519-sha256@libssh.org
Root-Zugriff erlauben Ein Nur möglich bei Mittel oder Benutzerdefiniert

Root-Zugriff

Root mit Benutzerauthentifizierung

Hinweis
Es besteht kein Root Zugriff über die Benutzerauthentifizierung im Modus "hoch" und "sehr hoch". Hier ist nur die Authentifizierung per Public Key möglich.

Wird dennoch ein Root Zugriff mit Benutzerauthentifizierung in den Sicherheitsstufen "Hoch" und "Sehr hoch" gewünscht, können die Listen aus diesen Modi im Modus "Benutzerdefiniert" hineinkopiert und Root aktiviert werden.


Root Zugriff per Public-Key

Um per ssh-public-key eine Authentifizierung ohne Passwort über eine SSH-Konsole durchzuführen sind folgende Schritte notwendig:

Schritt Beschreibung Putty KG NewKey.png
Schlüsselpaar Generieren
Erstellen eines SSH-RSA Schlüsselpaares Dieses kann auf einem Windowssystem mit einem Zusatzprogramm wie z.B. "puttygen" generiert werden.
  • Bei neueren Versionen des PuTTY Key Generators kann es erforderlich sein, die Datei-Version des privaten Schlüssels anzupassen, da PuTTY sonst den selbst erstellten Schlüssel nicht verwenden kann.
    Menü Key Untermenü: Parameters for saving key files. Dort die PPK file version 2 auswählen und speichern.
  • PuTTY Key Generatir - Key - Parameters for saving key files.png
    Abb. 1
    Schritt 1: Untermenü "Parameters for key saving files" auswählen
    PuTTYgen - Private Key File Parameteres.png
    Abb. 2
    Schritt 2: "PKK file version" muss auf den Wert "2" gesetzt werden













    Auf einem Linux/Unix System steht das Tool "ssh-keygen" zur Verfügung, welches mit der Option ssh-keygen -t rsa ausgeführt wird.
    Speicherort des Schlüssels Der öffentliche Teil des Schlüssels kann nach der Erstellung mit "puttygen" mit Save public key und Save private key gespeichert werden, standardmäßig im Dokumenten-Verzeichnis des Windows-Benutzers.
    Bei Linux/Unix befinden sich dieser im Benutzerverzeichnis unter /home/benutzer/.ssh/
    Format public key Die PuTTYgen-Datei muss diesbezüglich noch angepasst werden:

    Der public-key muss das folgende Format haben:

    ssh-rsa <public-key>
    

    Da sich zwischen "ssh-rsa" und dem Key ein Leerzeichen befindet, muss der gesamte Inhalt in Anführungszeichen gesetzt werden.
    Weiterhin muss darauf geachtet werden, dass die Zeilenumbrüche des Public-Key entfernt werden.

    Außerdem sollte auch der optionale Eintrag des Benutzers in Form "Benutzer@Rechner" angefügt werden. Dieses sieht dann insgesamt folgendermassen aus:

    "ssh-rsa AAAAB3NzaC1....93stGrJPeQ= a.admin@ttt-point.de"
    
    In der Linuxdatei "id_rsa.pub" ist dieses schon so eingerichtet.
    Den öffentlichen Schlüssel auf die UTM übertragen Nun wird dieser Schlüssel kopiert und über eine SSH-Konsole mit dem folgenden CLI-Kommando hinzugefügt:
    system ssh pubkey new key "ssh-rsa AAAAB3NzaC1....93stGrJPeQ= 
    a.admin@ttt-point.de"
    RSA-Schlüssel auf der UTM aktivieren Um den RSA-Schlüssel zu nutzen, wird dieser mit dem folgenden CLI-Kommando aktiviert:

    system ssh pubkey enable id 1 Die ID dieses Keys kann über das Kommando system ssh pubkey get abgefragt werden.

    Authentifizierung per Public-Key aktivieren Um sich über eine SSH-Konsole per Public-Key Authentifizieren zu können, muss dieses aktiviert werden. Das entsprechende CLI-Kommando auf der UTM lautet: extc global set variable "GLOB_SSH_PUBKEY_AUTH" value 1

    Abschließend erfolgt noch eine Aktualisierung des UTM-Systems mit dem CLI-Kommando system update system

    Privaten Schlüssel einbinden Unter PuTTY muss nun noch die Datei mit dem Privaten Schlüssel im Menü CategoryConnectionSSHAuth hinzugefügt werden und im Feld Host Name wird der Benutzer mit übergeben im Format root@<IP-Adresse>. Putty Keyfile.png
    Privaten Schlüssel zu einem PuTTY Profil hinzufügen

    Putty root login.png
    Putty Profil
    Achtung!
    Mit PuTTY kann im Modus "hoch" und "sehr hoch" keine SSH Sitzung geöffnet werden. Die dort geforderten Key-Exchange Algorithmen werden von PuTTY nicht unterstützt.
    Mit dem SSH-Client unter Linux genügt das Kommando ssh root@<IP-Adresse> da hier der Key an einer definierten Stelle im System abgelegt ist.



    CLI

    Die Einstellungen, die im Webinterface vorgenommen werden sind auf dem CLI über die nachfolgenden Befehle sichtbar.

    extc value get application "sshd"
    


    Das Ergebnis sollte ähnlich wie folgt aussehen:

    application|variable                |value
    -----------+------------------------+-----
    sshd       |CIPHER_LIST             |
               |CIPHER_LIST_H           |chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
               |CIPHER_LIST_M           |aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
               |CIPHER_LIST_P           |chacha20-poly1305@openssh.com
               |HMAC_LIST               |
               |HMAC_LIST_H             |hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com
               |HMAC_LIST_M             |hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
               |HMAC_LIST_P             |hmac-sha2-256-etm@openssh.com
               |KEX_LIST                |
               |KEX_LIST_H              |curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
               |KEX_LIST_M              |ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
               |KEX_LIST_P              |curve25519-sha256@libssh.org
               |LOGIN_GRACE_TIME        |10
               |PERMIT_ROOT_LOGIN       |no
               |PERMIT_ROOT_LOGIN_H     |no
               |PERMIT_ROOT_LOGIN_M     |yes
               |PERMIT_ROOT_LOGIN_P     |no
               |RATE_ALLOW_PENDING_CONNS|10
               |RATE_MAX_PENDING_CONNS  |100
               |RATE_START_DROP_CHANCE  |30
               |SECMODE                 |2 
               |USE_HOSTKEY_DSA         |0
               |USE_HOSTKEY_EC25519     |1
               |USE_HOSTKEY_ECDSA       |1
               |USE_HOSTKEY_RSA         |1
               |USE_OTP                 |0
    

    Die Variable SECMODE zeigt an, welche SSH Konfiguration gegenwärtig aktiv ist.

    Es gibt vier Konfigurationen, die dieser Variablen zugeordnet werden können:

    value Bedeutung
    0 Sehr hoch
    1 Hoch
    2 Mittel
    3 Benutzerdefiniert

    Wird die Variable im CLI einer anderen Konfiguration zugeordnet, dann muss diese Anweisung durch den Neustart der Anwendung SSHD aktiviert werden.

    extc value set application "sshd" variable SECMODE value 1
    appmgmt restart application "sshd"
    

    Hinweis: Sicherheitsvorkehrungen bei Konfigurationstests

    Wird geplant, über das Webinterface oder das CLI, neue Verschlüsselungen oder die SSH Einstellungen zu manipulieren, sollte vor der Umstellung eine SSH-Verbindung zur UTM bestehen. Bestehende SSH-Verbindungen werden nicht durch die Umstellung der Verschlüsselung oder der SSH Einstellungen unterbrochen.