Fail2ban failregex - brauche hilfe

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

Fail2ban failregex - brauche hilfe

Beitrag von Huck Fin » 16.03.2020 18:49:27

Hi,
ich hatte vor längerer Zeit mal fail2ban so eingerichtet, dass ein Client, der per samba ein .locky file ablegt gesperrt wird.
So wie hier beschrieben. https://www.heise.de/security/artikel/E ... 20956.html
Das hatte ich dann für etliche weitere Einträge erweitert.
Das ganze funktioniert so nicht mehr.
Ich habe das Loglevel mal hochgeschraubt und in den Samba logs finde ich dann folgende Einträge.

Code: Alles auswählen

  smbd_do_setfilepathinfo: test.locky (fnum 2979985246) info_level=1004 totdata=40
  uwe closed file test.locky (numopen=1) NT_STATUS_OK
meine alte failregex greift aber nicht mehr

Code: Alles auswählen

failregex = smbd.*\:\ IP=<HOST>\|.*\.locky$
Ich habe vieles probiert ... stundenlang... aber ich bekomme die failregex nicht angepasst.
z.B.

Code: Alles auswählen

smb*\:\ IP=<HOST>\|.*\.locky$
Jemand eine Idee ?

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Fail2ban failregex - brauche hilfe

Beitrag von Meillo » 18.03.2020 10:47:54

Da bisher keine Antworten gekommen sind, steige ich hier mal ein.

Ich keine die fail2ban-Konfiguration nicht, darum faellt es mir schwer zu haelfen. Die Regexp alleine zu sehen, bietet nicht genug Information, um beitragen zu koennen. Ich muesste schon auch wissen, auf *was* gematcht werden soll.

Es bedarf dreier Dinge:

1) Der Text, der matchen soll
2) Die Regexp
3) Die Information, welche Art von Regexps genutzt werden

Bei (3) tippe ich auf EREs (wie bei egrep oder vielleicht auch PCREs, falls fail2ban in Perl o.ae. geschrieben ist ... wobei mich das escapte Pipe-Symbol irritiert. Soll das eine Alternation sein oder wird da ein Pipe-Symbol gematcht? Darum braucht man (1)).

Wenn wir hier diese Teilinformationen zusammentragen und z.B. funktionierende Beispiele haben, die man als Vorlage nutzen kann, dann kommen wir gemeinsam wohl weiter.
Use ed once in a while!

Benutzeravatar
whisper
Beiträge: 3193
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Fail2ban failregex - brauche hilfe

Beitrag von whisper » 18.03.2020 11:02:18

Vielleicht magst du mal hier schauen.
http://zockertown.de/s9y/index.php?/arc ... ebung.html
9 Jahre alt, das hatte ich mal ausbaldovert, weil ich die Verwendung vom consolentool fail2ban-regex nicht so einfach durchschaut hatte.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Fail2ban failregex - brauche hilfe

Beitrag von Meillo » 18.03.2020 11:39:16

Danke fuer den Hinweis. Dieses Kommandozeilen-Testprogramm ist sicher hilfreich.

