Centos8 – SSH ohne root Login

Um es Angreifern zu erschweren einen Linux-Server unter Centos8 via SSH zu übernehmen, besteht die Möglichkeit den Fernzugriff für den User root zu unterbinden.

Daraus ergeben sich folgende Vorteile

  • der Angreifer benötigt bei bestimmten Szenarien den zugehörigen Benutzernamen
  • bei einer erfolgreichen Attacke, verfügt der Angreifer nicht über administrative Rechte

Umsetzung

(1) Verbindung via SSH mit ihrem Server:

ssh root@<IP Adresse oder DNS-Name>

(2) Benutzer anlegen und Passwort vergeben

adduser <Benutzername>
passwd <Benutzername>

Sollten Sie dabei auf folgende Fehlermeldung stoßen

/usr/share/cracklib/pw_dict.pwd.gz: No such file or directory

ist das folgende Paket via dnf zu installieren

dnf install -y cracklib-dicts

und der Befehl passwd <Benutzername> zu wiederholen

(3) SSH-Konfiguration anpassen

Jetzt öffnen Sie die Konfiguration mit dem Texteditor Ihrer Wahl. Vorinstalliert ist i.d.R. der Editor VI.

vi /etc/ssh/sshd_config

Suchen Sie nach dem Eintrag PermitRootLogin und ändern Sie diesen wie folgt ab

PermitRootLogin no

Datei speichern

(4) SSH-Dienst neu starten

 systemctl restart sshd

(5) SSH-Einwahl mit dem neuen Benutzer und zu root wechseln

ssh <Benutzername>@<IP Adresse oder DNS-Name>

su