14 d’ag. 2009

Consejos de seguridad en joomla

Joomla se ha convertido en uno de los mejores gestores de contenidos para la Web disponible libremente para su descarga y uso. Con la utilización masiva de Joomla no han llegado sólo beneficios en forma de una enorme comunidad de usuarios que crean extensiones y mejoran el sistema; también existen riesgos de seguridad que conviene conocer e intentar superar. A continuación ofrecemos algunos consejos que harán más segura tu instalación de Joomla.

1. Actualiza Joomla.

Usa siempre la última versión de Joomla disponible. Siempre avisamos en esta Web y a todos los centros que usan Joomla, a través de nuestra lista de correo (a la que te puedes apuntar en la columna derecha de la página principal, con cualquier cuenta de e-mail) Una versión no actualizada de Joomla es un objetivo muy fácil para los piratas informáticos. La actualización siempre suele ser igual: basta con subir los archivos a actualizar vía FTP. No es necesario tocar la base de datos ni modificar a mano fichero alguno.

Muy importante: siempre descarga Joomla y sus actualizaciones desde los sitios oficiales que se especifican en los enlaces de actualización. No descarges versiones de Joomla de sistemas P2P (emule, torrent, etc) ni en páginas no oficiales del proyecto Joomla.


2. Actualiza tus extensiones.

Es indudable que a mayor número de extensiones instaladas más inseguro es tu sitio Web. Cada extensión es un programa prácticamente independiente de Joomla que requiere su propio mantenimiento (esto incluye a componentes, módulos y plugins). Cada cierto tiempo, el creador de una extensión publica una actualización, que será preciso instalar en nuestro sitio Web. El proceso de actualización suele ser siempre el mismo (suele bastar con desinstalar la anterior e instalar la nueva), aunque pueden existir extensiones que requieran otro tipo de actualización. Te recomendamos visitar la página Web del autor o el espacio que tenga la extensión en extensions.joomla.org. Sobre las extensiones, recuerda que:
  • Una extensión no utilizada es mejor que sea eliminada.
  • No busques extensiones para cualquier cosa que se te ocurra. Piensa cómo lo harías con lo que trae Joomla "de serie" y evitarás muchas horas de mantenimiento. Por ejemplo, para hacer un "blog" no es necesario instalar esa extensión tan complicada de mantener... Con una sección y algunas categorías te puedes crear tu blog. Otro ejemplo: para hacer un completo calendario de eventos no es necesario instalar complejas extensiones, salvo que se vayan a actualizar muy a menudo. Con una sección "calendario" y varias categorías ("excursiones", "centro", etc) y sus correspondientes artículos se puede crear una lista de contenidos que asemeje un calendario de eventos.
  • Comprueba que la extensión es utilizada por mucha gente y tiene soporte (que sea popular). Accede a extensions.joomla.org y observa los comentarios. Una extensión "muy favorita" y con muchos comentarios es habitualmente señal de que la extensión está "viva" y es utilizada de forma segura por otros. Una buena práctica es instalar extensiones que aparecen en los listados de "más favoritas", "elección del editor", "más populares", "más valoradas"...
  • Instala siempre la última versión disponible de la extensión. En la ficha de extensions.joomla.org tienes la última versión disponible y la fecha de actualización. Si la extensión tiene varios módulos, componente y plugins, instala siempre las últimas versiones de todos.
  • Intenta no instalar extensiones que sólo funcionen en modo "legacy" (que no han sido diseñadas exclusivamente para Joomla 1.5.x). Seguro que hay otras alternativas diseñadas específicamente para Joomla 1.5 (las que llevan la etiqueta verde "1.5 Native")
  • No descargues e instales extensiones de lugares diferentes a extensions.joomla.org (oficial). No uses extensiones descargadas de sistemas P2P (emule, etc), ni plantillas, pues pueden contener troyanos, virus, o ser extensiones de pago (comerciales) que no son de libre utilización.
  • Casi siempre hay una alternativa a las extensiones comerciales. Utiliza software libre.
  • Vigila especialmente las extensiones que fomentan la participación: foros, sistemas de comentarios, galerías de fotografías con comentarios... Actualiza muy especialmente estas para evitar que tu sitio se convierta en un "agujero de spam". Aquí tienes más información.

3. Haz una copia de seguridad.

Si todo va mal, al final habrá que recuperar una copia de seguridad y actualizar Joomla y sus extensiones, para evitar un nuevo ataque. Aunque el Servicio de Internet realiza copias periódicas de seguridad que se podrían restaurar, a veces es conveniente tener nuestra propia copia. Aquí tienes más información para hacer una copia de seguridad en Joomla.

