Lohnt es sich, fehlgeschlagene Anmeldeversuche zu blockieren?

14

Lohnt es sich, fail2ban , sshdfilter oder ähnliche Tools auszuführen , die IP-Adressen auf die schwarze Liste setzen, die sich anmelden und die sich nicht anmelden können?

Ich habe gesehen, wie argumentiert wurde, dass dies ein Sicherheitstheater auf einem "richtig gesicherten" Server ist. Ich bin jedoch der Meinung, dass es wahrscheinlich dazu führt, dass Skriptkinder auf den nächsten Server in ihrer Liste wechseln.

Angenommen, mein Server ist "ordnungsgemäß gesichert", und ich befürchte nicht, dass ein Brute-Force-Angriff tatsächlich erfolgreich sein wird. Halten diese Tools einfach meine Protokolldateien sauber, oder erhalte ich einen lohnenden Vorteil beim Blockieren von Brute-Force-Angriffsversuchen?

Update : Viele Kommentare zum Rätselraten von Passwörtern - Ich habe erwähnt, dass ich mir darüber keine Sorgen mache. Vielleicht hätte ich genauer nachfragen sollen, ob fail2ban Vorteile für einen Server hätte, der nur schlüsselbasierte SSH-Anmeldungen zulässt.

dunxd
quelle
2
Diese Antwort ist kein richtiges Argument und behauptet auch nicht, dass Fail2Ban ein Sicherheitstheater ist. Fail2Ban ist eine Schicht, es ist weder ein Allheilmittel, noch notwendig. Jeder Anmeldemechanismus sollte über eine Methode zur Geschwindigkeitsbegrenzung verfügen, um Brute-Force-Angriffe und ähnliche Angriffe zu verhindern (es gibt nur keine Entschuldigung dafür, dass ein mit dem Internet verbundener Server mit dem heutigen Sicherheits-Know-how brachialisiert wird). Sie haben die Wahl, wie Sie diese Ratenbegrenzung erhalten möchten.
Chris S

Antworten:

18

Die Beschränkung der Anmeldungsrate ist ein einfacher Weg, um einige der Hochgeschwindigkeitsangriffe auf das Erraten von Passwörtern zu verhindern. Es ist jedoch schwierig, verteilte Angriffe einzuschränken, und viele laufen über Wochen oder Monate mit geringer Geschwindigkeit. Ich persönlich bevorzuge es, automatisierte Antworttools wie fail2ban zu vermeiden. Und das aus zwei Gründen:

  1. Legitime Benutzer vergessen manchmal ihre Passwörter. Ich möchte keine legitimen Benutzer von meinem Server verbannen und dazu zwingen, ihre Konten erneut manuell zu aktivieren (oder, schlimmer noch, herauszufinden, welche der 100/1000 gesperrten IP-Adressen ihnen gehört).
  2. Eine IP-Adresse ist kein guter Bezeichner für einen Benutzer. Wenn Sie mehrere Benutzer hinter einer einzelnen IP-Adresse haben (z. B. eine Schule, in der NAT auf 500 Schülercomputern ausgeführt wird), kann ein einzelner Benutzer, der ein paar falsche Vermutungen anstellt, Sie in eine Welt voller Schmerzen versetzen. Gleichzeitig werden die meisten Versuche zum Erraten von Passwörtern, die ich sehe, verteilt.

Aus diesem Grund halte ich fail2ban (und ähnliche automatisierte Antworttools) nicht für einen sehr guten Ansatz, um einen Server vor Brute-Force-Angriffen zu schützen. Eine einfache IPTables-Regel, mit der sich das Spam-Protokoll (das ich auf den meisten Linux-Servern habe) reduzieren lässt, sieht folgendermaßen aus:

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

Es werden mehr als 4 Verbindungsversuche von einer einzelnen IP zu SSH in einem Zeitraum von 60 Sekunden verhindert. Der Rest kann erledigt werden, indem sichergestellt wird, dass die Passwörter relativ sicher sind. Auf Hochsicherheitsservern ist das Erzwingen der Authentifizierung mit öffentlichen Schlüsseln eine weitere Möglichkeit, das Erraten zu beenden.

pehrs
quelle
1
+1 für den Vorschlag eines anderen Mechanismus.
dunxd
7

Tools wie fail2ban helfen dabei, unnötigen Netzwerkverkehr zu reduzieren und die Protokolldateien ein bisschen kleiner und sauberer zu halten. Es ist keine große Sicherheitsmaßnahme, aber es erleichtert dem Systemadministrator das Leben ein bisschen. Aus diesem Grund empfehle ich die Verwendung von fail2ban auf Systemen, auf denen Sie es sich leisten können.

pitr
quelle
4

Es geht nicht nur darum, das Rauschen zu reduzieren - die meisten ssh-Angriffe versuchen, Passwörter brutal zu erraten. Während Sie also viele fehlgeschlagene SSH-Versuche sehen werden, erhalten sie möglicherweise bis zum 2034. Versuch einen gültigen Benutzernamen / ein gültiges Kennwort.

Das Schöne an fail2ban im Vergleich zu anderen Ansätzen ist, dass es nur minimale Auswirkungen auf gültige Verbindungsversuche hat.

symcbean
quelle
1

Nun, es schützt Ihr Netzwerk ein wenig vor Ablehnungsangriffen und spart den Aufwand für die Verarbeitung der Fehler.

Es ist immer eine gute Sache, nicht der schwächste Server auf einer Skript-Kinderliste zu sein.

Sirex
quelle
0

Entschuldigung, aber ich würde sagen, dass Ihr Server richtig gesichert ist, wenn Ihr sshd Versuche ablehnt, sich mit Passwörtern zu authentifizieren.

PasswordAuthentication no
Brownian
quelle
1
-1, Das erste Deaktivieren der Kennwortauthentifizierung ist nicht immer eine Option. Zweitens kann Fail2Ban viel mehr als nur SSHd abdecken. Ich benutze es für SMTP / IMAP, DNS, HTTP Login und einige andere Dienste. Es ist kein Allheilmittel, und es ist sicherlich nicht notwendig, aber es ist sehr nützlich.
Chris S
:-) Ich habe nicht "wenn und nur wenn" gesagt. Ja, fail2ban ist in der Tat sehr nützlich. Aber es kann nicht vor schultergestohlenen Passwörtern oder dergleichen schützen. Und in der Tat ja! - Das Deaktivieren von pw auth ist sicherlich nicht immer eine Option. Aber ich würde vorschlagen, einen Weg zu finden, um es zu einer Option zu machen.
Brownian