freeSSHd Security: Work in Progress

Auf meinem Heimserver laufen freeSSHd und freeFTPd - eigentlich ohne Problem. Wenn da nicht die Angriffe von außen wären! Allein in den letzten 1,5 Monaten wurde eine Million mal versucht, in meinen SSH-Server einzubrechen... nochmal knapp 500.000 Einbruchsversuche gingen auf das Konto des FTP-Servers. Bisher war das noch kein Problem, aber ich würde doch gerne Gegenmaßnahmen ergreifen.

Glücklicherweise bieten beide Server eine Möglichkeit, IP-Adressen zu blocken. Zudem wird in den Log-Dateien der Server protokolliert, wenn ein Benutzer versucht hat, sich mit falschen Daten (Benutzername oder Passwort) einzuloggen.

freeSSHd Oberfläche

Auf dem Screenshot kann man erkennen, wo was eingestellt sein muss, damit die IPs in dem großen Feld ausgesperrt werden. Sowohl die Einstellung "Refuse these IP addresses" als auch die eigentliche Liste können über die *.ini-Datei des Servers verwaltet werden. Im Bereich "Access filtering" der *.ini-Datei gibt es den Wert "HostRestrictions" in dem die Liste der geblockten IPs stehen. Wenn der "HostRestrictionsAllow" auf null ("0") gesetzt ist, ist allen IPs der Zugriff auf den Server verboten.
Zum erneuten Einlesen der Daten ist lediglich ein Neustart des Servers erforderlich. Den Neustart kann man am einfachsten realisieren, wenn der Server als Windows-Dienst installiert worden ist, denn dann kann man ihn über die Diensteverwaltung problemlos stoppen und wieder starten.

Leider gibt es trotzdem ein riesiges Problem:

freeSSHd *.ini-Datei

In beiden Screenshots habe ich den letzten Eintrag in der Liste der geblockten IPs markiert. Wie man sieht, stehen in der *.ini-Datei mehr Einträge, als in der Oberfläche angezeigt werden. Wie es scheint, kann der Server nur maximal 2kb an Daten verarbeiten - der Rest wird einfach ignoriert!
Wegen dieser Unzulänglichkeit habe ich vor Ostern den Entwickler der beiden Server angeschrieben. Bisher habe ich jedoch leider keine Antwort erhalten. Sollte das Problem auch zukünftig bestehen, werde ich wohl oder übel einen eigenen kleinen Proxy schreiben müssen, der an eine IP-Filtertabelle angeschlossen ist.

Trotz des Problems wollte ich euch an dieser Stelle schon einmal die bisherige Lösung zur Verfügung stellen. Sie ist noch in einem ganz frühen Alphastadium, deshalb sollte man sie nur dann einsetzen, wenn man auch wirklich weiß, was man tut!
Der freeSSHd-Server muss für die Verwendung als Service installiert sein. Alle Informationen über den Server holt sich das Programm direkt aus der Diensteverwaltung, der Log- und der *.ini-Datei. Das Programm ist auch als kleine Sicherung gedacht. Wenn der freeSSHd-Server also einmal unverhofft abstürzen sollte, wird er nun automatisch neu gestartet! 😀

Ihr könnt sowohl die kompilierte Binärversion als auch den Quelltext der Anwendung herunterladen 🙂 . Geschrieben wurde das Programm mal wieder in Delphi.

Zum Schluss noch etwas Rechtliches:
Der Autor dieses Programms haftet nicht für Schäden an Soft- oder Hardware oder Vermögensschäden, die durch das Benutzen des Programms entstehen, es sei denn, diese beruhen auf einem grob fahrlässigen oder vorsätzlichen Handeln des Autors, seiner Erfüllungsgehilfen oder seiner gesetzlichen Vertreter.
Absichernde Grüße, Kenny

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.