| Blog \ Joomla | ||||
| Seguridad en Joomla 1: Protegiendo directorios del Administrador |
|
|
| Publicado el Sábado, 25 de Septiembre de 2010 12:33 | |
|
Nivel: Intermedio Conocimientos Requeridos:
Arrancando una serie de artículos de Seguridad en Joomla, hoy vamos a tratar de ver como darle un poco de protección básica a los archivos de nuestro servidor para tratar de mantener ocultos en lo posible los archivos sensibles del sitio. En este tutorial voy a mostrar algunas soluciones básicas para proteger directorios del servidor, las cuales incluyen:
Los lectores seguramente sabrán encontrar mejores técnicas de protección luego de leer este artículo, pero es bueno arrancar siempre con las medidas básicas. Arranquemos por la primera:
Autenticación HTTP Esta técnica entra en la parte del servidor. Casi todos estamos familiarizados con la autenticación HTTP, quiza no por el nombre: alguna vez entramos en algún sitio y nos apareció una pequeña ventana de emergente pidiendo nombre de usuario y contraseña, que si no ingresamos o lo hacemos incorrectamente, nos redirige a una página de error 401 (no autorizado a acceder al contenido). El mensaje es algo similar a este:
Solicitud de Usuario y Contraseña
Esta es una medida básica pero muy efectiva para restringir el acceso a algún directorio dentro de nuestro sitio web, y es la que más se utilza. Por lo general, en el panel de control de casi todos los servicios de hosting se nos ofrece la opción de "proteger un directorio" con contraseña o algo similar. En este caso, y si nuestro hosting nos lo permite, es recomendable proteger la carpeta "administrator" con un usuario y contraseña que le asignemos a elección (esto es independiente del usuario admin del CSM, por lo que podemos elegir otro usuario y contraseña si queremos más seguridad). De esta manera, cuando ingresemos a la dirección de la forma http://misitioenjoomla.com.ar/administrator, se nos pedirá que nos autentiquemos previamente: si lo hacemos adecuadamente, nos redigirá al clásico formulario de login, y si no, nos rechazará inmediatamente. Esto es sumamente importante y hay gente que inconcientemente o por desconocimiento no lo hace, dejando una vulnerabilidad bastante grande para los posibles atacantes. De más esta decir que no sólo es recomendado para un sitio en Joomla sino que para cualquier sitio web que estemos desarrollando, usemos un CMS o no.
Modificación de los permisos de usuario Esta también es por parte del servidor: consiste en asignar a lo archivos del servidor permisos de acceso como se asignan en Linux (esto es si tenemos un servidor con alguna distro de Linux o Unix, que es lo más seguro). Basicamente, hay tres tipos de permisos que podemos especificar:
Y hay tres tipos de usuarios a los que se afectarían:
Para hacerlo, se utiliza generalmente un comando llamado chmod. De todos modos, casi todos los paneles de administración de servidores nos ofrecen herramientas visuales que hacen esta tarea más fácil. Para profundizar en el tema, les recomiendo un par de tutoriales muy buenos que vi por la web (en Google hay mucho más):
Utilización de extensiones de seguridad Finalmente, esta medida es del lado del CMS y consiste en instalar alguna extensión (generalmente plugins) que "oculte" tu directorio de administración. La más recomendada en este caso es kareebu Secure, una extensión libre que está basada en otra llamada JSecure (la cual antes era libre, después pasó a ser propietaria), y que hace exactamente eso: ocultar (mejor dicho, "restringir") el acceso directo al directorio "administrator" y al panel login directamente desde el navegador. Para esto, definía una contraseña para acceder al panel admin. Luego, si definimos una contraseña, como "mipassword", accedemos de la siguiente forma: http://misitioenjoomla.com.ar/administrator?mipassword. Si el password no es el correcto, nos redirige al home del sitio. Hay que tener cuidado nada más de no olvidarnos ese password porque podría impedir el acceso al administrador. Si esto les ocurre (lo dice la voz dela experienca :), una solución es acceder a la base de datos con PHPMyAdmin o algo parecido, y dentro de la tabla "jos_plugins", buscamos la fila que tenga como valor en el campo name lo siguiente: "System - kareebu Secure", y modificamos el registro asignando valor 0 (cero) al campo llamado "published" (1 es "publicado", 0 "no publicado"). Y listo, lo desactivamos. Yo recomiendo configurar el plugin de la siguiente manera:
Estas medidas desde luego se pueden convinar entre sí para asegurar una seguridad bastante decente del acceso a los contenidos del administrador. Lo recomendable es siempre estar al tanto de medidas y riezgos de seguridad (suscribirse a RSS y listas de correo sobre el tema) y tener actualizado nestro Joomla (no a la última versión, pero si alguna reciente y testeada). En los proximos tutoriales voy a tratar de abarcar algunas medidas con respecto a la configuracioón de nestro Joomla y algunos trucos útiles para tener en cuenta sobre este tema.
|
|
|
|
|
Soy un diseñador y desarrollador web freelance, Programador Junior en .Net y estudiante de Sistemas en la Universidad Nacional de Entre Ríos. En este último tiempo me estoy dedicando a aprender un poco más sobre desarrollo de extensiones para Joomla! y sobre testing y debugging de aplicaciones de escritorio. Además soy un gran fanático de la ilustración y del arte gráfico.

Blog El-Golem.com.ar por Emmanuel Fontan se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Unported.