DenyHosts [SSH]

Drucken
Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 
Inhaltsverzeichnis[Anzeigen]

DenyHosts ist ein in Python geschriebenes, log-basiertes Intrusion Prevention System für SSH-Server. Es wurde mit der Absicht geschrieben, Brute force-Attacken auf SSH-Server durch das Loggen und Aufspüren ungültiger Logins zu verhindern und die Quell-IP-Adressen zu blockieren.

Denyhosts ist eine einfache, aber effektive Möglichkeit um Hacker davor zu hindern einen Brute Force Attacke zu starten und alle möglichen Passwörter zu probieren, ist aber leider bei den Linux Distributionen nicht vorinstalliert. Nachinstallieren kann man z.B. durch Eingabe von

sudo apt-get install denyhosts

oder eine Installation mittels des Sourcecodes.

Als Service kümmert sich DenyHosts um das Management fehlgeschlagener SSH Loginversuche - probiert eine IP Adresse mehrere male eine falsche Benutzer- und Passwortkombination, dann wird sie für eine bestimmte Zeit gesperrt. Zugriff auf SSH ist von dieser IP Adresse dann einige Zeit nicht mehr möglich. Ein nettes Extra ist auch eine Email mit einer Auswertung aller gesperrten Adressen und Hosts an den Administrator, der so erkennen kann, woher die Bedrohung kommt.

Basierend auf einer Konfigurationsdatei loggt Denyhosts fehlgeschlagene Login Versuche mit. Sollte von einer IP Adresse zu oft ein falscher Login versucht werden, dann wird diese Adresse in die /etc/hosts.deny Datei eingetragen. Allen dort registrierten Adressen wird der Zugriff auf den dort angegebenen Service (in diesem Fall sshd) verweigert. Je nach Konfiguration des Service werden IP Adressen nach einiger Zeit dort auch wieder entfernt.

Konfiguration

Die Konfiguration erfolgt über eine einzelne Konfigurationsdatei - /etc/denyhosts.conf. Diese bearbeitet man am besten mit dem Texteditor:

nano /etc/denyhosts.conf

Man kann die Datei aber auch mit seinem gewohnten Texteditor (z.B. UltraEdit - nicht WordPad!) bearbeiten und dann per SSH hochladen. Dazu bietet sich WinSCP - SCP/FTP/SFTP Client an.

Die Datei ist sehr gut dokumentiert (allerdings englisch) - mit einer falschen Einstellung kann man sich selbst den Zugang zum Server entziehen. Folgende Parameter sind für von Bedeutung und sollten sorgfälltig bearbeitet werden:

Nach dem Speichern der Datei werden die Änderungen erst nach einem Neustart des Services aktiv. Das erreicht man mit dem folgenden Befehl:

service denyhosts restart

Mit einem geringen Aufwand kann man also den SSH Login mit Denyhosts drastisch sicherer machen. Brute Force Angriffe werden praktisch komplett unterbunden. Probiert ein Angreifer zu oft ein falsches Login, wird er für eine längere Zeit gesperrt und erhält keinen Zugriff mehr auf den SSH Login.

Dateien:
DenyHosts v2.6Beliebt
05.05.2019
Englisch
Linux