Tutorial para aumentar la seguridad de la carpeta de administración de Joomla. Dado que durante la instalación estándar de Joomla no podemos modificar ni el directorio de administración ni la Url de acceso al back-end, cualquiera puede llegar a la pantalla de login del panel de control añadiendo la palabra “administrator” a la Url de nuestra página. Para evitar esto e impedir que personas ajenas a nuestra página intenten acceder al back-end, podemos emplear ciertas extensiones o tomar alguna de las medidas que veremos a continuación.
Login adicional con htaccess
Empleando este método aumentaremos la seguridad de acceso al back-end añadiendo un login adicional mediante los archivos “.htaccess” y “.htpasswd” .
En primer lugar tendremos que generar el archivo “.htpasswd”, que contendrá los datos de acceso al directorio del back-end. Dicho archivo lo crearemos mediante la línea de comandos con la siguiente instrucción :
htpasswd -c -b .htpasswd usuario password
Si estamos utilizando Xampp en Windows, tendremos que acceder al directorio “xampp\apache\bin” y ejecutar (desde consola) :
Figura 1: Creación del archivo .htpasswd en Xampp
Si tenemos problemas para crear el archivo con los métodos anteriores, podemos acceder a esta página para obtener el contenido fácilmente.
Figura 2: Contenido del archivo .htpasswd generado automáticamente
Después crearemos el archivo de forma manual e incluiremos el texto generado.
Figura 3: Crear el archivo e incluir el texto
Una vez dispongamos del archivo .htpasswd, lo guardaremos en un directorio fuera de la raíz de nuestro sitio web. Si, por ejemplo, nuestra web se encuentra en “midirectorio/public_html/joomla”, guardaremos el archivo en “midirectorio/pass” para que no sea accesible desde el servidor web.
Figura 4: Guardar el archivo en un directorio no accesible
Ahora crearemos el archivo “.htaccess” en el directorio de administración de Joomla. El archivo deberá tener una estructura como la siguiente, haciendo referencia a la ruta de “.htpasswd” :
Figura 5: Contenido del archivo .htaccess
A partir de este momento, cuando tratemos de acceder al panel de control de Joomla nos será solicitado un usuario y password que tendrá que coincidir con el contenido del archivo “.htapasswd”.
Figura 6: Primera solicitud de los datos de acceso
Si pasamos la primera validación, veremos la pantalla de login del panel de control de Joomla. Tendremos que introducir los datos de acceso para llegar al back-end.
Figura 7: Login de Joomla
En caso contrario, el navegador nos mostrará un error y no podremos acceder a la siguiente pantalla.
Figura 8: Error al intentar pasar la primera validación
Kareebu Secure
Se trata de un plugin con el que conseguiremos resultados similares a los descritos en el procedimiento anterior.
Podemos descargarlo desde su página oficial e instalarlo como cualquier otro componente.
Una vez instalado, accederemos al gestor de plugins y buscaremos el plugin “Kareebu Secure” para configurarlo. En sus propiedades tendremos que activarlo e introducir un password.
Figura 9: Configuración de Kareebu Secure
Veremos además que dispone de dos modos de funcionamiento, “Autenticación HTTP” y “Compatibilidad”.
Figura 10: Modos de funcionamiento del plugin
La autenticación HTTP nos mostrará una ventana de login previa a la validación de Joomla. En esta ventana será suficiente con introducir el password (dejando el usuario en blanco).
Figura 11: Autenticación HTTP
Con respecto al modo “Compatibilidad”, no veremos ninguna pantalla adicional de logín, sino que tendremos que añadir nuestro password directamente en la barra de direcciones del navegador (http://misitio.com/administrator?mipassword)
Figura 12: Modo compatibilidad
Redirigir el acceso
Otra posibilidad para proteger nuestro directorio de administración de Joomla consiste en redirigir el acceso a la administración, de forma que en lugar de acceder directamente a la dirección “http://misitio.com/administrator” , accedamos a otra dirección desde la que seremos redirigidos.
El directorio de administración seguirá siendo el mismo (administrator) y contendrá todos sus archivos, pero no podremos entrar en él directamente. Para hacer esto crearemos un nuevo directorio dándole el nombre que queramos (ej: miadmin).
Figura 13: Creación de un nuevo directorio
Dentro de este directorio generaremos un nuevo archivo llamado “index.php” que tendrá que contener el siguiente código:
Figura 14: Creación del archivo index.php con su código
Tras esto, iremos al directorio de administración de Joomla y modificaremos el archivo “index.php” de la siguiente forma:
Figura 15: Modificación del archivo index.php del directorio de administración
A partir de ahora, cuando queramos acceder al panel de control de Joomla tendremos que ir a la dirección “http://misitio.com/miadmin”, que nos redirigirá al directorio administrator. Si tratamos de ir a “http://misitio.com/administrator”, seremos enviados a la página principal de nuestro sitio.
Change Administrator
Este componente generará el mismo efecto que el procedimiento que acabamos de describir. Nos redirigirá al directorio de administración siempre que accedamos a una dirección concreta.
Podemos descargarlos desde su página web e instalarlo como cualquier otro componente.
Una vez instalado iremos a “Componentes > Change admin”. Simplemente habrá que escribir el nombre del nuevo directorio y pulsar en “change”. Desde este momento, para acceder al back-end iremos a la dirección “http://misitio.com/nuevodirectorio”, en caso contrario seremos redirigidos a otra página.
Figura 16: Configuración del componente “Change administrator”
Si queremos cambiar la página a la que se nos redirige al acceder a “http://misitio.comadministrator”, tendremos que editar el archivo “index.php” de la carpeta “administrator” y modificar el destino de la redirección.
Figura 17: Modificar redirección
Admin Exile
Este plugin, disponible para descargar en su página oficial, nos ofrece la posibilidad de añadir una palabra clave a la dirección del back-end para aumentar la seguridad.
Una vez instalado, iremos al gestor de plugins para configurarlo. En sus opciones tendremos que establecer una palabra clave y podremos añadir un valor que habrá que incluir en la url para acceder al back-end. También introduciremos el destino de la redirección cuando no se introduzca la url adecuada (http://misitio.com/administrator?adminexile=ROCKS) y podremos personalizar el error 404.
Figura 18: Configuración de Admin Exile para el acceso al back-end
Ahora, para acceder al back-end tendremos que añadir a la dirección la palabra clave y el valor (si hemos activado esta opción).
Figura 19: Acceso al back-end con la palabra clave y el valor
Además de aumentar la seguridad de acceso al panel de control, tendremos la opción de restringir el login en el front-end, seleccionando los grupos de usuarios que no podrán iniciar sesión.
Figura 20: Restringir el acceso al front-end
Enlace | htacces y htpasswd
Enlace | Kareebu Secure
Enlace | Redirigir el acceso
Enlace | Admin Exile