freeSSHd Security: Work in Progress

05.04.2010 yahe

Auf meinem Heimserver laufen freeSSHd und freeFTPd eigentlich ohne Probleme - 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 Wert "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! :-D

Ihr könnt sowohl die kompilierte Binärversion als auch den Quelltext der Anwendung herunterladen.

Cheers, Yahe


Search

[2018-08-16T07:52:02+02:00] _logResourceUsage(): Current execution time: 0.019368171691895 sec [2018-08-16T07:52:02+02:00] _logResourceUsage(): Current memory usage: 1.6971282958984 MB [2018-08-16T07:52:02+02:00] _logResourceUsage(): Peak memory usage: 1.8752746582031 MB