Frage Cygwin SSHd Autoblock fehlgeschlagene Anmeldungen


Ich führe Cygwin mit einem SSH-Deamon auf einem Windows Server 2008-Rechner. Ich schaute auf die Ereignisanzeige und bemerkte so viel wie 5 bis 6 fehlgeschlagene Login-Versuche pro Sekunde (Brute-Force) für die letzte Woche oder so, von verschiedenen IPs.

Wie kann ich diese IP-Adressen automatisch blockieren, anstatt sie einzeln manuell zu blockieren?

Vielen Dank, Ahmad


19
2017-07-21 05:26


Ursprung




Antworten:


Ich habe ein Programm geschrieben, um IP-Adressen zu blockieren, wie Sie es vor ein paar Jahren gefordert haben, aber ich habe es für einen Kunden als Mietarbeit getan. Da ich heute Abend etwas "freie Zeit" hatte, entschied ich mich, das Ganze von Grund auf neu zu implementieren, einige nützliche Dokumente zu schreiben und es generell zu einem vorzeigbaren Programm zu machen. Da ich von mehreren Leuten gehört habe, dass dies eine praktische Sache wäre, scheint es, als wäre es die Zeit wert. Hoffentlich können Sie und andere Mitglieder der Gemeinschaft etwas davon nutzen.


Windows sshd_block

sshd_block ist ein VBScript-Programm, das als WMI-Ereignissenke zum Empfangen von Windows-Ereignisprotokolleinträgen dient, die von sshd protokolliert werden. Es analysiert diese Protokolleinträge und bearbeitet sie wie folgt:

  • Wenn die IP-Adresse versucht, sich mit einem Benutzernamen anzumelden, der als "Sofortverbot" gekennzeichnet ist, wird die IP-Adresse sofort gesperrt.

  • Wenn die IP-Adresse versucht, sich häufiger als in einem bestimmten Zeitraum anzumelden, wird die IP-Adresse gesperrt.

Die "Sofortverbot" -Nutzernamen und -Schwellenwerte für wiederholte Anmeldeversuche sind im Abschnitt "Konfiguration" des Skripts konfigurierbar. Standardeinstellungen sind wie folgt:

  • Sofort sperren Benutzernamen - Administrator, root, Gast
  • Anmeldeversuche erlaubt - 5 in 120 Sekunden (2 Minuten)
  • Dauer des Verbots - 300 Sekunden (5 Minuten)

Einmal pro Sekunde werden alle IP-Adressen, die für die Sperrdauer gesperrt wurden, unbanned (indem die Black-Hole-Route aus der Routingtabelle entfernt wird).


Sie können die Software herunterladen Hier und kann das Archiv durchsuchen Hier.

Bearbeiten:

Ab dem 2010-01-20 habe ich den Code zur Unterstützung der Verwendung der "Erweiterten Firewall" unter Windows Vista / 2008/7/2008 R2 aktualisiert, um das Schwarzhalten des Datenverkehrs durch das Erstellen von Firewall-Regeln (was viel mehr im Einklang mit das Verhalten von "fail2ban"). Ich fügte auch einige zusätzliche übereinstimmende Zeichenketten hinzu, um OpenSSH-Versionen zu fangen, die "ungültiger Benutzer" im Gegensatz zu "ungültiger Benutzer" sind.


33
2017-07-22 05:58



Ich weiß Ihre Arbeit zu schätzen und denke, dass es eine wunderbare Idee ist, besteht jedoch die Möglichkeit, dass sie modifiziert werden könnte, um mit RDP-Versuchen zu arbeiten? Meine Windows-Server werden ständig online und durch Kontosperrung angegriffen, obwohl der semi-affektive Zugriff für diesen Benutzer wieder aufgehoben werden muss, um das Benutzerkonto für eine weitere Sperre zu öffnen.
@ Henry: Schau dir das an serverfault.com/a/335976/7200 - Evan Anderson
Dieses Skript saugt über 10 Prozent meiner CPU ab, auch wenn keine Brute-Force-Angriffe im Gange sind ... - jjxtra
@PsychoDad: Wenn Sie interessiert sind, kontaktieren Sie mich direkt und wir werden Fehler beheben. Ich habe das Verhalten, das du siehst, nicht gesehen. - Evan Anderson
Ich würde das auch gerne für RDP-Verbindungen sehen. Vielen Dank - boomhauer


