Wie kann ich all diese Brute-Force-Angriffe bekämpfen?

Wie kann ich all diese Brute-Force-Angriffe bekämpfen?

Ich habe 3 dedizierte Server, die alle unter CentOS laufen und sich physisch in Kanada befinden.

Auf dem neuesten Server hat cPHulk angefangen, fehlgeschlagene Anmeldeversuche zu erkennen (und auf die schwarze Liste zu setzen). Das begann an dem Tag, an dem der Server online ging. Seitdem bekomme ich täglich 15 bis 30 E-Mails von cPHulk, die mich darüber informieren, dass es eine „große Anzahl fehlgeschlagener Anmeldeversuche“ gegeben hat.

Mir fiel auf, dass alle Angriffsversuche aus China kamen, also installierte ich csf und blockierte China vollständig. Ein paar Tage später waren die Angriffe wieder da, allerdings aus anderen Ländern. Bisher habe ich aus Verzweiflung vier Länder blockiert, aber ich weiß, dass das keine legitime Lösung ist. Jetzt kommen sie aus Ländern, die ich mir nicht leisten kann zu blockieren, weil ich legitimen Datenverkehr aus diesen Ländern erwarten kann.

Ich werde auch von IPs angegriffen, die scheinbar keinem Land zugeordnet sind, wie in diesem Screenshot:

http://i.imgur.com/LN6qmfK.png

Ich mache mir keine Sorgen, dass sie das Passwort erraten können, da das von mir verwendete Passwort sehr stark ist.

Meine Fragen sind also:warum haben sie es auf meinen Server abgesehen und wie haben sie ihn so schnell gefunden? Wie kann ich diese Anmeldeversuche abschwächen, ohne ganze Länder zu blockieren? Und woher stammt die IP im Screenshot?Ich kann nur vermuten, dass mir irgendwie eine IP mit einem furchtbaren Ruf zugewiesen wurde, aber meine Erfahrung und mein Wissen als Serveradministrator sind eher begrenzt, sodass ich nicht einmal weiß, wie plausibel das ist.

Antwort1

Wie Michael Hampton sagte: „Sie [TM] machen das bei jedem. Ihre Skripte haben eine IP-Adresse entdeckt, die auf einem Port lauscht, und sie werfen Benutzernamen und Passwörter darauf, um zu sehen, ob etwas hängen bleibt.“ Dasist eine Karte mit aktuellen Angriffen.

Wenn Sie die E-Mails stören, können Sie stattdessen zulässige Login-IPs auf eine Whitelist setzen und sich per E-Mail benachrichtigen lassen, wenn sich jemand von einer Site anmeldet, die nicht auf der Whitelist steht.

Was die IP im Screenshot betrifft,0.42.0.0:

Die Adresse 0.0.0.0 darf nur als Adresse eines ausgehenden Pakets verwendet werden, wenn ein Computer lernt, welche IP-Adresse er verwenden soll. Sie wird nie als Zieladresse verwendet. Adressen, die mit „0.“ beginnen, werden manchmal für Broadcasts an direkt angeschlossene Geräte verwendet.

Wenn Sie in Protokollen Adressen sehen, die mit einer „0.“ beginnen, werden diese wahrscheinlich in Ihrem Netzwerk verwendet. Dieses kann so klein sein wie ein Computer, der an ein Heim-Gateway angeschlossen ist.

Dieser Block wurde von der IETF, der Organisation, die Internetprotokolle entwickelt, im Standarddokument RFC 1122 zugewiesen und ist im Best Current Practice-Dokument RFC 6890 weiter dokumentiert. IANA ist als Registrant aufgeführt, um deutlich zu machen, dass dieses Netzwerk keiner einzelnen Organisation zugewiesen ist.

Diese Dokumente finden Sie unter: http://datatracker.ietf.org/doc/rfc1122 http://datatracker.ietf.org/doc/rfc6890

Antwort2

Ich bin überrascht, dass niemand das erwähnt hat, aber eine drastische Möglichkeit, sich vor diesen sehr verbreiteten Brute-Force-Angriffen zu schützen, besteht darin, einen Port-Knocking-Daemon einzurichten, wieknockd. Wenn der Angreifer Ihren Computer also nicht mit einer bestimmten Portfolge in der richtigen Reihenfolge scannt, wird er nicht einmal einen offenen SSH-Port finden. Für legitime Benutzer wird dies von vielen SSH-Clients unterstützt und sie können die richtige Portfolge auslösen, bevor sie eine Verbindung zum SSH-Server herstellen.

Aber offensichtlich ist eine nicht triviale Authentifizierung mit einem laufenden Fail2Ban-Jail und entsprechenden Find- und Ban-Zeiten in fast allen Fällen ausreichend.

Antwort3

Wenn es nur darum geht sshd- schauen Sie zB hierhttps://unix.stackexchange.com/questions/21639/internet-ssh-server-security-considerations.

Ich muss mich darauf verlassen, Benutzernamen und Passwort zu verwenden, keine Schlüssel. Um sicherer zu sein, starte ich es sshdan einem nicht standardmäßigen Port, der etwa > 99 % der Angriffe zu verhindern scheint. Stellen Sie dann LoginGraceTimein Ihren SSHD-Konfigurationen Folgendes ein: 10 Das bedeutet, dass nach 3 fehlgeschlagenen Versuchen der nächste Versuch erst nach 10 Sekunden erfolgen kann, was jedem Authentifizierungsversuch 10 Sekunden Zeit gibt, bevor die Verbindung geschlossen wird. Brute Force ist also nicht mehrDaskraftvoll :) . Stellen Sie außerdem sicher, dass Sie einstellen PermitRootLogin no.

verwandte Informationen