Herramientas de usuario

Herramientas del sitio


tutorial:seguridad-servidores

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
tutorial:seguridad-servidores [2025/05/12 18:16]
truper creado
tutorial:seguridad-servidores [2025/05/13 04:08] (actual)
truper [Probar expresión regular]
Línea 32: Línea 32:
 </​code>​ </​code>​
  
 +==== Regla personalizada ====
 +
 +**Crear archivo del filtro y agregar la regla**\\ ​
 +
 +%%sudo nano /​etc/​fail2ban/​filter.d/​apache-propfind.conf%%\\ ​
 +
 +<code bash>
 +[Definition]
 +failregex = ^<​HOST>​ - - \[.*\] "​PROPFIND .* HTTP.*"​
 +ignoreregex =
 +</​code>​
 +ignoreregex = <- No excluye nada\\ ​
 +ignoreregex = %%^127\.0\.0\.1.*%% <- Excluiría **localhost**\\ ​
 +
 +==== Probar expresión regular ====
 +
 +<code bash>
 +fail2ban-regex /​var/​log/​apache2/​access.log /​etc/​fail2ban/​filter.d/​apache-propfind.conf
 +
 +Running tests
 +=============
 +
 +Use   ​failregex filter file : apache-propfind,​ basedir: /​etc/​fail2ban
 +Use         log file : /​var/​log/​apache2/​access.log
 +Use         ​encoding : UTF-8
 +
 +
 +Results
 +=======
 +
 +Failregex: 17 total
 +|-  #) [# of hits] regular expression
 +|   1) [17] ^<​HOST>​ - - \[.*\] "​PROPFIND .* HTTP.*"​
 +`-
 +
 +Ignoreregex:​ 0 total
 +
 +Date template hits:
 +|- [# of hits] date format
 +|  [443] Day(?​P<​_sep>​[-/​])MON(?​P=_sep)ExYear[ :​]?​24hour:​Minute:​Second(?:​\.Microseconds)?​(?:​ Zone offset)?
 +`-
 +
 +Lines: 443 lines, 0 ignored, 17 matched, 426 missed
 +[processed in 0.80 sec]
 +
 +Missed line(s): too many to print. ​ Use --print-all-missed to print all 426 lines
 +</​code>​
 +
 +17 coincidieron,​ 0 se ignoraron o excluyeron, 426 no coincidieron.\\ ​
 +Se pueden ver con **%%--print-all-missed%%**. El **filtro está bien** y se puede usar\\ ​
 +
 +Ejemplo con **%%--print-all-missed%%**\\ ​
 +<code bash>
 +xz@equipo:$ fail2ban-regex /​var/​log/​apache2/​access.log /​etc/​fail2ban/​filter.d/​apache-propfind.conf --print-all-missed | tail -n 3
 +|  80.82.77.202 - - [13/​May/​2025:​03:​18:​48 +0200] "​\x16\x03\x01"​ 400 392 "​-"​ "​-"​
 +|  80.82.77.202 - - [13/​May/​2025:​03:​18:​48 +0200] "GET /aab9 HTTP/​1.1"​ 404 360 "​-"​ "​Mozilla/​5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/​537.36 (KHTML, like Gecko) Chrome/​70.0.3538.77 Safari/​537.36"​
 +`-
 +</​code>​
 +
 +**Añadir a /​etc/​fail2ban///​jail.local//​**
 +
 +<code bash>
 +[apache-propfind]
 +enabled = true
 +port = http,https
 +filter = apache-propfind
 +logpath = /​var/​log/​apache2/​access.log
 +maxretry = 1
 +bantime = 86400
 +findtime = 300
 +</​code>​
 +<code bash>
 +sudo systemctl restart fail2ban
 +xz@equipo:$ sudo fail2ban-client status apache-propfind
 +Status for the jail: apache-propfind
 +|- Filter
 +|  |- Currently failed: 0
 +|  |- Total failed: 1
 +|  `- File list:​ /​var/​log/​apache2/​access.log
 +`- Actions
 +   |- Currently banned: 1
 +   |- Total banned: 1
 +   `- Banned IP list:​ 154.81.156.10
 +xz@equipo:$ sudo fail2ban-client status
 +Status
 +|- Number of jail: 2
 +`- Jail list:​ apache-propfind,​ sshd
 +xz@equipo:​$ ​
 +</​code>​
 +
 +==== Documentación ====
 +       * Oficial
 +         * https://​fail2ban.readthedocs.io/​en/​latest/​
 +       * ArchWiki (En **Español**,​ pequeña guia)
 +         * https://​wiki.archlinux.org/​title/​Fail2ban
tutorial/seguridad-servidores.1747066582.txt.gz · Última modificación: 2025/05/12 18:16 por truper