4. Medidas de seguridad a nivel de administración.

Algunas cosas que puedes hacer como administrador para complicar un poco más la vida a los piratas (nivel avanzado, cuidado con lo que hacéis):
  • Cambia el prefijo de la base de datos (durante la instalación). Joomla crea las tablas de la base de datos con el prefijo "jos_" de forma predeterminada. Durante la instalación, podemos modificar este parámetro en el paso de creación de la base de datos por cualquier otro valor, por ejemplo "col_", "tbl_"... Esto no afectará al funcionamiento de Joomla. También se podría hacer cuando Joomla está instalado, modificando un parámetro en el archivo "configuration.php" y renombrando las tablas vía PHPMyAdmin, pero es más complicado y es conveniente probar antes en modo local. Esto ayudará a prevenir la mayoría de ataques de tipo "inyección SQL", así como los intentos de hackers por lograr los detalles de la cuenta de super-administrador a través de la tabla "jos_users".
  • Elimina las plantillas que no estás utilizando. Deja sólo la que muestra tu sitio Web. No es seguro tener muchas plantillas instaladas, ya que algunas también tienen agujeros de seguridad.
  • No actives la "capa FTP" en la configuración global de Joomla. Esto se puede configurar en la primera instalación o bien en el panel de administración de Joomla. No es conveniente activar esta opción por motivos de seguridad. Ten en cuenta que Joomla almacenará esta valiosa información (datos del FTP) en el archivo de configuración, que podría ser obtenido por un atacante aprovechando alguna otra vulnerabilidad (por ejemplo si no actualizamos ciertas extensiones) Esta opción no es necesaria para el buen funcionamiento de Joomla.
  • Cambia el nombre de usuario "admin" del administrador. Tras la instalación, accede a la gestión de usuarios, crea un super-administrador adicional y cambia el nombre de usuario al super-administrador "admin" por cualquier otro. Recuerda esos datos para posteriormente acceder. Esta combinación hará más complejo el robo del usuario principal del sistema.
  • Usa contraseñas complicadas. El nombre de tu localidad, de tu hijo o del perro no es una buena contraseña. Tampoco una contraseña personal tuya o tu fecha de nacimiento, DNI, teléfono móvil... Intenta utilizar contraseñas complejas para los usuarios administradores. Un ejemplo de una contraseña compleja es A*$m4kWz. Intenta que tu contraseña incluya alguna mayúscula, números, símbolos como *^!.)[ o similares y minúsculas, y que no tengan menos de 8 caracteres.Y por supuesto, no pegues la contraseña en un pos-it en el monitor del ordenador ni en el cajón del despacho. Cambia también esta contraseña cada cierto tiempo. Hay sitios Web que te ayudan a generar contraseñas complejas: http://www.strongpasswordgenerator.com/
  • Asigna los permisos correctos a tus archivos vía FTP (no funcionará en el servidor de la Junta, están predefinidos por motivos de seguridad). Si dispones de un servidor "alquilado", estos son los permisos correctos que deberían tener tus archivos y carpetas: Archivos PHP: 644; Archivos de configuración: 666; otras carpetas: 755. Nunca, por muy mal que vaya tu Joomla, asignes permisos del tipo "777" a nada, o tendrás problemas tarde o temprano.
  • Usa una extensión que "oculte" tu directorio de administración. JSecure es una extensión que te permite ocultar el directorio "administrator". Un plugin en el que puedes definir una palabra (por ejemplo "administrador" o "miWeb", o lo que desees) para acceder al panel de administración. Por ejemplo: http://edu.jccm.es/cp/nombrecentro/administrator, con JSecure pasa a ser http://edu.jccm.es/cp/nombrecentro/miWeb (distingue mayúsculas/minúsculas). ¡Cuidado! con este plugin pues te podría impedir el acceso al administrador, úsalo con precaución y no olvides la palabra que sustituye tu administrator. Descarga de la extensión "JSecure".

Ahora que llegan las vacaciones de verano, es un buen momento de "poner a punto" la seguridad de nuestro Joomla, para evitarnos desagradables sorpresas en septiembre.

Finalmente, si todavía usas Joomla 1.0.15, migra a Joomla 1.5.x. ¿Sabes que para este otoño aparecerá la nueva versión 1.6? No te quedes demasiado atrás. Aquí tienes información para hacer la migración. Si no te atreves con ello, te ayudamos.