• Beitrags-Kommentare:0 Kommentare
  • Beitrags-Autor:
  • Beitrag zuletzt geändert am:14.09.2020
  • Lesedauer:6 min Lesezeit
  • Beitrags-Kategorie:Sicherheit

In diesem Artikel möchte ich euch zeigen wie man seinen SSH härten bzw. absichern kann. Man kann es auf jeder Linux Distribution anwenden, sowie für Proxmox, LXC-Container und vieles mehr.

Sicheres Passwort verwenden

Viele Nutzer verwenden noch ein einfaches Passwort wie das Geburtsdatum, Geburtsort oder den Namen vom Haustier. Das ist ein großer Fehler, den mittels einer Brute-Force-Attacke kann man leicht das Passwort knacken.

Verwenden daher ein Passwort mit folgenden Parametern.

  1. Benutzt klein und Großbuchstaben.
  2. Verwendet einen oder mehrere Sonderzeichen.
  3. Setzt einen oder mehrere Zahlen.

Sicher stellt sich der eine oder andere die Frage „wie soll man sich das Passwort merken?“

Hier ein kleiner Tipp wie man Passwörter gut merken kann.

Wir nehmen die Namen und das Alter unserer Familie, als Beispiel.

  • Jens (Sohn – 5 Jahre)
  • Katrin (Tochter – 7 Jahre)
  • Klaus (Vater – 37 – Jahre)
  • Anne (Mutter – 34 – Jahre)

Nun nehmen wir die ersten beiden Buchstaben und setzten dahinter das Alter und ein beliebiges Sonderzeichen.

In unserem Beispiel würde das wie folgt aussehen: Je5+Ka7+Kl37+An34

Und schon hat man ein sicheres und einfach zu merkendes Passwort.

Tipp: Wer testen möchte wie sicher sein Passwort ist, kann das hier machen. https://password.kaspersky.com/de/

Das Passwort unter Linux ändert man mit passwd

SSH-Zugang Port ändern

Den Standard SSH Port kennt wahrscheinlich jeder, es ist der Port 22. Das wissen natürlich auch die Kriminellen bzw. Hacker, die auf der Suche nach undichten Systemen sind. Die meisten werden ihre Angriffsversuche – meist automatisierte Log-in-Versuche – vor allem über diesen Port laufen lassen, daher ist es wichtig den Standard Port zu ändern.

Was auf Port 22 läuft, kann man mit folgendem Befehl überprüfen:

netstat -tulpen | grep ":22"

Die Ausgabe sollte ungefähr so aussehen.

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          245047597  460/sshd 

Nun ändern wir den SSH Port wie folgt:

sudo nano /etc/ssh/sshd_config

