Image

Base de conocimientos → Proteja su servidor web de bots maliciosos con Fail2Ban

[Servidores virtuales]
Fecha de publicación: 01.06.2023

Todos los días, una gran cantidad de bots visitan todos los sitios en Internet, comenzando con los que son importantes para nosotros (por ejemplo, Yandex, Google, etc.) y terminando con los potencialmente peligrosos. Después de analizar el registro del servidor web, verá eventos sospechosos. En este momento, se están desarrollando cada vez más tipos de hacks que utilizan la ingeniería social (hackear no el software en sí, sino encontrar fallas) dejados por el propio desarrollador, el administrador. Hoy te diremos cómo bloquear bots que buscan copias de seguridad e instalaron phpmyadmin. Para bloquear dichos bots, usaremos Fail2Ban, un filtro y una regla (cárcel). El trabajo se llevó a cabo en Centos 7.


Robots de búsqueda de respaldo

El bot busca las copias de seguridad que quedan en forma de archivo, clasificándolas desde la raíz hasta varias carpetas típicas. Si lo encuentra, lo más probable es que transfiera la información a su propietario, pero las copias contienen archivos y una base de datos que le permite acceder al sitio. Dichas copias a menudo se olvidan para eliminarlas después de que el sitio se transfiere de un servidor o alojamiento a otro.

Agreguemos un filtro

backup-scan.local

[Definition]

failregex = ^ - - .*./(backup.tgz|backup.zip|backup.tar) HTTP/1.0" 404|301 ignoreregex =

Agreguemos una regla:

[backup-scan]

enabled = true filter = backup-scan action = iptables-multiport[chain="INPUT", name="backup-scan", port="http,https", protocol="tcp", blocktype="REJECT --reject-with icmp-port-unreachable"] sendmail[dest="admin-mail@domain.tld", sender="fail2ban", sendername="Fail2Ban", name="backup-scan"] logpath = /var/www/vhosts/system/*/logs/accesslog

maxretry = 5

Se puede reducir el número de reintentos, lo que aumentará significativamente la sensibilidad y reducirá la carga en el servicio web. Recomendamos a los propietarios de sitios que eliminen todas las copias de seguridad archivadas de sus servidores. Los bots también buscan archivos con un nombre de dominio, etc., aquí hemos dado las reglas básicas.


Bots de búsqueda phpMyAdmin, rootkits, puertas traseras

Estos bots buscan phpMyAdmin instalado para seguir buscando vulnerabilidades en él y ataques de piratería y adivinación de contraseñas. La herramienta de base de datos phpMyAdmin es muy popular y se piratea periódicamente, según la versión instalada y la configuración.

Agreguemos un filtro: 

phpmyadmin.local

[Definition]

failregex = ^ - - ../(phpmyadm1n|mysqladmin)/index.php ^ - - ../(pma.php|pmd_online.php|db_pma.php) HTTP/1.0" (404|301|200) ignoreregex =

En el filtro, especificamos 2 condiciones a la vez, la segunda bloqueará los bots que buscan scripts de acceso alojados dejados por atacantes en sitios previamente pirateados. (kits de mano, puertas traseras)

Agreguemos una regla:

[phpmyadmin-scan]

enabled = true filter = phpmyadmin action = iptables-multiport[chain="INPUT", name="phpmyadmin", port="http,https", protocol="tcp", blocktype="REJECT --reject-with icmp-port-unreachable"] sendmail[dest="admin-mail@domain.tld", sender="fail2ban", sendername="Fail2Ban", name="phpmyadmin-scan"] logpath = /var/www/vhosts/system/*/logs/accesslog

maxretry = 5

No olvide cambiar el correo electrónico en la configuración por el suyo, recibirá notificaciones de bloqueo indicando la regla, la dirección IP. La ruta al archivo de registro también debe verificarse y especificarse. En nuestro caso, se procesan varios archivos de registro ubicados en el mismo nivel de anidamiento, pero en diferentes carpetas. Si es necesario, puede especificar varios archivos de registro. Recomendamos eliminar los permisos de lectura después de trabajar con phpMyAdmin para que no esté disponible, con un uso frecuente, puede agregar protección a nivel de servidor web usando carpetas protegidas con contraseña en htacass y htpasswd.





Sin comentarios aún