fail2ban unterscheidet zwischen Ergebnissen für dieselbe IP

fail2ban unterscheidet zwischen Ergebnissen für dieselbe IP

Ich muss fail2ban implementieren, um einen Server zu sichern. Ich möchte die Protokolle scannen und Hosts sperren, die viele 404-Meldungen generieren.

Mein Problem ist, dass sich hinter einer bestimmten NAT-IP mehrere Clients befinden können und ich diese unterscheiden muss. Jeder Client fordert eine andere URL im folgenden Format an:

https://server.example.com/path/<uniqueid>/<mac_address>

Ich möchte fail2ban so ausführen, dass es die eindeutige ID im regulären Ausdruck berücksichtigt, anstatt nur die Anzahl der 404-Fehler pro IP zu betrachten.

Ich habe den folgenden regulären Ausdruck entwickelt, der die benötigten Ereignisse abzufangen scheint:

(?P<host>(\d{1,3}.){4})\ -\ -\ \[\d{1,2}\/\w+\/\d{4}[\:\d{2}]+\ \+\d{4}\] "GET \/path\/(?P<unique_id>.+)\/.+HTTP\/\d.\d" ".+" ".+" 404.+

Dies sollte übereinstimmen mit:

1.1.1.11 - - [29/Aug/2018:01:27:45 +0100] "GET /path/3B44444444483/ddddee37D4.cfg HTTP/1.1" "somestring" "otherstring" 404 - 2005 5 0.117

Und dies sollte übereinstimmen, aber als eine andere Instanz als das Obige betrachtet werden:

1.1.1.11 - - [29/Aug/2018:01:27:45 +0100] "GET /path/3B46666444483/ddddee37D4.cfg HTTP/1.1" "somestring" "otherstring" 404 - 2005 5 0.117

Antwort1

Mit dieser Konfiguration verbraucht Ihr Server mehr CPU-Leistung bei der Suche nach 404-Antworten in Protokollen als es einen Sicherheits- oder CPU-Vorteil bringt, wenn für X IP keine 404-Antworten bereitgestellt werden.

Wenn Sie diese Antworten nicht sehen möchten, erstellen Sie keine Protokolleinträge dafür.

verwandte Informationen