Anmelden
x
x
x
Registrieren
x

Downloads
Suche - SP Page Builder
Suche - Kategorien
Suche - Kontakte
Suche - Inhalt
Suche - Newsfeeds
Suche - Schlagwörter

DenyHosts [SSH]

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:

  • PURGE_DENY
    legt fest, nach welcher Zeit eine gesperrte IP Adresse wieder einen Login Versuch unternehmen darf. Standardmäßig ist hier kein Wert festgelegt, weshalb eine gesperrte IP Adresse nie wieder Zugriff bekommt. Es ist ratsam, einen Wert von beispielsweise 1w (für eine Woche) festzulegen. Sollte man sich aussperren kann man dann in 7 Tagen wieder den Login probieren. Nach Ablauf der Zeit wird die gesperrte IP Adresse wieder aus der /etc/hosts.deny Datei entfernt.
  • DENY_THRESHOLD_INVALID
    legt fest, wie oft man mit einem im System nicht vorhandenen Benutzer ein Login versuchen darf (Ausnahme root). Das ist der wichtigste Wert, denn im Normalfall kennt ein Angreifer den Benutzernamen nicht (ausser root) und wird alle möglichen Kombinationen probieren. Ein Wert von 3-5 ist sinnvoll.
  • DENY_THRESHOLD_VALID
    legt fest, wie oft man bei einem im System vorhandenen Benutzer das falsche Passwort eingeben darf. Der Wert ist meist höher eingestellt, da man sich bei Passwörtern gerne vertippen kann. Ist dann noch die Umschalttaste festgestellt, kann man schnell 5 oder mehr Versuche machen bevor man das merkt. Ein Wert von 5-10 macht Sinn.
  • DENY_THRESHOLD_ROOT
    legt fest, wie oft man beim Benutzer root das falsche Passwort probieren darf. Es ist Ratsam den Wert recht niedrig zu setzen. Da ohnehin der root Login deaktiviert sein sollte, ist 1 eine sinnvolle Einstellung.
  • ADMIN_EMAIL
    wer einen Bericht erhalten möchte, kann noch die eigene Email Adresse angeben.

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:
05.05.2019
Englisch
Linux

 

Wir bemühen uns, ihnen alle Informationen zu bieten, sichere und angenehme Zeiten im Internet zu verbringen. Dazu gehören neben grundsätzlichen Tipps vor allem Hinweise zum richtigen Umgang mit diesem für viele neuen Medium.

KURZ URL

Oft ist eine URL lang und nur sehr schwer zu merken (z.B. Downloads). Mit dem Short URL Service erstellt man schnell eine einprägsame und aussagekräftige URL mit vielen Extras!

HAL9k btnFly2 ShortURL

HTACCESS GENERATOR

Eine korrekte .htaccess von Hand zu erstellen ist recht mühsam und zeitaufwendig. Mit dem .htaccess Generator lässt sich diese Aufgabe schnell und zuverlässig online erledigen!

HAL9k btn.htaccess Generator