Estos días los estoy dedicando a aumentar la seguridad de algunos sitios web que tengo operativos por la red. Entre muchas cosas se habla de lo muy recomendable que es ocultar la url del panel de administración, sobretodo de un CMS tan conocido como Joomla y el cual, recien me doy cuenta ahora, es tan dificil realizar.
Joomla dispone de su directorio administrator donde se encuentra su back-end:
Su dirección url es http://www.midominio.com/administrator suponiendo que hemos subido nuestros archivos Joomla directamente en la raiz de nuestra carpeta pública de nuestro dominio.
Sabiendo esto, es muy fácil para "algun curioso" intentar entrar a nuestro sistema de administración con una dirección tan conocidad.
Es por esto que es muy recomendable cambiar el nombre del directorio donde se almacenan los archivos de administración. Aunque esto no hace a nuestro sitio web invulnerable, si es una gran ayuda y limitaría el número de "curiosos" que pueden intentar acceder.
Como Joomla basa su estructura en modulos relacionados entre sí, éstos también hacen constantes referencias a la ruta administrator, por lo que hay que encontrar todos esos archivos y modificar la ruta manualmente.
A modo de recopilatorio para mi propi uso voy a ir apuntando en esta entrada una lista de los archivos modificados.
-------------------------------
Lo primero, vamos a trabajar con la versión de Joomla 1.5.15, concretamente el Spanish pack completo.
.SQL
installation\sql\mysql\sampledata.sql
.TXT
/robots.txt
.XML
administrator\templates\khepri\templateDetails.xml
components\com_poll\views\poll\tmpl\default.xml
components\com_newfeeds\views\category\tmpl\default.xml
components\com_newfeeds\views\newsfeed\tmpl\default.xml
modules\mod_banners\mod_banners.xml
administrator\components\com_translationsmanager\config.xml
components\com_contact\views\contact\tmpl\default.xml
components\com_contact\views\category\tmpl\default.xml
administrator\components\com_content\models\article.xml
components\com_content\views\article\tmpl\default.xml
modules\mod_poll\mod_poll.xml
.PHP
administrator\components\com_admin\tmpl\sysinfo_directory.php
administrator\components\com_templates\admin.templates.html.php line: 122
administrator\components\com_translationsmanager\controller.php
administrator\components\com_media\views\images\view.html.php
administrator\components\com_media\views\imageslist\view.html.php
administrator\includes\defines.php
libraries\joomla\enviroment\uri.php
installation\installer\models\model.php
includes\defines.php
installation\includes\defines.php
xmlrpc\includes\defines.php
installation\installer\helper.php line: 412
libraries\joomal\html\html\image.php line: 131
plugins\search\content.php line 50
installation\includes\application.php line 244
El cambio hay que fijarse concretamente cuando las sentencias de código hablen de rutas, path, la palabra sea en minusculas, sea una cadena de texto, e intuitivamente parezca ser relativo a la ruta.
Vamos a subir los archivos y comprobar si todo ha ido bien.
NOTA: no cambiar en administrator\includes\application.php en getRouter(). En este archivo hace referencia a un nombre de aplicación que nada tiene que ver con el nombre de la ruta que intentamos cambiar.
NOTA2: Tampoco cambiarlo en administrator\index.php en mainframe, ya que volvemos a tratar de la aplicación.
NOTA3: en algunos sitios aparece la palabra de la forma "image.administrator". En esta ocasion no se sustituye ya que representa una funcion con el nombre administrator en el archivo image.php
NOTA FINAL: Despues de muchos intentos y de dejarme los ojos en el código, la transformación parece ser más complicada. Actualmente, el backend se muestra pero el menu no se activa. Puede ser un problema con la template, ya que en texto plano los links funcionan correctamente. Puede que tambien los archivos donde pase por alto la modificación por parecer del tipo de usuario, deberían de haber sido cambiados.
Es un poco lioso, y no quiero que me queden bugs perdidos, sobretodo cuando lo quiero implantar para una muestra pública, de modo que desisto, hasta ver si algún día doy con la solución definitiva.
Realmente una pena ...
Este comentario ha sido eliminado por el autor.
ResponderEliminar