Como proteger nuestro servidor Apache: Guía de configuración de Fail2ban

Como proteger nuestro servidor Apache: Guía de configuración de Fail2ban


Amigos, en este post explicaré como prevenir ataques de fuerza bruta y DDOS en Apache, al igual que en un post anterior utilizaré la herramienta fail2ban.

Instalación de Fail2ban

En un post anterior escribí acerca de la instalación de Fail2ban, los pasos de instalación se pueden ver en el siguiente enlace: https://guidocutipa.blog.bo/sistema-deteccion-de-intrusos-fail2ban/


Configuranto Fail2ban para Apache

Para activar los filtros de seguridad de Apache crearemos un nuevo archivo de configuración en el directorio /etc/fail2ban/jail.d/

# nano /etc/fail2ban/jail.d/apache.conf

En el nuevo archivo copiar la siguiente configuración:

[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/*error.log
maxretry = 3
bantime = 600

[apache-overflows]
enabled = true
port = http,https
filter = apache-overflows
logpath = /var/log/apache2/*error.log
maxretry = 3
bantime = 600

[apache-noscript]
enabled = true
port = http,https
filter = apache-noscript
logpath = /var/log/apache2/*error.log
maxretry = 3
bantime = 600

[apache-badbots]
enabled = true
port = http,https
filter = apache-badbots
logpath = /var/log/apache2/*error.log
maxretry = 3
bantime = 600

[http-get-dos]
enabled = true
port = http,https
filter = http-get-dos
logpath = /var/log/apache2/*access.log
maxretry = 400
findtime = 400
bantime = 200
action = iptables[name=HTTP, port=http, protocol=tcp]
  • [apache] Para bloquear host remotos que tengan mas de 3 intentos fallidos de autenticacion
  • [apache-overflows] Para bloquear host remotos que hagan peticiones de URLs sospechosas
  • [apache-noscript] Para bloquear host remotos que intenten buscar scripts para ejecutar en el sitio web
  • [apache-badbots] Para bloquear host remotos que traten de solicitar bot maliciosos
  • [http-get-dos] Para detener ataques DOS de un host remoto

Para finalizar será necesario crear el archivo http-get-dos.conf con la siguiente configuración:

# nano /etc/fail2ban/filter.d/http-get-dos.conf
[Definition]
# Option: failregex
# Note: This regex will match any GET entry in your logs, so basically all valid and not valid entries are a match.
# You should set up in the jail.conf file, the maxretry and findtime carefully in order to avoid false positives.
failregex = ^<HOST> -.*"(GET|POST).*

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT

ignoreregex =

Para aplicar los cambios debemos reiniciar el servicio:

# systemctl restart fail2ban

Finalmentes validaremos que los nuevos filtros estén habilitados:

# fail2ban-client -i
fail2ban> status
fail2ban> status mysqld-aut


Referencias

https://www.fail2ban.org/

Guido Cutipa

Deja un comentario

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar