Eigener Webserver Teil 1: SSH absichern

Beitragsbild Webserver Groß

Ich habe meiner Website couchpirat.de vor kurzem einen eigenen Root-Server gegönnt. Der Umzug auf den neuen Server allerdings noch einige Zeit dauern, denn es liegt noch viel Arbeit vor mir.
Wie jeder, der sich bereits mal mit einem Root- oder vServer beschäftigt hat, weiß, ist vor dem Bezug der neuen Webspace-Heimat eine Menge Konfigurationsarbeit nötig.

Da ich selbst beim einrichten des Servers über ein paar Fallstricke gestolpert bin und mir im Internet alle wichtigen Informationen mühsam zusammensuchen musste, wollte ich mal ein paar Videos für meinen YouTube-Channel erstellen und zeigen, wie man Schritt für Schritt einen fertig konfigurierten Webserver erreicht und dazu alle relevanten Informationen gebündelt an einer Stelle, hier auf meinem Blog, findet.

Wie oft die einzelnen Folgen erscheinen werden, kann ich noch sehr schwer abschätzen, da ja doch sehr viel Arbeit hinter den Videos steckt. Aber ich bemühe mich um eine gewisse Regelmäßigkeit.

Absicherung SSH-Zugang

Im ersten Teil dieser Reihe kümmern wir uns um einen der wichtigsten Punkte in Sache Server-Sicherheit überhaupt, den SSH-Zugang.

Der User „root“ soll sich zukünftig nicht mehr per SSH einloggen dürfen. Dafür wird ein eigener User erstellt, dem lediglich mit einem RSA-Schlüssel Zugang zum Server gewährt wird.
Bitte sehr euch dazu auch das eigens dafür erstellte Video auf meinem Kanal oder am Ende dieser Seite an (und lasst bitte auch ein Abo da ;-) ), denn diese Seite hier ist eher zur Unterstützung gedacht, um alles noch einmal chronologisch nachvollziehen zu können.

Hier wird übrigens das Serversystem Debian 9 Stretch verwendet. Die Anleitung kann natürlich auch auf Ubuntu oder andere Derivate angewendet werden. Je nach System können die Conf-Files ein wenig anders sein.

Eingesetzte Software

Die von mir verwendete Software:

Einzelschritte

Neue Gruppe für die Nutzer des SSH-Zugangs anlegen

addgroup sshusers

Einen neuen Nutzer anlegen. Am besten einen kryptischen Namen mit Buchstaben und Zahlen verwenden. Ich verwende dafür 8 Zeichen mit Zahlen, Groß- und Kleinbuchstaben.
Für das Passwort gilt natürlich das gleiche, allerdings verwende ich da immer 15 Zeichen. Am besten natürlich einen Passwortgenerator und einen Passwort Manager verwenden.

adduser b38EYoX8 –force-badname

Passwort: ij8SQJz554Xh52T

Der User muss nun noch in die neu erstellte Gruppe integriert werden.

usermod -aG sshusers b38EYoX8

Jetzt zum neuen User werden

su b38EYoX8

In das Stammverzeichnis des Users wechseln

cd

Im Stammverzeichnis das Verzeichnis .ssh anlegen

mkdir .ssh

In das Verzeichnis .ssh wechseln

cd .ssh

RSA-Keypaar erstellen

ssh-keygen -b 4096

Passwort: w4UtuzQq5z6as4o

id_rsa.pub zu authorized_keys hinzufügen

cat id_rsa.pub >> authorized_keys

Chmod 600 auf authorized_keys -> Eigentümer der Datei kann lesen und schreiben

chmod 600 authorized_keys

Prüfen ob der Schlüssel auch in authorized_keys eingetragen wurde

cat authorized_keys

Zurück in das Stammverzeichnis

cd ..

Chmod 700 auf .ssh -> Eigentümer der Datei kann lesen, schreiben und ausführen

chmod 700 .ssh

Achtung! Schlüssel-File des Servers downloaden mit Filezilla oder WinSCP!
Einstellungen als SFTP, d.h. Zugang über SSH

Für die nächsten Schritte brauchen wir wieder ROOT-Rechte

exit

Bearbeiten der Datei sshd_config

nano /etc/ssh/sshd_config

Folgende Daten sollten in der Datei angepasst werden.

Port 44432

DenyUsers root
DenyGroups root
AllowUsers b38EYoX8
AllowGroups sshusers

PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
UsePAM no
X11Forwarding no

 

SSH neu starten

systemctl restart ssh

Erfolgskontrolle mit Putty oder MobaXterm.

Wenn erfolgreich, dann unbedingt die Dateien id_rsa und id_rsa.pub aus dem Userverzeichnis .ssh löschen!

Meine letzten Worte

Damit wäre der SSH-Zugang abgesichert und man braucht sich im Regelfall keine Gedanken mehr über ungebetene Gäste auf dem eigenen System zu machen.
Grundsätzlich sei auch hier gesagt, das schwächste Glied in der Kette ist der Administrator. Bitte denkt an folgende Punkte, wenn ihr euer System einrichtet.

  • Jedes erstellte Passwort ist einmalig
  • Ausschließlich sichere Passwörter verwenden (Klein- und Großbuchstaben, Zahlen, Sonderzeichen, min 15 Zeichen lang)
  • System immer Updaten!
  • Passwörter und Key-File unbedingt sicher verwahren.

Ich hoffe, euch hat das Video und diese Übersicht geholfen und wir sehen uns im zweiten Teil. Darin geht es dann um die UFW (Uncomplicated Firewall). Bis dahin, Arrr…

MIchael, der Couchpirat

Das Video

Übersicht der Webserver-Reihe

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar
wpDiscuz