Hi!
Deshalb will ich meine Frage anders formulieren: Wie sieht ein halbwegs sicherer FTP-Server aus?
Also abgesehen davon, daß das FTP-Protokoll schon verdammt alt ist und nicht mehr als sicher angesehen werden kann, gibt es da schon einiges, was du machen kannst.
Wenn du wirklich was Sicheres suchst, dann solltest du auf FTP verzichten und etwas anderes wählen.
Vielleicht SCP oder vielleicht mit "Secure FTP" arbeiten (nicht zu verwechseln mit SFTP).
Da wird mit einer starken Verschlüsselung gearbeitet, was bei FTP nicht der Fall ist.
Dort werden alle Daten (und Passwörter) unverschlüsselt über das Netz geschickt.
Naja, bei deinen "Angriffen" handelt es sich scheinbar um Brute-Force-Angriffe.
Das heißt, daß jemand durch wildes (oder systematisches) Ausprobieren versucht, Username und Passwort zu erraten.
Dagegen kannst du dich ein wenig absichern, sofern du Zugriff auf die Konfiguration des FTP-Servers hast.
Du kannst es dem Angreifer erschweren, indem beispielsweise nur drei Loginversuche hintereinander möglich sind.
Danach wird die Verbindung dann automatisch getrennt.
Erneuter Verbindungsaufbau zum Server dauert dann natürlich ein wenig.
So ist es dann nicht möglich, in allzu kurzer Zeit viele Rateversuche zu starten.
Außerdem kannst du den Server so konfigurieren, daß z.B. nach drei fehlgeschlagenen Logins von ein und derselben IP-Adresse, diese für einige Zeit gesperrt wird (z.B. eine halbe Stunde).
Damit der Angreifer eine neue IP-Adresse bekommt, müßte er dann seine Internetverbindung trennen und diese erneut herstellen, damit ihm sein Provider eine neue IP zuweist (sofern er keine statische IP hat).
Es gäbe natürlich auch noch die Möglichkeit mit Proxies zu arbeiten oder eine IP-Adresse zu spoofen, aber das wollen wir hier mal außen vor lassen...
Bei solchen Angriffen handelt es sich mit um Script-Kiddies, die einfach ein wenig "spielen" wollen.
Wenn du es ihnen zu schwer machst, werden sie sicherlich schnell aufgeben...
Im Prinzip bringt Brute-Force immer 100%igen Erfolg. Es kommt halt nur auf den Zeitfaktor an...
Wenn es nicht möglich ist, per Script zigtausend Rateversuche hintereinander abzugeben, sondern vielleicht nur 3 pro Minute, dann senkst du damit die Möglichkeit, die Daten zu erraten beträchtlich.
Ich hatte früher auch oft solche Angriffsversuche.
Meist von Deppen, die nach FTPs gescannt haben, um dann Warez rauf zu laden.
Mit Hilfe eine zeitlichen IP-Sperre war das Thema eigentlich immer recht schnell gegessen.
Naja und dann kannst du natürlich noch zusehen, daß Anonymous-Login nicht erlaubt ist. (Anonymous-User sollten außerdem niemals über Schreib- oder gar Löschrechte verfügen!)
Dann solltest du Passwörter vergeben, die nicht leicht zu erraten sind.
Ein Passwort wie "123" oder "Passwort" bietet keinen Schutz.
Auch solltest du auf Paßwörter verzichten, die man in einem Wörterbuch finden.
Ein "Dictionary-Attack" ist sozusagen ein systematischer Brute-Force-Angriff.
Hier wird kein wildes Raten eingesetzt, sondern das Angriffsprogramm wird mit einem Wörterbuch gefüttert.
Diese Wortlisten werden dann durchprobiert (mit Variationen, z.B. in Groß- und Kleinschreibung).
Du solltest also dafür sorgen, daß User ihre Passwörter nicht selbst wählen dürfen.
Vergib die Passwörter selber. Setze keine Passwörter mit weniger als sechs Zeichen ein.
Nutze Kombinationen aus Buchstaben und Zahlen, möglichst noch mit Sonderzeichen.
Setze Passwörter mit begrenzter Haltbarkeit ein bzw. zwinge den User das Passwort nach einer bestimmten Zeit zu wechseln.
Es gibt Programme wie "John the Ripper" oder "Crack", womit du die Sicherheit von Passwörtern überprüfen kannst.
Auch im Internet findest du Websites, die diesen Service (online) bieten.
Was noch?
In jedem Fall solltest du die Rechte vernünftig setzen und den Usern nicht mehr zugestehen als unbedingt notwendig.
Bietest du nur Files zum Download, die sich auch nicht ändern, könntest du diese sogar noch auf einer Partition ablegen, die nur readonly gemountet wird.
Und in jedem Fall solltest du dir überlegen, ob es nicht möglich ist, auf FTP komplett zu verzichten und SecureFTP einzusetzen.
Schöner Gruß,
rob