Páginas

¿Cómo Mantener Seguro un Sitio Joomla!?

1. Lo más importante.

Usar un host web confiable, con un buen soporte de registros. Asegurarse que el host mantenga su servidor lo más seguro posible y que los scripts básicos del servidor (PHP, MySQL, paneles de control, phpMyAdmin, etc.) estén actualizados a las últimas versiones estables.

Algunos hosts actualizan a versiones beta y RC. Estas son actualizaciones previas a las versiones estables, lo cual significa la posibilidad de que existan fallos y vulnerabilidades.

Recuerde, que si su espacio de servidor es vulnerable, los hackers podrán entrar. Muchas brechas de seguridad que han sido descritas, no tienen nada que ver con Joomla! y están relacionadas con otros programas que se están ejecutando en el servidor.

2. Asegurarse de eliminar el directorio de instalación.

Joomla! le recuerda que elimine el directorio de instalación una vez que la instalación esté completa. Si no elimina el directorio de instalación, no podrá utilizar Joomla!, ya que de otro modo su sitio sería vulnerable (cualquiera podría entrar y utilizarlo).

3. Register_Globals=OFF.

La característica Register_Globals=ON ha sido desaprobada en PHP. Esta es la fuente de muchos ataques a servidores. Joomla! no necesita register_globals=ON, pero algunas extensiones sí. Pregunte a su proveedor de hosting para hacer el cambio de su servidor a register_globals=OFF. Esto protege no solo su instalación de Joomla!, sino a todo script que se ejecute en su servidor y que pueda ser afectado por las globales. Si su host no hace el cambio para desactivarlas, existe una forma en que usted mismo puede hacerlo. Consulte el artículo 'Guía de Manejo de Archivos .htaccess'.

Si está usando un componente, módulo o cualquier cosa que necesite register_globals=ON, contacte con el desarrollador y pregúntele si lo va a modificar, o si es existe algún parche para esto.

Si no existe un parche disponible, considere si realmente necesita usar esa extensión de Joomla! y si no existe una alternativa más segura.

4. Cuando la instalación esté completa, elimine el archivo configuration.php-dist.

El archivo configuration.php-dist no es necesario tras la instalación. Sin embargo es tenido en cuenta por los motores de búsqueda. Google actualmente dirige 12,600 enlaces hacia configuration.php-dist. Si quiere anunciar que su sitio es Joomla!, simplemente déjalo allí, los hackers se lo agradecerán por hacerles saber donde encontrarlo.

5. Si posee los conocimientos o puede contactar a alguien que los tenga – mueva su configuration.php fuera de su espacio público.

El archivo configuration.php no necesita estar en su espacio de http o www para ejecutarse.

6. Nuevamente, solo para usuario expertos – Cambie de nombre a la carpeta 'Administrator'.

Esto requiere modificaciones considerables en el núcleo del sistema, cambiando cada referencia hacia el directorio, pero supone una mayor seguridad.

7. Estar seguro de no utilizar como nombre de usuario 'admin' para entrar al Administrador (Back-end).

Escoja un nombre único para su login y asegúrese de usar una contraseña segura, preferiblemente de 8 caracteres, mezclando letras, números y otros caracteres. Note que no es una buena idea utilizar $ en cualquier contraseña, ya que MySQL puede confundirse con ello. Otros caracteres como !^()>< style="font-weight: bold;">8. No deje los permisos de configuration.php en 777.

El archivo configuration.php debe ser escribible cuando desee hacer cambios a través del Administrador de Joomla!. Tan pronto haya terminado sus cambios, regrese los permisos a 644. Si realiza los cambios directamente en el archivo nunca cambie los permisos de 644.

9. Proteja su directorio 'administrator' con una contraseña.

Esto puede realizarse fácilmente usando cpanel o cualquier otro panel de control del servidor. Solo seleccione “Proteger Directorio” y seleccione la carpeta 'administrator'. Esto automáticamente agrega la información necesaria al archivo de contraseñas del servidor y al archivo .htaccess.

10. Utilice FTP seguro cada vez que ingrese a su sitio vía FTP. La mayoría de hosts ofrecen OpenSSL o alguna otra forma gratuita de usar SSL.

