Evitar ataque de PERFCTL en Servidores con Docker containers
Les dejo un poco de referencias sobre este ataque a servidores con docker: Se describe el ataque en estos posts mejor que en este sitio y se describe soluciones mas avanzadas, es bueno y necesario leer estas otras entradas para comprender bien las soluciones para tu caso en especifico, las descritas en este post no son una solución completa y requiere una análisis muy especifico de tu caso para solucionarlo en mayor medida.
Attackers Target Exposed Docker Remote API Servers With perfctl Malware
perfctl: A Stealthy Malware Targeting Millions of Linux Servers
EVITAR ATAQUE DE PERFCTL:
- Configurar el .conf con evitar archivos que usa para explotar:
location ~ ^/(usr/share/php|usr/local/lib/php)/.*\.php$ {
deny all;
return 444; # Cierra la conexión sin respuesta
}
location ~* \.(env|log|htaccess|gitignore)$ {
deny all;
return 403;
}
- Deshabilitar funciones en php ini:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source
- Habilitar bloqueos de fail2ban en el servidor (bloquear las ips)
- Habilitar todas las limpieza de los request que reciban datos $_GET, $_POST y evitar $_REQUEST
- De preferencia usar Cloudflare para evitar ataques continuos de bots automatizados
- Actualizar PERL en tu docker
- Levantar el docker container con usuario sin privilegios
- Limitar el archivo del repo en php.ini
open_basedir = /var/www/:/tmp/
- Deshabilitar estos parametros en php.ini
allow_url_fopen = Off
allow_url_include = Off
- Cambie mi imagen nginx por https://github.com/coreruleset/modsecurity-crs-docker/blob/main/README.md
para hacer un puente entre mi nginx principal hacia el nginx del container que conecta con el php
en el archivo www.conf de mi container php configure:
pm.max_requests = 500
pm.process_idle_timeout
*** LIMITAR EL ACCESO A MI SERVIDOR, UNICAMENTE DESDE IP DE CLOUDFLARE https://www.cloudflare.com/ips/
Comentarios
Publicar un comentario