Guía de seguridad Joomla
1. Introducción
Joomla es un sistema de gestión de contenido (CMS, Content Management System), que permite crear sitios web, su popularidad ha logrado que resulte muy atractivo para los actores maliciosos, con el fin de explotar vulnerabilidades.
2. Asegurando joomla
Para mitigar el riesgo de ataques a Joomla, se recomiendan las siguientes buenas prácticas de seguridad.
2.1. Verificar parches de seguridad
Comprobar regularmente si hay nuevos parches de seguridad disponibles para solucionar vulnerabilidades de seguridad e instalarlos, para ello existe el complemento “Plugin Securitycheck”.
A continuación se describe los pasos para el uso del Plugin Securitycheck:
- Instalar el plugin siguiendo el enlace:
- Una vez instalado ir al menú Components→Securitycheck
- Verificar vulnerabilidades en los complementos.
- La columna de “Known vulnerabilities” de todos los complementos listados debe estar en estado “No”.
extraerSe prácticasrecomienda útilessuscribirse a canales de seguridad oficiales de Joomla, por ejemplo:
- https://docs.joomla.org/Security_hotfixes_for_Joomla_EOL_versions/es
- https://developer.joomla.org/security-centre.html
Siempre debe mantener actualizado Joomla a una versión con soporte.
También se recomienda que se considere actualizar las tecnologías complementarias para el uso de Joomla como es php, mysql y noel consideradassistema operativo, tomando en guícuenta que estas actualizaciones sean compatibles con la versión de Joomla que utiliza, aplicando estos cambios primero en un entorno de pruebas.
2.2. Asegurar nombre de usuario y contraseña
- No utilizar el nombre de usuario admin predeterminado.
- Utilizar una contraseña
anteriorrobusta, por ejemplo, que contenga mayúsculas, minúsculas, cifras y caracteres especiales. - Configurar la robustez de la contraseña, para ello se debe ingresar a Users > Manage:
- Seleccionar Options:
- En password options establecer:
- Guardar y cerrar:
2.3. Proteger el archivo de configuración
Proteger el archivo configuration.php, que se encuentra en el directorio raíz de la instalación de Joomla con apache, para impedir que se pueda editar.
- Activar el módulo htaccess:
$ sudo nano /etc/apache2/apache2.conf
- Buscar las líneas:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Cambiar a:
<Directory /var/www/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
- Reiniciar servidor de apache:
$ sudo service apache2 restart
- Añadir al archivo .htaccess:
<FilesMatch “configuration.php”>
Require all denied
</FilesMatch>
- Cambiar los permisos considerando:
Archivos PHP - 644
Archivos de configuración - 644
configuration.php: 440
Otras carpetas - 755
2.4. Proteger el acceso al panel de administrador
Por defecto el panel de administrador de Joomla se encuentra en la url “/administrator” de la página. Para evitar que personas no autorizadas intenten acceder al panel de administración seguir los siguientes pasos:
- Crear un directorio que únicamente conozcan los usuarios administradores del sitio web (debe recordar que el directorio miotroadm es solo un ejemplo).
$ sudo mkdir miotroadm
- Crear un archivo index.php para redireccionar al panel de administración, cambiar la cookie “admin_cookie_code” por una más larga y difícil de adivinar.
$ cd miotroadm
$ sudo nano index.php
<?php
$admin_cookie_code="1254789654258"
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: ../administrator/index.php");
?>
- Adicionar al principio del index.php del directorio “administrator” que solicite la cookie, caso contrario devolver al index.php
$ sudo nano administrator/index.php
if($_COOKIE['JoomlaAdminSession']!="1254789654258")
{
setcookie('JoomlaAdminSession', null, -1, '/');
header("Location: ../../index.php");
}
- Añadir al final en el index.php del panel de administración el siguiente comando para eliminar la cookie creada.
$ sudo nano index.php
if ($_COOKIE['JoomlaAdminSession']!="")
{
setcookie('JoomlaAdminSession', null, -1, '/');
}
2.5. Ocultar la versión de Joomla
Deberá deshabilitar manualmente ingresando al panel de administración de joomla:
https://cgii.gob.bo/openkb/edit/5e39d63f6bfb5d0d16e45418