Cuando se conecta usando un FTP no seguro, su contraseña y usuario no están protegidos. Cualquiera que monitoree su IP puede ver fácilmente su nombre de usuario y contraseña. Muchos clientes FTP gratuitos permiten el acceso a través de SSL (capa segura de conexión).

11. Suscríbase a los anuncios de seguridad vía mail.

Así recibirá una notificación vía mail sobre cada Nuevo parche o arreglo de seguridad.

12. Actualice el sitio con los parches de seguridad tan pronto como sea posible.

Algunos arreglos de seguridad son simples cambios en el código y otros requieren bajar e instalar archivos. Recuerde que los anunciantes de seguridad, como Secunia, muchas veces contienen enlaces a sitios que reportan vulnerabilidades. Cuando una vulnerabilidad es publicada en algún lugar, todo el mundo puede ver donde se encuentra el fallo. De tal forma que, si los hackers no han la han encontrado, los anunciantes estarán dando un buena idea de lo que buscar.

13. Asegurar su archivo .htaccess de ojos curiosos.

Este es un simple paso de seguridad que ayuda a proteger todo su servidor, no solo la instalación de Joomla!. En todos sus archivos .htaccess agrege lo siguiente:
order allow,deny
deny from all
Cambie los permisos de sus archivos a 664 (chmod 644)
Esto se debe realizar en cada .htaccess que utilice.

14. Proteja su directorio 'administrator' con SSL.

Primero, revise si su host tiene OpenSSL y mod_ssl configurado para su cuenta. Si no han hecho esta actualización todavía, la deberían agregar por usted. En caso de que lo necesite realizar usted mismo, estos links le pueden ayudar: http://www.openssl.org y http://www.modssl.org/docs/

Asumiendo que tiene instalado el mod_rewrite en su servidor, puede asegurar que los usuarios que traten de ingresar a la sección administrativa de Joomla! sean forzados a utilizar una conexión con SSL.

Para realizar esto, edite el archivo .htaccess que se encuentra dentro de la carpeta 'administrator'. Agrege las siguientes líneas a su archivo .htaccess:

RewriteEngine On
RewriteRule ^/$ /index.php
RewriteCond %{SERVER_PORT} !443$
RewriteRule ^(.*) https://yourhost.com/administrator/$1 [R=301,L]

Esto crea una sesión encriptada antes de que sea solicitado el usuario y contraseña del administrador de Joomla!. De tal forma que, si alguien esta realizando un ataque de sniffing contra su servidor con la esperanza de capturar el usuario y la contraseña en texto claro, simplemente no podrán ver la información

15. Restringir el acceso al directorio 'administrator'.

Ya hemos tratado como proteger su directorio de administración mediante una contraseña, y también hemos dado las pautas de como usar SSL para protegerlo. Si realmente quiere fortalecer más el acceso al Administrador (Back-end), también puede usar mod_access a través de su archivo .htaccess de la carpeta 'administrator' para permitir el acceso únicamente a ciertos IP.

Primero, revise si tiene instalado mod_access (normalmente es así, pero es una buena idea revisar).

Puede agregar alguna protección incluyendo lo siguiente al archivo .htaccess de su administrador. Este archivo .htaccess se encuentra dentro de la carpeta 'administrator'. NO REALICE estos cambios en el archivo .htaccess de la raíz del sitio o bloqueará a todos los usuarios, y no podrán acceder a su sitio

Si esta usando IP dinámicos (es decir no estáticos), puede denegar el acceso a todos menos a una porción del dominio de su proveedor de servicio de Internet (ISP):

Order Deny,Allow
Deny from all
Allow from tu_isp.com

Esto le dice a mod_access que el acceso solo es permitido desde 'su_isp.com' lo cual ayuda a bloquear el sitio, PERO incluye la posibilidad de que otros tengan acceso a su directorio de administración usando 'su_isp.com'. Usted tiene que tomar la decisión sobre este nivel de riesgo.

Puede bloquear el directorio con cualquier bloque de direcciones IP que su proveedor de Internet le asigne, por ejemplo:

Order Deny,Allow
Deny from all
Allow from 69.1.0.0/255.255.0.0

