viernes, 23 de noviembre de 2012

Fortaleciendo un sistema Joomla

Vimos en post anteriores;  Vulnerabilidades en Joomla (I) y Vulnerabilidades en Joomla (II) como  detectar vulnerabilidades en un sistema Joomla.

En este post contaré las medidas que conviene tomar para tener una web joomla lo más segura posible.

Que necesitamos tener para dormir un poco tranquilos:

  •     Copias de seguridad
  •     Versiones de los programas actualizadas.
  •     Calidad del hosting
  •     Medidas específicas de seguridad


Copias de seguridad.
Sobra cualquier explicación de porque esta debe ser la primera medida de seguridad.
Normalmente los proveedores de alojamiento a través de sus paneles de control te permiten hacer copias de seguridad.
Se trata de herramientas muy generales y como tenemos un sitio con un sistema determinado mi consejo es usar una herramienta más específica.
Recomiendo Akeeba Backup, una de las mejores herramientas para salvaguardar sistemas Joomla. Tiene una configuración muy versátil que nos permite diversos tipos de respaldo: Completos, incrementales, sólo bases de datos, exclusión de tablas, ficheros o directorios.
Además necesitamos una herramienta que nos planifique las la realización de las copias  y la descarga a otro sitio externo.
Remote Control, otro producto de Akeeba Backup realiza esta dos tareas de forma muy efectiva.

Una adecuada política de copias de seguridad: tipos y periodicidad es impresencidible si queremos marcar la diferencia entre un servicio web  profesional  y la web hecha por el amigo de un primo que sabe hacer páginas web


Versiones de los programas actualizadas.
Es importante estar suscrito  de correos relacionadas con la seguridad de los componentes que tengamos instalados en nuestra web Joomla.
Una lista muy completa es  la Jooma VEL (Vulnerability Extensión List), que siempre que se detecta una vulnerabilidad envía un correo con toda la información disponible sobre la vulnerabilidad detectada.
También debemos tomar la costumbre de consultar  esta lista cuando instalemos un nueva extensión de Joomla.
Y muy importante tener claro: Desactivar una extensión no elimina los potenciales peligros que pueda tener dicha extensión.

Importante pues borrar todas aquellas extensiones que no se usen.

Hosting
Comprobar  que el hosting tiene también el software actualizado: Versiones de servidor web, de php, de base de datos, del panel de control.
Comprobar  que puertos y servicios presta el hosting y solicitar que se cierren todos aquellos que no usamos (si el alojamiento es compartido probablemente nos digan que no se puede).
Comprobar que las configuraciones están de acuerdo a las prácticas de seguridad.

En cierta ocasión me encontré con un Hosting que no solo tenía el puerto 3306 (standard de MySQL) sino que además la versión de MySQL estaba fuera de mantenimiento.

Si estamos en un servidor compartido la seguridad de nuestro sitio web depende además de la seguridad de las otras webs que estén en el mismo servidor y de la configuración de seguridad de la infraestructura del servidor.

A veces nos fijamos demasiado en el espacio o transferencia a la hora de contratar un hosting  y olvidamos temas de seguridad.

Medidas específicas en el hosting.
Revisemos las opciones de seguridad que nos da el hosting a través de su panel de control y veamos como nos pueden ayudar: filtros, firewall, protección contra ataques  DDoS, etc.

Fichero .htaccess.
Alimentar constantemente este fichero con nuevas directivas. Analizemos nuestro access log y veamos que tipos de ataques nos hacen y pongamos las medidas correcta para que queden detenidos en este nivel de seguridad.


Medidas específicas en Joomla.
Además de las medidas anteriores que son válidas para cualquier sistema hay extensiones de Joomla que nos pueden ayudar a proteger nuestra web.

Estas extensiones se ejecutan en el mismo de nivel de arquitectura y privilegio que el propio Joomla por lo que cualquier vulnerabilidad de las descritas anteriormente puede inutilizar las que hagamos dentro de Joomla.
Antes de empezar a ver que extensiones nos pueden ayudar tomemos algunas simples medidas profilácticas:

  • Empezamos borrando ficheros inútiles como el configuration.php-dist  probablemente no sea necesario volver a tirar de él.
  • Comprobar los permisos de ficheros y directorios
  • Saquemos del configuratión php fuera del document root.
  • Cambiemos el nombre del usuario admin
Y más cosas que se detallan en este excelente post
Y a continuación veremos algunas extensiones de seguridad para Joomla
Quienes tengan cierta experiencia en Joomla ya imaginarán que las extensiones de seguridad estará formada por una serie de plugins.
He aquí los plugins que recomiendo usar:

jHackGuard: Actúa como filtro para bloquear ataques de inyección, file inclusion y transversales de directorios. Es muy similar a lo que hace el .htaccess aunque más fácil de configurar. Es una extensión gratuita que ha creado SiteGround un proveedor holandés de alojamientos. Coloca un pequeño enlace en la parte inferior con un link a su web. Es posible por configuración eliminarlo.

Joomla Backend Token: Sirve para ocultar el acceso al backend. Ya sabemos que es posible acceder a formulario de acceso colocando a continuación el directorio /administrator/
Con este plugin necesitaremos además especificar un token:
http://www.tusitio.com/administrator/index.php?token=xxxxx
xxxx será el número que nosotros especifiquemos.
Es configurable la redirección en caso de no concordar el token suministrado con el token requerido: la home de sitio, google, etc.....
Este plugin no se ha actualiza a las últimas versiones de Joomla

Login Alert. Este plugins simplemente manda un correo  cuando un usuario determinado se conecta al backend. No protege de nada pero te avisa de accesos no autorizados.

Si queremos gastarnos algo de dinero podemos usar Admin Tools Profesional, del mismo equipo que ha desarrollado Akeeba Backup.
Integra tareas similares a las de los plugins descritos y muchas cosas mas. 


Y para finalizar
La seguridad no es proyecto con fin definido, si no un estado. Y debemos estar siempre trabajando para que ese estado no caiga por debajo de unos umbrales mínimos de calidad.
Y siempre, el ultimo recurso: las copias de seguridad.
En un proximo post, aunque no el siguiente: Me han atacado... y ahora qué?

No hay comentarios:

Publicar un comentario