[HowTo] SSH login absichern

  • Dieser Text war eigentlich fürs Wiki gedacht, aber dort will man ihn nicht, wegen der Verantwortung... (was man bei den aktuellen Forenfragen auch verstehen kann)
    Daher gilt, nur auf eigene Gefahr !


    SSH login absichern

    Um einen (V)Server abzusichern hilft nicht nur die Wahl eines gutes Passworts, es hilft auch den Benutzer für den Remotelogin über SSH zu ändern.

    Das geschieht in 3 Schritten.
    Anlegen eines neuen Users
    Testen des neuen Logins
    Aussperre von Root


    1. Neuen User anlegen
    Einen User legt man mit folgendem Befehl an

    Code
    adduser sshlogin



    Die meisten Linux-Distrubtionen fragen dann nach einem Passwort und weiteren Informationen zu dem neuen User. Bis auf das Passwort braucht man hier nichts angeben.
    ACHTUNG ! Auch das Passwort des neuen Users sollte sehr Stark sein ! Min. 8 Zeichen, inkl. Zahlen, Groß / Klein – Schreibung und Sonderzeichen z.B. „S!mone08
    Kann man sich leicht merken und wird nicht so leicht geraten wir „Simone“.

    Sollte eure Distribution nicht nach einem Passwort fragen kann Root das Passwort eines jeden Users ändern. Dies geschieht mit dem Befehl

    Code
    passwd [username]



    2. Test des neuen Logins
    Als angemeldeter User kann man sich als Root anmelden. Dazu dient der Befehl „su“ und das Passwort von Root.
    Der Login als „sshlogin“ und der Wechsel zu Root mit dem Befehl „su“ sollte unbedingt ausprobiert werden bevor Root ausgespetrt wird.

    3. Aussperren von Root

    Um den Login per ssh als Root zu verbieten, muss die Daten „/etc/ssh/sshd_config“ bearbeitet werden.

    Code
    [B]PermitRootLogin [U]yes[/U][/B] wird zu [B]PermitRootLogin [U]no[/U][/B]



    Um die neue Configuration einzulesen wird der SSH Daemon neu gestartet

    Code
    /etc/init.d/ssh restart



    Jetzt ist der Login als Root nicht mehr möglich.
    Man logt sich jetzt als sshlogin ein und wechselt mit „su“ auf root.
    Durch erneutes ändern der sshd_config läßt sich dies jederzeit rückgängig machen.

  • Zitat von color86;31874

    eine einfache lösung ist auch den ssh port zu sperren in der firewall für all jene die den zugang nur gelegentlich benötigen.


    oder spricht hier etwas dagegen?


    Ich habe den SSH Port verlegt und per Firewall für andere geblockt. Wüsste jetzt nicht, was dagegen sprechen sollte, zumal du ja von "außen" die ganzen Dinge einfach editieren kannst.

    Rechtschreibfehler sind unter Creative Commons BY-NC-ND 3.0 DE lizenziert.

  • Dauert aber eine Weile länger den Port 50000 (Beispiel) zu finden, als den Port 22.


    Da die meisten Scriptkiddies "Programme" verwenden, die nur an 22 anklopfen, und wenn überhaupt nur ein paar Sekunden scannen, wird sich da keiner Länger aufhalten. Sicher, wenn einer den Port wissen will, würde er ihn schon rausbekommen. ;) Nur die "breite Masse" eben nicht!

    Rechtschreibfehler sind unter Creative Commons BY-NC-ND 3.0 DE lizenziert.

  • Genau, wer will, der kann auch den ssh Port finden, aber die breite Masse wird sich damit nicht aufhalten.
    Eben so wie mit dem User. Die meisten scannen nach Root + Standartpasswörter
    Aber wer scannt bitte nach - Dosenfutter, Omi, Peterle oder auch einfach nur r00t ?

    Ausserdem, soll es nur einen Weg aufzeigen wie man es machen kann - schnell einfach und ohne Kopfzerbrechen.