Diego H. Cancelo
2018-10-02 01:12:36 UTC
Buenas...
Estoy renegando con fail2ban y las expresiones regulares (no son mi
fuerte), a ver si alguien me puede tirar una mano.
Estuve mirando varias paginas y los filtros ya creados en el servicio
para tomarlos como referencia pero no doy en la tecla.
Tengo varios logs como estos que genero mediante IPTABLES:
Sep 27 17:50:03 vps371545 kernel: [157374.491843] Flood detectado:
IN=eth0 OUT= MAC=00:16:3e:fb:99:f2:00:0c:db:4b:fd:00:08:00
SRC=139.99.118.123 DST=69.61.93.33 LEN=48 TOS=0x00 PREC=0x00 TTL=119
ID=15669 DF PROTO=TCP SPT=45161 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
En jail.conf tengo:
[flooddetectado]
enabled = true
port = all
filter = flooddetectado
logpath = /var/log/messages
maxretry = 10
action = iptables-allports[name=flooddetectado, port="22,25,80,443",
protocol=tcp]
y en los filtros, dentro de flooddetectado.conf :
[Definition]
failregex = ^Flood\ detectado:\ IN=*\ OUT\=\ MAC=*\ SRC=<HOST>$
ignoreregex =
Al correr el test fail2ban-regex /var/log/messages
/etc/fail2ban/filter.d/flooddetectado.conf no detecta nada:
Running tests
=============
Use failregex line : ^Flood\ detectado:\ IN=eth0\ OUT=\ MAC=*\ SRC=<HOST>$
Use log file : /var/log/messages
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [77373] MONTH Day Hour:Minute:Second
`-
Lines: 77373 lines, 0 ignored, 0 matched, 77373 missed
Missed line(s): too many to print. Use --print-all-missed to print
all 77373 lines
También probe con otros filtros:
'^%(__prefix_line)Flood\ detectado:\ IN=eth0\ OUT=\ MAC=*\ SRC=<HOST>$'
^%(__line_prefix)s(\.\d+)?( error:)?\s*Flood\ detectado:\ IN=*\ OUT=\
MAC=*\ SRC=<HOST>*$
^( .*)Flood\ detectado:\ IN=*\ OUT=\ MAC=*\ SRC=<HOST>*$
Pero nada...
Si alguien me puede tirar una mano con la expresión regular a utilizar
se agradece sobremanera!
Muchas gracias.
Saludos.
Diego.
=======================================================
"Diego H. Cancelo" diego[at]cancelo[dot]com[dot]ar
*GNU/Linux User # 491743* | Huella digital:
03CA 8BAC 823A 80A1 D2FD E74F 50AB 79D7 8F1A 0DF7
GnuPG: 2048D/8F1A0DF7 | Clave GPG: solicitar por mail
=======================================================
Usá Software Libre.
Estoy renegando con fail2ban y las expresiones regulares (no son mi
fuerte), a ver si alguien me puede tirar una mano.
Estuve mirando varias paginas y los filtros ya creados en el servicio
para tomarlos como referencia pero no doy en la tecla.
Tengo varios logs como estos que genero mediante IPTABLES:
Sep 27 17:50:03 vps371545 kernel: [157374.491843] Flood detectado:
IN=eth0 OUT= MAC=00:16:3e:fb:99:f2:00:0c:db:4b:fd:00:08:00
SRC=139.99.118.123 DST=69.61.93.33 LEN=48 TOS=0x00 PREC=0x00 TTL=119
ID=15669 DF PROTO=TCP SPT=45161 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
En jail.conf tengo:
[flooddetectado]
enabled = true
port = all
filter = flooddetectado
logpath = /var/log/messages
maxretry = 10
action = iptables-allports[name=flooddetectado, port="22,25,80,443",
protocol=tcp]
y en los filtros, dentro de flooddetectado.conf :
[Definition]
failregex = ^Flood\ detectado:\ IN=*\ OUT\=\ MAC=*\ SRC=<HOST>$
ignoreregex =
Al correr el test fail2ban-regex /var/log/messages
/etc/fail2ban/filter.d/flooddetectado.conf no detecta nada:
Running tests
=============
Use failregex line : ^Flood\ detectado:\ IN=eth0\ OUT=\ MAC=*\ SRC=<HOST>$
Use log file : /var/log/messages
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [77373] MONTH Day Hour:Minute:Second
`-
Lines: 77373 lines, 0 ignored, 0 matched, 77373 missed
Missed line(s): too many to print. Use --print-all-missed to print
all 77373 lines
También probe con otros filtros:
'^%(__prefix_line)Flood\ detectado:\ IN=eth0\ OUT=\ MAC=*\ SRC=<HOST>$'
^%(__line_prefix)s(\.\d+)?( error:)?\s*Flood\ detectado:\ IN=*\ OUT=\
MAC=*\ SRC=<HOST>*$
^( .*)Flood\ detectado:\ IN=*\ OUT=\ MAC=*\ SRC=<HOST>*$
Pero nada...
Si alguien me puede tirar una mano con la expresión regular a utilizar
se agradece sobremanera!
Muchas gracias.
Saludos.
Diego.
=======================================================
"Diego H. Cancelo" diego[at]cancelo[dot]com[dot]ar
*GNU/Linux User # 491743* | Huella digital:
03CA 8BAC 823A 80A1 D2FD E74F 50AB 79D7 8F1A 0DF7
GnuPG: 2048D/8F1A0DF7 | Clave GPG: solicitar por mail
=======================================================
Usá Software Libre.