Einer der grundlegenden SSH-Härtungsschritte besteht darin, die passwortbasierte SSH-Anmeldung zu deaktivieren.
Sie wissen, dass Sie ssh mit dem Root-Passwort oder dem Passwort eines anderen Kontos verwenden können, um sich remote bei einem Linux-Server anzumelden.
Dies stellt jedoch ein Sicherheitsrisiko dar, da eine große Anzahl von Bots ständig versucht, sich mit zufälligen Passwörtern in Ihr System einzuloggen. Dies wird als Brute-Force-Angriff bezeichnet.
Du glaubst mir nicht? Sie können die Anmeldungen auf Ihrem Linux-Server überprüfen. Sie werden überrascht sein, so viele fehlgeschlagene Versuche auf Ihrem Server zu sehen.
[email protected]:~# lastb | tail
root ssh:notty 49.235.87.213 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 95.128.137.176 Wed Apr 1 06:25 - 06:25 (00:00)
aw ssh:notty 36.108.175.68 Wed Apr 1 06:25 - 06:25 (00:00)
aw ssh:notty 36.108.175.68 Wed Apr 1 06:25 - 06:25 (00:00)
fx ssh:notty 113.88.164.53 Wed Apr 1 06:25 - 06:25 (00:00)
fx ssh:notty 113.88.164.53 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 112.215.113.10 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 152.32.173.74 Wed Apr 1 06:25 - 06:25 (00:00)
Aus diesem Grund sollten Sie ein starkes Passwort verwenden. Der richtige Weg, mit ihnen umzugehen, ist die Verwendung eines Tools wie fail2ban. Eine andere Möglichkeit besteht darin, die passwortbasierte Authentifizierung zu deaktivieren, sodass sich niemand über das Anmeldepasswort anmelden kann.
Auf diese Weise können sich nur die Systeme mit dem Server verbinden, deren öffentliche SSH-Schlüssel zum Server hinzugefügt wurden (als schlüsselbasierte Authentifizierung bezeichnet). Lesen Sie mehr über das Einrichten der SSH-Konfiguration.
SSH-Passwortauthentifizierung deaktivieren
Bevor Sie dies tun, müssen Sie Folgendes beachten:
- Stellen Sie sicher, dass Sie Ihr SSH-Schlüsselpaar auf Ihrem persönlichen/Arbeitscomputer erstellen und diesen öffentlichen SSH-Schlüssel zum Server hinzufügen, damit Sie sich zumindest beim Server anmelden können.
- Das Deaktivieren der passwortbasierten Authentifizierung bedeutet, dass Sie nicht von zufälligen Computern aus auf Ihren Server zugreifen können.
- Sie dürfen Ihre ssh-Schlüssel nicht verlieren. Wenn Sie Ihren PC formatieren und die SSH-Schlüssel verlieren, können Sie niemals auf den Server zugreifen.
- Wenn Sie ausgesperrt sind, können Sie niemals auf Ihren Server zugreifen.
Einige Cloud-Server-Anbieter wie Linode und UpCloud bieten eine VNC-Konsole, die Ihnen dennoch helfen könnte.
Deaktivieren Sie die passwortbasierte SSH-Authentifizierung nur, wenn Sie mit SSH und anderen Sysadmin-Konzepten vertraut sind. Sie sollten auch wissen, wie man einen terminalbasierten Texteditor wie Vim oder Nano verwendet.
Okay. Jetzt kennen Sie also die Risiken, die mit der Deaktivierung von SSH-Anmeldungen per Passwort verbunden sind. Mal sehen, wie es geht.
Melden Sie sich mit schlüsselbasierter Authentifizierung als root bei Ihrem Linux-Server an. Verwenden Sie einen Editor wie Nano oder Vim, um die folgende Datei zu bearbeiten:
/etc/ssh/sshd_config
Suchen Sie die folgende Zeile:
PasswordAuthentication yes
Und ändern Sie es in:
PasswordAuthentication no
Wenn am Anfang dieser Zeile ein # (bedeutet auskommentiert) steht, entfernen Sie es.
Speichern Sie die Datei, nachdem Sie diese Änderungen vorgenommen haben, und starten Sie den SSH-Dienst mit diesem Befehl neu:
systemctl restart ssh
Das ist es. Sie haben die passwortbasierte Authentifizierung in SSH erfolgreich deaktiviert.
Fragen und Anregungen sind immer willkommen.