Aquí tienes 11 consejos que te pueden ayudar a mantener tu web segura:

  • Descarga Mambo/Joomla sola y únicamente de los sitios oficiales: www.joomla.org
  • No instales componentes o módulos con poca fama o sin soporte. El núcleo del sistema puede ser impenetrable pero si instalas algún módulo, plugin o componente vulnerable, vuelves vulnerable todo.
  • Haz copias de seguridad periodicamente tanto de la base de datos como de los archivos.
  • Manten actualizado el sistema con la última versión. Al momento de descubrirse una vulnerabilidad es muy corto el tiempo en el cual se desarrolla un parche o arreglo para la misma. Si tienes el sistema actualizado y/o parcheado con los últimos parches disminuyes notablemente la probabilidad de que te hackeen el site.
  • Utiliza .htaccess para controlar los accesos, y para proteger con contraseña el directorio /administrator/ (HTTP Authentication).
  • Utiliza servicios online de detección y alertas contra hackers.
  • Investiga y conoce muy bien el funcionamiento de usuarios y permisos en sistemas Unix/Linux. No otorgues permisos innecesarios de escritura a cualquier archivo o directorio. Haz no escribible el archivo configuration.php despues de hacer cambios.
  • Utiliza componentes SEF avanzados para enmascarar las verdaderas URLs de Mambo/Joomla
  • Evita utilizar nombres o contraseñas “fáciles” de adivinar o de vulnerar mediante “fuerza bruta”. Nunca utilices las mismas contraseñas y usuarios para FTP y para las bases de datos (esto último es muy peligroso). Evita utilizar el usuario “admin” y la contraseña “admin” para el ingreso al administrador del sistema.
  • Contrata hostings profesionales, donde conocen a fondo y dan mucha importancia al tema de la seguridad. La configuración de PHP es vital aquí: Registros globales desactivados, modo seguro, activación de comillasmágicas GPC, ejecución de shell deshabilitado para PHP, etc.
  • Deshabilita el reporte de errores de PHP, hasta cuando necesites identificar problemas únicamente.

Explotando vulnerabilidades

Las vulnerabilidades son agujeros de seguridad por donde el hacker puede introducirse de alguna manera en el sistema y luego utilizar estas vulnerabilidades mismas para propósitos con malas intenciones. Aquel medio o herramienta que le permite al hacker introducirse clandestinamente en un sitio web o servidor se le llama “EXPLOIT”. Esto puede ir desde sencillas ejecuciones de códigos por URL hasta la programación de complejos scripts en PHP utilizados remotamente para vulnerar sitios Joomla/Mambo

Algunos términos relacionados:

XSS (Cross Site Scripting) - este tipo de vulnerabilidad es consecuencia de errores en el filtrado de las entradas de datos en aplicaciones web.

Remote File Inclusion - Técnica de hackeo avanzado mediante la cual se incluye scripts con código PHP/Perl (sin ejecutar) en servidores remotos (utilizados por los hackers), los cuales ejecutan acciones arbitrarias en el servidor de la víctima.

Backdoor - script programado en PHP/Perl que le permite al hacker (luego de que ha conseguido subirlo al servidor de la víctima), subir nuevos archivos, forzar permisos, recorrer directorios, editar o borrar archivos, ejecutar sentencias shell o sql, etc. Un back-door es una especie de mini “panel de control” de archivos en el servidor (algo muy peligroso).

Algunos ejemplos de vulnerabilidades en las primeras versiones de Joomla

Problema 1: Se produce un fallo en el sistema al ejecutar http://www.sitiovulnerable.com/mambo/banners.php sin argumentos. Esto le muestra al hacker información vital que deja al descubierto las rutas relativas en el sistema de directorios del servidor, asignado a este usuario:

Warning: mysql_query(): Access denied for user: ‘apache@localhost’ (Using password: NO) in /home/usuariovulnerable/public_html/mambo/banners.php on line 35Warning: mysql_query(): A link to the server could not be established in /home/usuariovulnerable/public_html/mambo/banners.php on line 35

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/usuariovulnerable/public_html/mambo/banners.php on line 35

Fatal error: Call to a member function on a non-object in /home/usuariovulnerable/public_html/mambo/banners.php on line 44

(Actualmente este problema no sucede porque no se puede ingresar directamente a un archivo del sistema. Si se intenta hacer esto se recibirá un error “Direct access to this location is not allowed“)

Muchas personas utilizan el nombre de usuario en su cuenta de hosting idéntico a su contraseña. Con el caso anterior entonces el hacker ya sabe que el nombre de usuario del sistema donde corre el sitio es “usuariovulnerable”. A continuación probará para ver si esta palabra también es su contraseña.

Problema 2: Inyección SQL.

En esta ocasión se muestra cómo se le pasan valores de argumentos a Mysql arbitrariamente desde la URL. Esto ejecuta una consulta SQL que imprimirá los valores de las passwords de los usuarios (encriptado con MD5) en un archivo de textos cualquiera que posea permisos de escritura. (Esto siempre y cuando estén deshabilitadas las comillas mágicas de PHP)

http://www.sitiovulnerable.com/mambo/banners.php?op=click&bid=100 UNION select password from mos_users where 1=1 into outfile ‘/home/usuariovulnerable/public_html/version.txt’

Esperamos que esta información te haya sido de utilidad.



JoomlaEmpresa.es is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries. Copyright © 2017 Joomla Empresa. Joomla! es software libre, liberado bajo la GNU General Public License.

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.