Nota: Agregando el bloque de IP con la máscara previene problemas con los cambios en su IP dinámica. Sin un rango de IP, corre el riesgo de ser bloqueado cuando su ISP cambie a IP. De nuevo, permitir el acceso al bloque significa que existe el riesgo de que cualquier persona usando un IP de ese bloque pueda tener acceso a su directorio.

Si está usando IP estáticos, solo agrege:

Order Deny,Allow
Deny from all
Allow from 216.239.37.99

(Donde 216.239.37.99 es su dirección IP estática).
Cuando tiene más de un usuario administrador, simplemente agrege más directivas “Allow” con sus respectivas direcciones IP.

16. Back-up, Back-up, Back-up!

Toda la seguridad del mundo no le ayudará si un avión se estrella contra el edificio donde se encuentra su servidor. ¡LOS BACKUPS DEBEN TENER UNA ALTA PRIORIDAD! (no tenga en cuenta el orden de cada uno de los epígrafes de este artículo, ya que no hacen referencia a su prioridad).

Si utiliza un host que dice que realiza backups (copias de respaldo), asegúrese de conocer exactamente qué es lo que guardan en los backups, con qué fecuencia lo hacen, cuanto tiempo mantienen los backups previos, y donde se almacenan. Existen muchas historias de terror sobre hosts que ofrecen backups, en las que el cliente se entera más tarde que el backup no incluye ninguna base de datos (o un caso peor, como el de un cliente cuyo host solo obtenía los backups de los html, lo cual dejaba sin backup todos los scripts, archivos PHP y base de datos).

No deje el backup en el servidor. Si el servidor es golpeado por un avión, pierde todo.

Ciertamente, sabemos que los centros de datos raramente son golpeados por aviones, pero no hace mucho tiempo un centro de datos en Inglaterra fue alcanzado por una explosión de aceite y todos los servidores (y backups) fueron quemados. Los accidentes pueden pasar. Incluso el mantenimiento de un servidor tiene riesgos.

¿Con qué frecuencia se debería realizar el backup? Eso depende de cuanta información este dispuesto a perder. También depende de cuanto tiempo esté dispuesto a perder en reconstruir su sitio. Para la mayoría de sitios, un backup semanal es suficiente. Si su host no incluye un backup completo una vez a la semana (almacenado en otro centro de datos), hágalo usted mismo y guárdelo en su máquina. Esto le asegura no perder todo.

En el caso de que su sitio sea hackeado, es fácil restaurlo al último backup seguro. Esto también significa que puede comparar los archivos para ver que cuales fueron los cambios realizados por los hackers.

17. Hágale difícil a los hackers, el encontrar su sitio.

Esto ya se ha explicado un poco en los puntos anteriores. Los hackers dedicados no necesitan encontrar su sitio, todo lo que necesitan es escribir un bot y soltarlo en Internet con la esperaza que tarde o temprano el bot encuentre un sitio inseguro que atacar. Por lo tanto, cuando vea en entradas log de intentos fallidos para explotar cosas como Register_Globals, esto no significa que alguien deliberadamente esta atacando su sitio, puede ser que así sea, pero normalmente significa que existe un bot que se encuentra viajando. Los sitios estáticos que no tienen nada que ver con los CMS también reciben estos intentos en sus logs.

No obstante, los hackers casuales y scripts insidiosos pueden tener varias ideas de cómo hackear un sitio realizado con Joomla! si pueden identificar claramente un objetivo.

Sugerencia: Elimine cualquier cosa de la página pública que identifique su sitio como un sitio realizado con Joomla!.

Cosas como la información del pie de la pagina. Reemplázala con su propia información. Google muestra 6.88 millones de razones por lo cual es una buena idea: http://www.google.com/search?hl=en&q...re+released%22

Efectúe una búsqueda en Google con la sentencia: inurl:administratora “bienvenido a Joomla!”; y podrá ver 18,700 resultados, los cuales no solo le dicen a cualquiera que busque donde se encuentra el directorio de administración, sino que muchas veces permite ver a cualquiera la versión que está ejecutando.

Fuente|joomlaspanish.org

No hay comentarios:

Publicar un comentario