Tengo archivos de registro en mi servidor de la siguiente manera

vpn_20191007.log
vpn_20191008.log
vpn_20191009.log
vpn_20191010.log
vpn_20191011.log
vpn_20191012.log
vpn_20191013.log
vpn_20191014.log
vpn_20191015.log
vpn_20191016.log

¿Es posible agregar un patrón de archivos de registro en la configuración de la cárcel de fail2ban?

    [application]
    enabled  = false
    filter   = example
    action   = iptables
    logpath  = /var/log/vpn_%D.log
    maxretry = 1
0
Akhil Jalagam 16 oct. 2019 a las 10:59

1 respuesta

La mejor respuesta

Bueno, condicionalmente es posible ...

Aunque los comodines están básicamente permitidos en este momento, entonces:

logpath  = /var/log/vpn_*.log

Hará el trabajo, pero es un poco feo en su caso:

  • fail2ban acumula la lista de archivos solo al inicio del servicio, por lo que la lista permanece obtenida en fail2ban (a menos que se vuelva a cargar); esto significa que debe notificar a fail2ban que el nombre del archivo de registro se cambió (consulte https://github.com/fail2ban/fail2ban/issues/1379, el trabajo está en curso).
  • Dado que solo un archivo recibirá mensajes nuevos, no es necesario monitorear otros archivos, especialmente si se usa el backend de sondeo.

Así que es mejor crear algunas reglas logrotate para eso:

  • para renombrar / comprimir todos los archivos de registro anteriores (para evitar que coincidan con archivos obsoletos);
  • cree un enlace duro o simbólico para el último archivo / activo con un nombre fijo (por lo que fail2ban siempre puede encontrarlo con el mismo nombre, y no necesitaría ningún comodín);
  • o para notificar a fail2ban que vuelva a cargar la cárcel si se cambió el nombre del archivo de registro
    (fail2ban-client reload vpn).

A continuación, se muestra un ejemplo de modificación de logrotate:

    postrotate
        nfn="/var/log/vpn_$(date +%Y%m%d).log"
        touch "$nfn"
        ln -fs "$nfn" /var/log/vpn.log
2
sebres 18 oct. 2019 a las 12:52