Linux denyhosts macht den Trick, kann dir nicht sagen, ob es unter Windows / Cygwin funktioniert oder nicht. Versuche es.


2
2017-07-21 05:39





Dieser ist sehr interessant, wir evaluieren gerade diese Lösung:

Syspeace arbeitet eng mit Windows zusammen, um mögliche Bedrohungen bei optimaler Performance zu erkennen. Ereignisse im Ereignisprotokoll werden kontinuierlich auf verdächtiges Verhalten überwacht. Wenn ein Ereignis als Bedrohung für das System angesehen wird, geht Syspeace auf die nächste Stufe über, indem es sich mit einer internen Regelbasis vergleicht, die einfach die IP-Adresse blockiert und die Regel der Windows-Firewall hinzufügt.

Lokale Whitelist

Ein Benutzer kann der lokalen Whitelist immer IP-Adressen hinzufügen, um beispielsweise das Blockieren interner Netzwerke zu verhindern oder vorübergehend einzelne PCs hinzuzufügen. Dies sollte mit Vorsicht verwendet werden, da alle IPs in dieser Liste von Syspeace als vertrauenswürdig eingestuft werden und immer ignoriert werden.

Lokale Blacklist

Alle Bedrohungen werden automatisch von Syspeace zur lokalen Blacklist hinzugefügt. Sie können die Blacklist immer überprüfen und sie hinzufügen oder entfernen, wie Sie für richtig halten. Wir empfehlen jedoch, dass Sie keine Änderungen an dieser Liste vornehmen, da Sie versehentlich einen unbekannten Hacker finden könnten.

Globale Blacklist

Ein Hauptmerkmal von Syspeace ist die Fähigkeit, bekannte IP-Adressen mit globaler IP-Adresse präventiv zu blockieren. Wenn Sie diese Option wählen, wird Syspeace die Global Blacklist auf Ihren Client importieren und entsprechend agieren. Auf Knopfdruck werden alle IP-Adressen mit der globalen IP-Adresse in das Firewall-Regelwerk aufgenommen.

Nachrichten

Wann immer ein wichtiges Ereignis stattfindet, der Dienst gestartet oder gestoppt wird, Regeln in der Firewall platziert oder entfernt werden oder der Kommunikationsstatus zur zentralen Lizenz geändert wird und der globale Blacklist-Server geändert wird, kann Syspeace E-Mails an die entsprechenden Personen senden Ihre Organisation.

Berichte

E-Mails zu erhalten, wenn ein wichtiges Ereignis eintritt, mag gut sein, aber manchmal möchten Sie auch eine Zusammenfassung erhalten. Syspeace erstellt einen täglichen Bericht mit allen Angriffsversuchen auf Ihrem System und sendet Ihnen eine Nachricht mit den Informationen. Syspeace erstellt auf die gleiche Weise auch einen wöchentlichen Bericht.

www.syspeace.com


1
2017-12-04 20:19





Buchstäblich alle Login-Versuche aus China / USA / Indien auf meinem Server versuchen den Administrator-Login, den ich deaktiviert habe.

Wäre es nicht einfacher, die Admin-Anmeldung zu deaktivieren und dann ein Skript zu schreiben, das alle IP-Adressen blockiert, die versuchen, sich mit "Administrator" als Benutzernamen anzumelden?


1
2018-05-20 02:24





Möglicherweise müssen Sie sich mit der Windows-Firewall herumschlagen. Cygwin würde diese Art von Funktionalität nicht haben.


0
2017-07-21 05:43





Sie könnten in Betracht ziehen SSHBlock - Ein Perl-Skript zur Kontrolle von Brute-Force-Versuchen.

SSHBlock ist ein Daemon zur Überwachung eines Syslog-Protokolls für Einbruchsversuche mit SSH und zum automatischen Blockieren von fehlerhaften Hosts durch Hinzufügen von Zeilen zu /etc/hosts.allow (TCP-Wrapper). Mehrere Schwellenwerte sind vordefiniert, um zu verhindern, dass viele Versuche innerhalb eines längeren oder kürzeren Zeitraums ausgeführt werden. Verwenden Sie -h, um Befehlszeilenoptionen anzuzeigen.

Ich habe es noch nie bei Cygwin benutzt.
Aber hier ist ein Link zu einem anderen Artikel, der sshblock mit anderen Möglichkeiten beschreibt:
Verteidigung gegen Brute-Force-Angriffe


0
2017-07-21 13:41