INTRODUCCIÓN Y DESCRIPCIÓN
Esta guía y análisis le permitirá ver la funcionalidad real del plugin NS Error 404 Control, junto a tácticas para la evasión de ataques hackers.
El plugin creado por NetAndSoftware para la detección de intentos de ataques hackers le permitirá controlar y estar alerta de los posibles intentos fraudulentos de acceso a su web a través del Error 404 que generan los automatismos de los spiders que usan los hackers y crackers. Los programas hackers rastrean profundamente las webs para destapar vulnerabilidades o puertas de entrada por donde penetrar en su sistema Joomla!.
Estos programas, que generalmente son robots -spiders-, provocan numerosos errores 404 que pueden ser detectados fácilmente mediante este plugin.
NS Error 404 Control envía un email con información del error 404 a un correo eléctrónico que definamos en la configuración del propio plugin. La información detallada que el administrador web recibe incluye:
- la IP del visitante que ha provocado el error;
- la URL que ha intentado acceder y que no existe;
- la URL de referencia, es decir, la URL anterior visitada por el visitante;
- el código de error provocado;
- el puerto de intento de acceso;
- el tipo de error detectado por Joomla!;
- la peligrosidad del visitante.
En la peligrosidad se define: si se trata de un equivocación normal de un usuario o robot legal tipo Google, Yandex, Yahoo, Bing u otro; si se trata de una página que ya no existe pero que se mantiene enlazada desde otra página de la web; o si se trata de un spider, programa o visitante que intenta descubrir vulnerabilidades de la web. En este último caso, el email se marca con un aviso de peligro en el asunto. De esta forma, mediante un gestor de correo y unos filtros, es fácil clasificar las amenazas y poder actuar en favor de la seguridad.
Cabe destacar que esta guía se ha realizado bajo la versión 1.0.2 del plugin.
El plugin, con licencia GPL y gratuito, está listado en el Joomla! Extensions Directory -Directorio de Extensiones de Joomla!- oficial en la página de Joomla.org.
VENTAJAS
Las ventajas del plugin radican en que no se genera tabla alguna en la base de datos de Joomla!. Los registros diarios (que pueden ser cientos o miles al día) no quedan almacenados y no recarga la base de datos ni la carga de la web, por lo que el rendimiento se mantiene casi inalterable.
Las características clave del plugin NS Error 404 Control son la de detectar errores 404 para mejorar el SEO, y la detección de posibles ataques hackers.
Por otro lado, las ventajas son el bajo impacto en la carga de la web, la falta de almacenamiento de los errores en la base de datos, la clasificación de la peligrosidad de los errores generados por la web, la instalación y configuración extremadamente sencillas, y la minimización de los accesos a la web que no son visitas reales.
REQUISITOS E INSTALACIÓN
No cabe duda que se necesita Joomla! para instalarlo, ya que se ha creado para este CMS. Aunque funcione con Joomla! 3.1.x, está pensado para usarlo con Joomla! 3.2.x o superior.
Además se necesita que la reescritura de las URL en la configuración global del sistema Joomla! esté activado (Sistema → Configuración Global → Pestaña Configuración SEO → Reescritura de las URLs, puesto en Sí), lo que obliga a renombrar htaccess.txt a .htaccess para servidores Apache.
También es necesario que el plugin de redirección del sistema (que viene con el core de Joomla!) está deshabilitado. Para ello: Extensiones → Gestor de Plugins → Sistema – Redirección (Deshabilitar).
La instalación es muy sencilla, sólo hay que instalarlo como cualquier otra extensión de Joomla!.
La versión actual en el momento de hacer este documento es la versión 1.0.2 que salió el 8 de junio de 2014, pero ya hay proyectadas otras versiones que mejorarán la detección de ataques como la funcionalidad y configuración del plugin.
CONFIGURACIÓN
Para la versión 1.0.2 la configuración es muy sencilla, sólo hay que activar el plugin en el Gestor de Plugins (una vez que se haya instalado), y rellenar dos campos en la configuración.
En Extensiones → Gestor de Plugins, busque el plugin bajo el nombre “System - NS Error 404 Control” y pinche en el nombre. Cerciórese de que el plugin esté publicado seleccionando la casilla “Estado” a “Habilitado” (que se verá en color verde). Después, sólo debe rellenar los campos "Email de Envío" para indicarle al plugin dónde desea recibir los emails, y "Asunto" para indicarle al plugin el nombre que llevará el asunto del correo.
En cualquier caso, si no se rellenan estos dos datos de configuración y el plugin está activo, funcionará correctamente cogiendo los valores por defecto, que en el caso del Asunto es "Error 404 (Control)", y en el caso del email de envío será el predeterminado en la configuración de Joomla!.
CLASIFICACIÓN DE LA PELIGROSIDAD DE LOS ATAQUES
Desde que salió la versión inicial 1.0.0 del plugin se ha ido mejorando la detección de ataques hacker. La clasificación de peligrosidad se ha realizado según la experiencia con varias webs que controlaban este error. A través de las webs de proyectos que controlaban el error 404 mediante un script en PHP creado por NetAndSoftware, se estudiaron qué accesos eran intentos ilegales a la web, qué métodos usaban, cómo averiguaban los hackers el tipo de web, y otras cuestiones algo más técnicas. Con toda esa información se pudo elaborar esta clasificación del peligro del hacker según los accesos erróneos 404.
Ya en la versión 1.0.2 se incorporó la detección FPD -Full Path Disclousure- y una detección aún más acertada. Con el paso del tiempo y según las técnicas de hacking nuevas, el plugin se irá actualizando con mejoras en la detección de posibles ataques hackers.
En definitiva hay 6 niveles de peligrosidad en los ataques:
- Sin riesgo: cuando el plugin determina que es muy poco probable que el error 404 se deba a algún intento de ataque. Generalmente, cuando un error 404 se produce de forma lícita, por una equivocación de la persona al escribir la URL, o por un enlace roto, el plugin lo marca de esta forma, y le sugiere que lo arregle para la mejora del SEO.
- Indeterminado: cuando el plugin es incapaz de detectar con seguridad si el error 404 es por un error o por un intento hacker.
- Riesgo Mínimo: cuando se está accediendo a una URL o a extensiones que suelen ser vulnerables, o es posible que exista un pequeño riesgo en la seguridad.
- Riesgo Medio: cuando parece muy probable que un hacker o un programa automático esté intentando conocer sus vulnerabilidades. El asunto del email enviado se marcará con un "Aviso". En este caso debe estar atento y comprobar toda la seguridad de su web. Si comete un fallo o deja de actualizar el software puede tener una penetración en su sistema.
- Riesgo Alto: cuando el riesgo y peligrosidad de intento de acceso es alto y deben ponerse medidas al respecto. El asunto del email enviado se marcará con un "Aviso". Al igual que en el caso anterior debe estar atento y comprobar toda la seguridad de su web ya que si comete un fallo grave de seguridad o deja de actualizar el software de extensiones o el propio Joomla! puede tener una penetración en su sistema.
- Riesgo Muy Alto: cuando, o existen varias amenazas combinadas o se produce un intento de acceso a URLs que suelen ser peligrosas. El asunto del email enviado se marcará con un "Aviso", y debe poner toda la atención en la mejora de la seguridad y su protección.
CÓMO ENFRENTARSE A ATAQUES HACKERS DETECTADOS
Una vez detectados que se están produciendo ataques hackers a nuestra web, los pasos son conocidos e imprescindibles.
Como norma de seguridad en cualquier CMS, debemos tener nuestro Joomla! en la última versión disponible, más ahora que a partir de Joomla! 3.3 se garantiza que no se rompe la compatibilidad hacia atrás. Si este es el primer paso para mantenerse seguro, uno de los más importantes, incluso más si cabe que el anterior, es mantener todas las extensiones instaladas completamente actualizadas. No haga esto sólo cuando el plugin le avise, hágalo siempre como estrategia correcta en materia de seguridad web.
Estos dos protocolos de seguridad son imprescindibles para mantener un nivel de seguridad aceptable.
Por supuesto, un hosting de calidad garantiza que la seguridad a nivel de servidor sea óptima, y si posee un servidor debe mantener todos los paquetes actualizados y seguros. Los hostings gratuitos, en muchos casos, son inseguros y no recomendables. Debe conocer cómo trabajan y saber que la seguridad es prioritaria para esa compañía.
Otro problema que debemos controlar para que los hackers no tengan éxito son los permisos de archivos de su sistema. Nunca los cambie si no sabe lo que hace, y nunca ponga los permisos 777 a ningún fichero o directorio de su web Joomla!. Aquí influye también el propietario y grupo de estos ficheros, pero no profundizaré más para que no se haga pesado este análisis.
Una guía que complementa los pasos anteriores es 10 Trucos para la Protección y Seguridad en tu web Joomla! 2.5, que aunque sea para Joomla! 2.5, la esencia de la seguridad no cambia.
Si algo debe saber es lo que no debe hacer en seguridad para su web: Las 10 mayores estupideces que un administrador de Joomla! puede cometer.
Por último, estos ataques no suelen ser eficaces eliminarlos mediante baneo de IP, ya que los hackers usan listas de proxies de manera que este método para frenarlos no es eficaz. También podemos aplicar las reglas del htaccess para bloquear algunos intentos. Esto nos dará unas visitas más reales a nuestra web. Vea uno de los mejores artículos de ejemplos de htaccess que hay en la red: .htaccess en profundidad, la guía completa
PREGUNTAS HABITUALES
Con este plugin, ¿puedo sentirme a salvo de ataques hackers?
No. Es una excelente herramienta para realizar detecciones, pero no te salva del ataque. Te recomendamos que leas el detallado artículo sobre htaccess de N&S que hemos mencionado en el apartado anterior.
¿Por qué no se implementa una herramienta para el bloqueo de los ataques en el propio plugin?
No sería difícil implementarlo, pero también es difícil asegurar cuándo se está produciendo un ataque, por lo que esta herramienta podría bloquear tráfico correcto a la web, con el consiguiente perjuicio. Por eso, la última palabra para determinar si el ataque es real o no, la debe tener siempre el webmaster o administrador del sistema Joomla!, que tiene el juicio para determinarlo con seguridad, y poseerá los conocimientos para parar de forma adecuada el intento de penetración.
¿Cómo puedo bloquear ataques?
Existen muchas formas, pero la mejor forma para un usuario medio es mediante el htaccess.
Reincidimos en que el baneo de IP no es eficaz -ya que los hackers usan proxies que cambian la IP en cada intento de acceso-, así que la mejor forma es mediante pequeños bloqueos en el htaccess según las URL, por ejemplo:
RewriteRule ^(.+)ploadify.ph(.+)$ - [F,L]
que envía un error 403 (Forbidden).
Esto provoca que se prohíba el acceso a ese spider, y posiblemente sus estadísticas de visitas sean más reales.
Si el bot que se está usando para el ataque tiene nombre se podría bloquear mediante setenv o mediante RewriteRule:
# bloqueo del bot BotMalo
SetEnvIfNoCase User-Agent "BotMalo/" spambot
deny from env=spambot
# bloqueo de 3 bots conocidos (hay muchísimos más)
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule .* - [F]
Estos son sólo un extracto de los ejemplos que podrá ver en la guía htaccess, y que seguro que le será de utilidad.
¿Me sirve para algo conocer si me están intentando hackear Joomla! 3.x?
Le sirve para mantenerle alerta y que mantenga siempre la seguridad de su sitio web. Esto se consigue teniendo Joomla! completamente actualizado, al igual que todas y cada una de las extensiones de Joomla!. En el caso de penetración será relativamente fácil conocer mejor la forma usada de hackeo a través de los emails enviados del plugin y los logs del servidor.
ENLACES DE INTERÉS DEL PLUGIN Y CONTACTO
- La página web del proyecto es: http://www.netandsoftware.es
- Contacto: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
- Twitter: @NetAndSoftware
- Listado en el JED y reviews oficiales: http://extensions.joomla.org/extensions/site-management/error-pages/27301
- Descarga del plugin: Plugin NS Error 404 Control
- Plugin en inglés: Plugin NS Error 404 Control
- Soporte técnico (español e inglés): Foro de Soporte