La seguridad de nuestra web es la principal preocupación de cualquier programador web ó webmaster. Joomla, por experiencia, es un CMS (sistema de gestión de contenido) seguro. Por defecto, se ofrece autenticación de dos factores (two factor Authentication), el de Google authenticator y el de Yubikey.
Pero, eso no es suficiente para la seguridad de nuestra web. Los hackers tienen muchas formas de atacar a un sitio web, y por lo tanto, no podemos depender de una sola medida de seguridad.
El uso de una extensión de seguridad es una de las medidas recomendadas para asegurar una web desde diferentes tipos de amenazas como el LFI, inyección SQL, ataques de fuerza bruta,… Hay unas trescientas extensiones dentro del directorio de extensiones de Joomla para mejorar la seguridad ya existente intrínsecamente al CMS Joomla.
Obviamente, algunas extensiones son gratuitas y otras de pago. Para realizar este post he elegido extensiones libres (free).
Las extensiones que se han elegido, ayudan a los usuarios a proteger su sitio web contra ataques de fuerza bruta, la inyección de SQL, y la inclusión de archivos locales. Estos ataques dañan severamente a las webs, por lo que es bueno estar al tanto acerca de este tipo de ataques. Y, algunas medidas automáticas para prevenir la página web.
Vamos a echar un vistazo a las extensiones que proporcionan protección contra tales tipos de ataques.
Índice ¿Qué vamos a ver?
1. AdminExile
La fuerza bruta comienza cuando el atacante puede ver el panel de inicio de sesión del sitio web = internetmasters.com/portal . Ocultar la dirección URL de conexión al backend de nuestra web es una buena manera de proteger un sitio web de ser atacado con fuerza bruta. Este plugin ayuda a hacerlo; permite agregar una clave / valor clave en la dirección URL de inicio de sesión para que sólo aquellos que conocen la clave puedan llegar a la URL de conexión del backend.
Si alguien intenta entrar a través de «internetmasters.com / administrator», será redirigido a otra URL (en mi caso los hago volver al Home).
También se puede configurar esta extensión para que envíe un correo electrónico de inicio de sesión para el administrador cuando se le olvide la clave.
Además, AdminExile da una flexibilidad para ajustar el tiempo de reingreso. Dentro del periodo especificado, el usuario podrá iniciar sesión en el panel de administrador sin utilizar la clave.
También da la opción de imponer la restricción a la entrada frontal por parte del usuario (front-end management) = esto significa que puede restringir a algunos grupos de usuarios iniciar sesión desde la web propiamente dicha. Además, permite crear una lista blanca y una lista negra de direcciones IP para permitir la seguridad IP en la página web.
Otra característica de esta extensión es que notifica al administrador si se detecta una ataque por fuerza bruta y penaliza al atacante mediante el bloqueo de la IP .
2. Securitycheck
Securitycheck ayuda a proteger el sitio web de los ataques de inyección SQL, LFI y ataques XSS. Esta extensión comprueba cada petición POST y GET. Si se detecta un ataque, el atacante es redirigido a la página de error predeterminada de nuestra web Joomla. Además, mantiene el registro de ataques de modo que el administrador pueda saber cuantas veces ha sido atacada nuestra web y la IP desde donde se atacó.
También permite crear listas negras de IP’s, así como también una lista blanca de direcciones IP. Obviamente, las IP en la lista negra no pueden acceder a la página web de ninguna manera. Al contrario que la lista negra, es posible añadir direcciones IP de confianza en una lista blanca, estas IP pueden pasar por alto los filtros de seguridad.
La extensión Securitycheck también comprueba la vulnerabilidad de todos los componentes que tenemos instalados.
3. Brute Force Stop
Brute Force Stop, como su nombre indica (parada contra fuerza bruta). Esta extensión ayuda al usuario a mantenerse a salvo de los ataques por fuerza bruta y bloquea automáticamente al visitante / bot si detecta el ataque.
Se puede configurar un umbral límite de intentos fallidos; después de alcanzar el límite del umbral, esta extensión bloqueará al usuario que está intentando iniciar sesión. Además, sabremos desde qué IP se realizaron los intentos de iniciar sesión viendo el registro de inicios de sesión fallidos. El registro se guarda en la opción «inicios de sesión erróneos» , dentro del componente Brute Force Stop.
Desde el registro, el administrador también puede saber si un usuario real está bloqueado: usuarios habituales que olvidan la contraseña e intentan acceder a la web superando así el límite de intentos. Estas direcciones IP se pueden agregar a la “white list” para que los usuarios de confianza no se bloqueen nunca.
4. Marco’s SQL Injection
Marco’s SQL Injection protege a nuestra web de inyecciones SQL y ataques LFI (Inclusión remota de archivos). Si el sitio web recibe una inyección SQL o LFI, envía una notificación al administrador, aparte de bloquear el ataque.
Es una extensión fácil de configurar, da las opciones para hacer configuraciones personalizadas para el bloqueo de IP, errores, componentes que pueden eludir los filtros de seguridad, y los parámetros de LFI. Se puede definir el número de intentos de conexión para bloquear las direcciones IP.
Conclusión
He expuesto algunos componentes/extensiones, a mi juicio, de las mejores extensiones de seguridad de Joomla.
Todas hacen su trabajo de forma excelente, pero no creo que haya que instalarlas todas, es decir, siempre hemos de evaluar nuestras necesidades.
Según mi experiencia (y la de compañeros) es preferible la combinación de AdminExile y Securitycheck, ya que ofrecen la totalidad de características que necesitaremos.