Clicky

10 consejos para mejorar la seguridad de un sitio web Joomla

seguridad Joomla!

La mayoría de las instalaciones de Joomla son vulnerables debido a errores de configuración

Joomla ha sido descargado más de 68 millones de veces. Eso lo convierte en el segundo CMS más utilizado para sitios web. Según la investigación de Sucuri, también es la segunda plataforma de sitios web más infectados. Sin embargo, para ponerlo en contexto, la razón por la que la mayoría de las instalaciones de Joomla son vulnerables es debido a errores de configuración, malas prácticas de hosting o códigos vulnerables en extensiones de terceros.

Con Joomla siendo un sitio popular y fuertemente adoptado, el número de sitios infectados parece alto. Los siguientes consejos te ayudarán a aumentar la seguridad de tu sitio web de Joomla.

1. Utilizar datos de inicio de sesión fuertes
2. No instalar demasiadas extensiones
3. Restringir los permisos de archivos y directorios
4. Proteger el acceso de administrador
5. Utilizar un firewall de aplicaciones web
6. Certificado SSL
7. Supervisar el sitio web
8. Mantener Joomla y sus extensiones actualizadas
9. Endurecer la configuración de PHP
10. Eligir una empresa de alojamiento confiable

Nota: No hemos incluido ninguna extensión de seguridad en los consejos que se enumeran a continuación. Como regla general, cualquier cosa que se instale en Joomla podría ser un código potencialmente vulnerable, aunque sea una extensión centrada en la seguridad.

1. Utilizar datos de inicio de sesión fuertes

Después de instalar un sitio web no guardes el nombre de usuario y la contraseña de administrador predeterminados. Asegúrate de configurar una contraseña segura para que un hacker no pueda adivinarla usando una lista de contraseñas más utilizadas.

Crea una contraseña larga y complicada y guárdala de forma segura en un administrador de contraseñas como 1Password o KeePass.

2. No instalar demasiadas extensiones

Joomla es una plataforma tan potente porque es muy fácil extender su funcionalidad en unos pocos clics. ¡Pero con ese gran poder, viene una gran responsabilidad! La mayoría de los hacks de Joomla ocurren debido a extensiones de terceros que no siguen las mejores prácticas.

Prueba primero las nuevas extensiones en un escenario o entorno local para evaluar su valor y estabilidad. Puedes probar tu sitio de Joomla en tu máquina local usando Joomlatools Vagrant box.

Asegúrate de desinstalar las extensiones que ya no necesitas. Más código en tu sitio web sólo aumenta el número de potenciales vulnerabilidades.

Como alternativa, puedes crear tu aplicación utilizando la plataforma de Joomlatools. Se trata de un moderno entorno de Joomla con una base de código Joomla más ligero y una estructura de directorios mejorada. Sólo están expuestos por el servidor web los recursos públicos mientras que los archivos y las principales extensiones de PHP se mueven fuera de la raíz del documento.

Y, por último, revisa periódicamente la lista oficial de extensiones vulnerables.

3. Restringir los permisos de archivos y directorios

Un problema demasiado común son los permisos de archivos incorrectos. Sólo se debe otorgar acceso de escritura a los directorios y archivos que realmente lo requieran, como los directorios de subida (upload) y caché. Todo lo demás debe bloquearse una vez que se hayan instalado las extensiones y plantillas.

En una configuración típica de Joomla, los permisos se verían así:

• Directorios establecidos en 0755: sólo el propietario del archivo puede escribir en él, el resto puede leerlos y ejecutarlos.
• Archivos establecidos en 0644: sólo el propietario puede escribir, el resto puede leer.
• PHP establecido en 0444: nadie puede escribir en el archivo.

Y, finalmente, nunca jamás usar permisos 777. ¡Permite que tus archivos sean vistos y modificados por cualquiera! Esto es especialmente importante si estás en un alojamiento compartido. Cualquier otro usuario tendrá acceso completo a tus archivos.

4. Proteger el inicio de sesión del administrador

Puedes solicitar una contraseña en el área de inicio de sesión de administración para mejorar aún más la seguridad. Puedes hacerlo manualmente creando un archivo .htaccess en el directorio del administrador, tal como se describe en la documentación de Joomla.

5. Utilizar un firewall de aplicaciones web

