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
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:
10
Menge an gleichzeitig aufgebauten Verbindungen die noch nicht authentifiziert sind.
Anteil der verworfenen nicht-authentifizierten Verbindungen:
30
Prozentualer Anteil der Verbindungen die über den erlaubten unauthentifizierten verworfen werden.
Maximale nicht-authentifizierte Verbindungen:
100
Menge an gleichzeitigen Verbindungen, ab denen alle unauthentifizierten verworfen werden.
Login Zeit:
120
Zeit in Sekunden, die für die Authentifizierung zur Verfügung steht
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
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 version2 auswählen und speichern.
Abb. 1
Schritt 1: Untermenü "Parameters for key saving files" auswählen
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 befindet 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:
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ü Category → Connection → SSH → Auth hinzugefügt werden und im Feld Host Name wird der Benutzer mit übergeben im Format root@<IP-Adresse>.
Privaten Schlüssel zu einem PuTTY Profil hinzufügen
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.
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.