Jeder der einen eigenen Server in einem Rechenzentrum betreibt, möchte diesen bestmöglich vor Hackerangriffen schützen. Wir zeigen euch eine Möglichkeit wie ihr den SSH Port eures Servers ganz einfach und effektiv schützen könnt.
Überblick
1. fail2ban installieren und konfigurieren2. neuen Benutzer anlegen
3. SSH Root Login deaktivieren
4. SSH Password Login deaktivieren
1. fail2ban installieren
Fail2ban (deutsch: Fehlschlag führt zum Bann) ist ein in Python geschriebenes Tool, dass dem Administrator helfen soll Angreifer zu entdecken. Das Tool erkennt, wenn sich mehrmals in einem bestimmten Zeitraum mit einem falschen Passwort versucht wurde sich anzumelden. Anschließend wird diese IP des Angreifers für einen bestimmten Zeitraum gesperrt.
Um fail2ban zu installieren führen wir folgende Befehle aus:
apt-get update apt-get upgrade apt-get install fail2ban
Anschließend müssen wir fail2ban noch konfigurieren:
Wir wechseln zunächst in das Verzeichnis, wo sich die Konfigurationsdatei befindet und passen anschließend verschiedene Parameter an.
cd /etc/fail2ban/
Kopieren der Konfigurationsdatei, damit diese beim Update nicht überschrieben wird
sudo cp jail.conf jail.local
Anpassen der Konfiguration
sudo nano jail.local
Hier solltest du folgende Einstellungen anpassen
# Dauer der Sperrung (ein Tag)
bantime = 86400
# Suchzeit
findtime = 600
# maximale Fehlversuche
maxretry = 3
Anschließend musst du den Dienst noch Neustarten
sudo systemctl restart fail2ban.service
Code-Sprache: PHP (php)
2. neuen Benutzer anlegen
Damit wir im nächsten Schritt den Root Login über SSH deaktivieren können, müssen wir zunächst einen neuen Benutzer anlegen.
# Ersetzt newuser durch euern gewünschten Benutzernamen
adduser newuser
Code-Sprache: PHP (php)
Anschließend erscheinen ein paar Fragen, welche du alle mit Enter bestätigen kannst. Als Password solltest du ein möglichst langes und kryptisches wählen, damit es nicht leicht erraten werden kann.
3. SSH Root Login deaktivieren
Nun deaktivieren wir den SSH Root Login um die Sicherheit deines Servers weiter zu erhöhen. Dazu wechseln wir in das Verzeichnis, wo sich die SSH Konfigurationsdatei befindet.
cd /etc/ssh/
#Öffnen der Konfigurationsdatei
sudo nano sshd_config
#Hier solltest du folgenden Parameter anpassen
PermitRootLogin no
#Anschließend musst du den SSH Dienst noch neustarten
sudo systemctl restart sshd.service
Code-Sprache: PHP (php)
4. SSH Password Login deaktivieren
Um deinen Server noch besser vor SSH Angriffen zu schützen, erlauben wir jetzt nur noch die SSH Anmeldung mit einen Schlüsselpaar. Somit musst du beim Anmelden auch kein Passwort mehr eingeben. Dazu sind folgende Schritte notwendig.
Schlüsselpaar erzeugen
Bitte beachte dabei, dass du das Schlüsselpaar nicht auf dem Server erzeugen solltest, auf dem du dich später damit anmelden möchtest. Solltest du einen Windows Rechner verwenden empfehle ich dir das Tool Putty für die Erstellung des Schlüsselpaares zu verwenden.
#erzeugen eines 4096 Bit langen Schlüsselpaares
ssh-keygen -b 4096
#speichern des Schlüsselpaares
#hier musst du your_home durch deinen vorhin angelegten
#Benutzernamen ersetzen
Enter file in which to save the key (/your_home/.ssh/id_rsa):
#Anschließend kannst du noch ein Password für euer Schlüsselpaar festlegen
# ist aber nicht zwingend notwendig
Enter passphrase (empty for no passphrase):
Code-Sprache: PHP (php)
Schlüsselpaar auf den Server kopieren
#Wechsel zunächst in das Verzeichnis wo sich dein
#Schlüsselpaar befindet
cd /your_home/.ssh/
#Kopieren des öffentliches Schlüssels
cp id_rsa.pub authorized_keys
#Öffentlichen Schlüssel auf den Server kopieren
scp authorized_keys benutzer@deine_server_adresse:~/authorized_keys
#melde dich anschließend auf dem Server an
ssh benutzer@deine_server_adresse
#erstelle anschließend den Order .ssh in deine Homeverzeichnis
mkdir .ssh
#Verschiebe anschließend authorized_keys in den .ssh Ordner
mv authorized_keys .ssh/authorized_keys
Code-Sprache: PHP (php)
Melde dich nun von deinem Server ab und anschließend erneut an. Es sollte jetzt nicht mehr nach einem Passwort gefragt werden.
SSH Login nur noch mit gültigem Schlüsselpaar erlauben
Damit keine Anmeldung mehr per Passwort erlaubt ist, solltest du folgende Einstellungen anpassen
#wechsle in das SSH Verzeichnis
cd /etc/ssh/
#öffne die Konfigurationsdatei
sudo nano sshd_config
#Folgender Parameter muss angepasst werden
PasswordAuthentication no
#SSH Dienst neustarten
sudo systemctl restart sshd.service
Code-Sprache: PHP (php)
Das war’s. Dein Server ist jetzt etwas sicherer geworden. Damit dein Server dauerhaft sicher bleibt, solltest du in regelmäßigen Abständen Updates installieren.
Hat dir die Anleitung gefallen? Dann gib uns ein Feedback.
Werbung