Un firewall de aplicación web (WAF, en inglés) actúa como un filtro y un monitor para aplicaciones HTTP. Puedes instalar uno en tu propio servidor, como ModSecurity, o utilizar una solución basada en la nube. El uso de un firewall de aplicaciones web proporcionará las siguientes funciones:

• Protección contra Spambot
• Protección contra ataques de fuerza bruta
• Protección de puertas traseras
• Protección DDoS
• Protección de inyección de SQL
y más...

6. Instalar un certificado SSL

Para proteger la comunicación entre tus visitantes y tu sitio web, debes cifrarla usando SSL. Incluso si no está ejecutando sitios de comercio electrónico o gateways de pago, ejecutar en HTTPS y tener un certificado SSL agrega seguridad al sitio protegiendo tu nombre de usuario y contraseña cuando tu o tus colegas inician sesión en tu sitio web. De lo contrario, estos datos de acceso se envían a través de Internet en texto plano.

La obtención e instalación de un certificado se ha convertido en gratis y fácil de hacer gracias a Let's Encrypt. Una vez instalado, puedes probar y mejorar tu configuración SSL mediante la prueba del servidor SSL.

7. Monitorear el sitio web

¿Cómo sabes que tu sitio sigue funcionando? Necesitas monitorear tu sitio web continuamente para asegurarte de que no ha sido hackeado. Si se produce un problema, recibirás un correo electrónico o SMS.

Hay muchas herramientas para elegir que pueden ayudarte a mantener un ojo en las cosas, como updown.io o Pingdom. Hay mucho más si lo buscas.

8. Mantener Joomla y sus extensiones actualizadas

La parte más importante de la gestión de un sitio web de Joomla es la aplicación de actualizaciones periódicas. La mayoría de las versiones de extensiones y de Joomla contienen correcciones de seguridad, por lo que nunca es una buena idea omitirlas.

Por suerte, Joomla tiene un comprobador de versión incorporado y notificará cuando está disponible una actualización del núcleo. Muchas extensiones soportan ahora el sistema de actualización de Joomla, que también notificará sobre nuevas versiones de extensión.

Asegúrate de hacer una copia de seguridad antes de actualizar!

9. Endurece tu configuración de PHP

PHP es el leguaje de programación en el que está escrito Joomla. Para mejorar la seguridad de tu Joomla, recomendamos que cambies las siguientes directivas PHP en tu archivo php.ini:

• expose_php = 0 : oculta la versión de PHP a los encabezados de respuesta para que los atacantes no sepan qué vulnerabilidades conocidas podrían estar ocultando en su versión.

• open_basedir = "/var/www/yoursite.com:/tmp/" : Dile a PHP que incluya en la lista blanca los directorios dados. Esto evita que los atacantes accedan a cualquier otra parte de su sistema de archivos. Ten en cuenta que también debes incluir todos los directorios que PHP necesita tener acceso, incluido el directorio de subida de archivos temporales y la ubicación de almacenamiento de sesión.

• display_errors = 0 : Los errores nunca deben ser mostrados al usuario final ya que pueden dar información importante sobre su configuración a los atacantes.

• Disable_functions = exec,passthru,shell_exec,system,proc_open,proc_close,proc_terminate,popen,curl_exec,curl_multi_exec,show_source,posix_kill,posix_getpwuid,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,posix_setuid,posix_uname,php_uname,syslog

Desactiva los métodos peligrosos de PHP para que los atacantes no puedan usarlos para comprometer tu sistema.

También puedes desear deshabilitar las siguientes opciones:

• allow_url_fopen = 0
• allow_url_include = 0

No permitas que PHP abra URLs remotas porque no siempre se puede confiar en el contenido remoto.

• file_uploads = 0 : Deshabilita las subidas de archivos si tu sitio web no las necesita.

Sin embargo, si necesitas subidas de archivos para un gestor de documentos como DOCman o un gestor de archivos y medios como FILEman, debes dejar estas opciones sin tocar.

10. Elije una empresa de alojamiento confiable

Por último, las mismas reglas que se aplican a tu instalación de PHP y servidor web como Joomla y extensiones: asegúrate de mantener tu versión de PHP actualizada o elegir una empresa de alojamiento que proactivamente haga esto por ti.

Puedes encontrar una lista de versiones de PHP que están desactualizadas aquí: http://php.net/eol.php. Si estás ejecutando alguna de las versiones de esta lista, es muy probable que tu sitio de Joomla esté en riesgo.

Jesus_Caceres