Nun müssen wir nur die Raute (#) vor dem Port entfernen und unsere beliebige Port Nummer eintragen.

SSH härten - Port ändern
SSH Port ändern

Nachdem wir die Änderungen STRG-O und STRG-X gespeichert und verlassen haben müssen wir den SSH Service Neustarten. Das machen wir mit diesem Befehl:

sudo service ssh restart

Achtung: auf Wikipedia gibt es eine Liste mit standardisierten Ports. Achtet darauf das ihr keine davon als SSH Port verwendet.

Jetzt können wir testen, ob wir uns mit dem neuen Port per SSH einloggen können.

Root deaktivieren

Um den SSH-Zugang abzusichern ist es empfehlenswert das Root-Konto für SSH zu deaktivieren. Zuerst sollte man aber ein neues Benutzer-Konto erstellen.

Das machen wir mit folgendem Befehl:

(Name und Verzeichnis vorher nach Belieben ändern)

useradd -g users -d /home/alex -m -s /bin/bash alex

Jetzt müssen wir für den neu angelegten Benutzer (alex) noch ein passwort vergeben. Das machen wir wie folgt:

passwd alex

Nun muss der SSH Dienst neugestartet werden, das geht mit diesem Befehl:

service ssh restart

Jetzt kann man sich mit dem neuen Port und den neuen Benutzer einloggen.

Nach dem Einloggen kann man mit dem Befehl su zum Root wechseln.

Achtung: Erst wenn das klappt, geht es weiter, ansonsten könnten wir uns aussperren.

Als Root geben wir folgenden Befehl:

nano /etc/ssh/sshd_config

Im Editor suchen wir nach

PermitRootLogin yes

und ändern es auf

PermitRootLogin no

Zusätzlich fügen wir gang oben folgendes ein:

# Nur noch den user alex zulassen. 
AllowUsers alex
# root oder benutzer in der Gruppe root generell sperren
DenyUsers root
DenyGroups root

Damit erlauben wir den SSH Zugang nur den Benutzer „alex“ und verbieten das Einloggen von Root. Wir speichern das ganze und verlassen den Editor.

Tipp: solltest du weiteren Benutzern den Zugang gewähren, so musst du nach dem AllowUsers alex einfach die weiteren Benutzer eintragen. Als Beispiel AllowUsers alex mike frank.

Achtung: niemals ein Komma nach dem Benutzer setzen, das könnte zu Aussperrung führen.

Und wieder muss der SSH Service neugestartet werden.

service ssh restart

Nun versuchen wir uns, als Root anzumelden. Es sollte die Fehlermeldung Access denied kommen.

RSA-Key erstellen

Mit dem sogenannten RSA-Keys kann man den SSH-Zugang noch weiter härten. Ohne den Key kann man sich nicht einloggen, daher sollte man sein RSA-Key gut aufbewahren.

Als Erstes laden wir uns puttygen.exe runter.

Puttygen.exe - RSA-Key Generator
Puttygen.exe – RSA-Key Generator

Nachdem wir das geöffnet haben, stellen wir sicher das RSA gesetzt ist (Punkt 1). Nun setzten wir die bits auf 4096 hoch (Punkt 2.) und bestätigen das ganze, indem wir auf den Button Generate klicken (Punkt 3.).

Wir bewegen die Maus im leeren Bereich unterhalb des Ladebalkens, um ein public-key zu generieren. Nachdem es generiert wurde, erscheint unser public-key (Punkt 4.). Jetzt setzten wir noch ein sicheres Passwort um uns später zu Identifizieren (Punkt 5.) und speichern schließlich das ganze, indem wir auf den Button Save private key klicken (Punkt 6.).

Achtung: Ihr solltet den private-key auf einem sicheren Platz aufbewahren, den brauchen wir um uns später einzuloggen.

Tipp: Optional könnt ihr auch den public-key sichern, indem ihr auf den Button Save public key klickt, aber ist nicht notwendig da wir den public-key auf unserer Linux Distribution speichern werden, dazu gleich mehr.

Wir lassen puttygen.exe offen und loggen uns erneut mit putty ein. Wir verwenden nach wie vor unseren erstellen Benutzer alex und den Port den wir vorher ausgewählt haben.

Nachdem wir uns eingeloggt haben wechseln wir in das Homeverzeichnis.

cd /home/alex

Und erstellen einen versteckten Ordner.

mkdir .ssh

Wir passen die Berechtigungen an mit diesen Befehlen

chown alex:users .ssh
chmod 700 .ssh

Nun öffnen wir den soeben erstellen Ordner und erstellen eine Datei mit den Namen authorized_keys

cd /home/alex/.ssh
touch authorized_keys
chown alex authorized_keys
chgrp users authorized_keys
chmod 600 authorized_keys

Jetzt öffnen wir die soeben erstellte Datei mit diesem Befehl

nano authorized_keys

Jetzt wechseln wir zurück zum puttygen.exe und kopieren uns den public-key (Punkt 4.)

Achtung: Es muss alles kopiert werden, von oben bis unten.

Nun wechseln wir wieder zurück zu putty und fügen es in der zuvor geöffneten Datei ein. Wir speichern und schließen es wieder.

Wir öffnen ein neues putty und klicken im linken Kategorie-Bereich auf SSH dann auf Auth und schließlich auf Browse.... Nun wählen wir unsere zuvor gespeicherte privat-key (Punkt 6.)

Tipp: Es ist empfehlenswert die Session zu speichern. Dazu wählt man im linken Kategorie-Bereich Session, unter Saved Sessions vergibt einen beliebigen Namen und klickt auf Save.

Nachdem wir uns nun erneut anmelden fragt uns putty nach der Passphrase die wir unter Punkt 5. eingegeben haben. Nach erfolgreicher eingabe sind wir mit dem Benutzer alex verbunden.

Putty - RSA Authentication
Putty – RSA Authentication

Nachdem wir uns erfolgreich eingeloggt haben, wechseln wir mit su auf Root und geben folgendes ein.

nano /etc/ssh/sshd_config

Wir ersetzen PasswordAuthentication yes in PasswordAuthentication no und starten den SSH Dienst neu mit

service ssh restart

Das war`s. Nun haben wir unseren SSH-Zugang etwas sicherer gemacht.

Habt ihr noch weitere Ideen und Tipps wie man den SSH-Zugang sicherer machen kann? Schreibt es in den Kommentaren oder schreibt mir über das Kontaktformular.

Ich freue mich auf eure Kommentare. Bleibt Gesund.

5 3 Stimmen
Wie gefällt Ihnen der Artikel?

sakis-tech

Saki publiziert in seinem Blog Tutorials sowie persönliche Erfahrungen zum Thema Virtualisierung, Netzwerk, Sicherheit sowie Anwendungen für Linux & Co.
Abonnieren
Benachrichtige mich bei
guest
0 Kommentare
Inline-Feedbacks
Alle Kommentare anzeigen