Esto ataques molestos pueden ser dificiles de detectar ya que normalmente solo redirigen el tráfico que viene desde buscadores y el tráfico que genera errores (403,404, etc)
Aquí comparto unos tips para combatirlos: (cPanel/WHM)
- Denegar acceso FTP al usuario root (WHM Main >> Service Configuration >> FTP Server Configuration ) y cambiar Allow Logins with Root Password a No
- Denegar login anónimos (WHM Main >> Service Configuration >> FTP Server Configuration ) y cambiar Allow Anonymous Logins a NO
- Denegar uploads anónimos: (WHM Main >> Service Configuration >> FTP Server Configuration ) y cambiar Allow Anonymous Uploads a No
- Utilizar únicamente conexiones seguras FTP: (WHM Main >> Service Configuration >> FTP Server Configuration )y cambiar TLS Encryption Support a Requerided (Comand)
- Habilitar cPHulk Brute (No estoy 100% seguro que cubre intentos fallidos de FTP pero no está demás activarlo (Main >> Security Center >> cPHulk Brute Force Protection) Click en Enable
- Instalar CSF Firewall y configurarlo para bloquear intentos de login fallidos (más info en http://configserver.com/cp/csf.html)
- Habilitar Mod_security (Requiere recompilar apache via easyapache, seleccionar la opción mod_security) luego ir a WHM >> Plugins >> Mod_security >> Edit Config >> Default Configuration y salvar
- Deshabilitar las siguientes funciones PHP curl_multi_exec , passthru , pcntl_exec , posix_kill , posix_mkfifo , posix_setuid , proc_close , proc_terminate , shell_exec , system , ftp_exec , leak , posix_setpgid , posix_setsid , proc_get_status , proc_nice , show_source
- Educar a los usuarios acerca de la importancia de mantener sus contraseñas seguras y cambiarlas períodicamente
- Educar a los usuarios acerca de la importancia de actualizar sus CMS (Joomla y Wordpress principalmente)
- Educar a los usuarios acerca de la importancia de ser extremadamente cuidadosos con los permisos de archivos y directorios
Lo más importante, los ataques al .htaccess en su gran mayoría usan el nombre de usuario y password FTP de la víctima, este password es obtenido vía fuerza bruta o mediante la infección de troyanos en la PC de la víctima. Por esta razón la primera línea de defensa tiene que ser en el usuario (contraseñas seguras, acceso FTP seguro y PC límpia)
Como saber si hay sitios infectados:
Puedes correr este simple comando:
Código:
Esto creará una lista de .htaccess que tienen alguna redirección de Google y probablemente sea un archivo infectado (es posible cambiar *google por cualquier otra patrón de virus que se desee buscar en los .htaccesscd /home; grep -rl '*google' --include=.htaccess ./*/public_html > infected_htaccess.txt
La lista de .htaccess probablemente infectados esta en /home/infected_htaccess.txt
Como limpiar las infecciones:
Hay dos formas:
- Manualmente removiendo las redirecciones en cada uno de los archivos listados en /home/infected_htaccess.txt
- Renombrando todos los .htaccess infectados con el siguiente comando:
- Código:esto renombrará todos los archivos infectados listados en /home/infected_htaccess.txt como .htaccess_infected.txt (note que esto borrará el archivo .htaccess por lo que el usuario deberá reconstruir el .htaccess original
cd /home; for LINE in `cat infected_htaccess.txt `; do mv $LINE $LINE.infected.txt; done