Soweit ich auf deiner Seite sehe, handelt es sich um PCREs. (Das Erkenne ich an den Lookaheads ``(?'', die es in POSIX-REs nicht gibt.)

Falls mit der Pipe also eine Alternation (Auswahl; entweder oder) gemeint ist, dann muessen die unescapet stehen. So wie es hier derzeit steht, matcht das auf ein literales Pipe-Symbol.

... oh! Da sehe ich gerade, dass du ja bereits im Eingangspost geschrieben hast, auf was die RE matchen soll. Tut mir leid, da war ich wohl blind. :roll:

So koennte es beispielsweise passen:

Code: Alles auswählen

failregex = smbd.*\:\ (IP=<HOST>|.*\.locky)
(Backslash vor dem Pipe-Symbol entfernt; alternativen Teil geklammert; Zeilenendeanker entfernt.)

Es ist nur so, dass REs nicht nur in den richtigen Faellen matchen muessen, sondern in den anderen Faellen auch nicht matchen duerfen. Die RE, wie sie jetzt da steht ist recht allgemein. Die trifft vermutlich auch zusaetzliche Faelle. Man sollte die ggf. noch genauer formulieren, z.B. ``[^[:space:]]+'' statt ``.*'' und so.

Ich helfe gerne weiter mit, brauche nur den noetigen Input und Feedback.
Use ed once in a while!

Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

Re: Fail2ban failregex - brauche hilfe

Beitrag von Huck Fin » 18.03.2020 12:15:59

Nein, funktioniert leider nicht.
Ich kann gerne mal Beispiele posten.

Meine Nextcloud.conf

Code: Alles auswählen

[Definition]
failregex=^{"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)","level":2,"time":".*"}$
          ^{"reqId":".*","level":2,"time":".*","remoteAddr":".*","user,:".*","app":"no app in context".*","method":".*","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)".*}$
          ^{"reqId":".*","level":2,"time":".*","remoteAddr":".*","user":".*","app":".*","method":".*","url":".*","message":"Login failed: .* \(Remote IP: <HOST>\).*}$
Meine Horde.conf

Code: Alles auswählen

[Definition]
failregex =  .*HORDE:.*FAILED.*LOGIN.* \(<HOST>\)
wenn ich in meine log schaue bezüglich Samba + locky steht da als Ereignis:

Code: Alles auswählen

 smbd_dirptr_get_entry mask=[*] found test.locky fname=test.locky (test.locky)
  smbd_dirptr_get_entry mask=[*] found test.locky fname=test.locky (test.locky)
  uwe opened file CloudNext/08-Tech_Doc/test.locky read=Yes write=Yes (numopen=5)
  smbd_do_setfilepathinfo: CloudNext/08-Tech_Doc/test.locky (fnum 1079324629) info_level=1020 totdata=8
  smb2: fnum 1079324629, file CloudNext/08-Tech_Doc/test.locky, length=3 offset=0 wrote=3
  smbd_do_setfilepathinfo: CloudNext/08-Tech_Doc/test.locky (fnum 1079324629) info_level=1004 totdata=40
  uwe closed file CloudNext/08-Tech_Doc/test.locky (numopen=4) NT_STATUS_OK
  smbd_dirptr_get_entry mask=[*] found CloudNext/08-Tech_Doc/test.locky fname=test.locky (test.locky)
was ich aktuell versuche anhand dem Horde Beispiel, welches gut funktioniert ist:

Code: Alles auswählen

failregex = .*smb.*found.*.locky \(<HOST>\)
geht aber auch nicht.

die Texte die ich suche sind
smbd + found oder closed + *.locky
oder wird mit Pipe getrennt, hat aber keine Priorität. Das mache ich später

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Fail2ban failregex - brauche hilfe

Beitrag von Meillo » 20.03.2020 09:35:20

Huck Fin hat geschrieben: ↑ zum Beitrag ↑
18.03.2020 12:15:59
wenn ich in meine log schaue bezüglich Samba + locky steht da als Ereignis:

Code: Alles auswählen

 smbd_dirptr_get_entry mask=[*] found test.locky fname=test.locky (test.locky)
  smbd_dirptr_get_entry mask=[*] found test.locky fname=test.locky (test.locky)
  uwe opened file CloudNext/08-Tech_Doc/test.locky read=Yes write=Yes (numopen=5)
  smbd_do_setfilepathinfo: CloudNext/08-Tech_Doc/test.locky (fnum 1079324629) info_level=1020 totdata=8
  smb2: fnum 1079324629, file CloudNext/08-Tech_Doc/test.locky, length=3 offset=0 wrote=3
  smbd_do_setfilepathinfo: CloudNext/08-Tech_Doc/test.locky (fnum 1079324629) info_level=1004 totdata=40
  uwe closed file CloudNext/08-Tech_Doc/test.locky (numopen=4) NT_STATUS_OK
  smbd_dirptr_get_entry mask=[*] found CloudNext/08-Tech_Doc/test.locky fname=test.locky (test.locky)
die Texte die ich suche sind
smbd + found oder closed + *.locky
Geht denn dieses Minimalbeispiel um den ersten Fall zu erkennen?:

Code: Alles auswählen

failregex = smb.*found
Zumindest das sollte funktionieren. Falls nicht, dann steckt das Problem jedenfalls nicht in der RE, sondern woanders.

Falls das aber geht, dann teste auch diesen Versuch:

Code: Alles auswählen

failregex = ^smb.*found|.*closed.*\.locky
Use ed once in a while!

Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

Re: Fail2ban failregex - brauche hilfe

Beitrag von Huck Fin » 20.03.2020 09:56:00

Geht so nicht.
Ich vermute auch den Fehler wo anders.
Ich bekomme schon in Samba den full-audit nicht zum laufen.

Deshalb teste ich gegen eine Datei im Samba Log Ordner

Code: Alles auswählen

Status for the jail: samba
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- File list:        /var/log/samba/log.uwe-fujitsu
`- Actions
   |- Currently banned: 0
   |- Total banned:     0
   `- Banned IP list:
in der Log finde ich die zeile mit Grep
cat /var/log/samba/log.uwe-fujitsu |grep locky

Code: Alles auswählen

 uwe closed file test.locky (numopen=1) NT_STATUS_OK
  smbd_dirptr_get_entry mask=[*] found test.locky fname=test.locky (test.locky)
  uwe opened file test.locky read=Yes write=No (numopen=2)
  smbd_smb2_read: fnum 2058224682, file test.locky, length=3 offset=0 read=3
  smbd_smb2_read: fnum 2058224682, file test.locky, length=3 offset=0 read=3
  uwe opened file test.locky read=Yes write=No (numopen=3)
  uwe opened file test.locky read=No write=No (numopen=4)
  uwe closed file test.locky (numopen=3) NT_STATUS_OK
  uwe closed file test.locky (numopen=2) NT_STATUS_OK
  uwe closed file test.locky (numopen=1) NT_STATUS_OK
  uwe opened file test.locky read=Yes write=Yes (numopen=2)
  smbd_do_setfilepathinfo: test.locky (fnum 126762525) info_level=1020 totdata=8
  smb2: fnum 126762525, file test.locky, length=3 offset=0 wrote=3
  smbd_do_setfilepathinfo: test.locky (fnum 126762525) info_level=1004 totdata=40
  uwe closed file test.locky (numopen=1) NT_STATUS_OK
  smbd_dirptr_get_entry mask=[*] found test.locky fname=test.locky (tes
meine jail.d/samba.conf

Code: Alles auswählen

[samba]
#backend = auto
enabled = true
port = 135,139,445,137,138
protocol = tcp
filter = samba
maxretry = 3
# 1200 = 20 min
bantime = 3600
findtime = 600
#logpath = /var/log/samba/*
logpath  = /var/log/samba/log.uwe-fujitsu
meine filter.d/samba.conf

Code: Alles auswählen

[Definition]
failregex = smb.*found
ignoreregex =

Benutzeravatar
whisper
Beiträge: 3193
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Fail2ban failregex - brauche hilfe

Beitrag von whisper » 20.03.2020 10:19:54

Ich kann mich momentan hier nicht tief einbringen, aber was mir auffällt, in deinem Log sind keine Hosts oder IP-Adressen, wenn also die REGEX mal klappen sollte, ist dir doch nicht geholfen, weil fail2ban keine IP findet um etwas zu sperren....

Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

Re: Fail2ban failregex - brauche hilfe

Beitrag von Huck Fin » 20.03.2020 10:24:36

Jetzt wo du es sagst... 8O
Ich muss wohl erst mal Samba Audit zum laufen bringen...

Antworten