Al lanzar un sitio web uno de los factores a tener en cuenta es el de seguridad, más cuando se usa un gestor de contenidos de código abierto como Joomla. Por lo general los atacantes explotan huecos de seguridad como SQL Injection, XSS, Remote File Include, Remote File Upload, etc.

En Tisnado Studios implementamos un protocolo de seguridad para sitios web sobre Joomla:

Durante la instalación:

  1.  Descargar e instalar siempre la última versión de Joomla.
  2.  Cambiar el prefijo predeterminado de la base de datos jos_ por cualquier otro.
  3.  No habilitar la capa FTP. La instalación ofrece esta opción pero se debe evitar ya que los datos de acceso quedan grabados en el archivo configuration.php.

Despues de la instalación:

  1. Cambiar el nombre de usuario del administrador (admin) en la base de datos. Usualmente es el primer o único registro de la tabla jos_users.
  2. Habilitar la opción de parámetros de optimización SEO en la configuración global: URLs amigables para motores de búsqueda y Usar Apache mod_rewrite. Luego de esto se debe cambiar el archivo htaccess.txt a .htaccess en el directorio raíz del  sitio usando un cliente de FTP o un administrador de archivos vía web.
  3. Agregar al archivo de plantilla el metatag generator: <?php $this->setGenerator('Lo que desees colocar aquí'); ?>. Esto evita que Joomla agregue la siguiente etiqueta: <meta name="generator" content="Joomla! 1.5 – Open Source Content Management" /> Esto identifica automaticamente al sistema y la versión comprometiendolo el mismo ya que es más fácil de ser encontrado por posibles atacantes.
  4. Borrar el archivo robots.txt que aparece en la carpeta raíz del sitio. Este archivo, aunque es usado para indicar a los robots de los motores de búsqueda dónde deben buscar, expone la estructura de directorios del sitio. Opcionalmente tambien se pueden borrar los archivos INSTALL.php, LICENSE.php, LICENSES.php, CHANGELOG.php, COPYRIGHT.php, CREDITS.php y configuration.php-dist ninguno de estos archivos son necesarios para el funcionamiento del sitio.
  5. Instalar un  componente para bloqueo de ataques. Algunos de los sugeridos son:
    1.  jHackGuard: http://www.siteground.com/joomla-hosting/joomla-extensions/ver1.5/jhack.htmGratis
    2.  RS Firewall: http://www.rsjoomla.com/joomla-components/joomla-security.html  – De pago
    3.  Secure Live Joomla: http://www.securelive.net/  – De pago
  6. Instalar componente para hacer backup de base de datos y archivos:
    1.  Akeeba Backup: http://extensions.joomla.org/extensions/access-&-security/backup/1606/detailsGratis
    2. Luego de instalar el componente configurar el Akeeba Backup para que guarde los backps fuera de la carpeta publica, usualmente /public_html o /www. Tambien se recomienda  activar el plugin: Akeeba Backup Lazy Scheduling y colocar la cantidad de días entre cada backup en la configuración.

En resumen, cualquiera sea el CMS que uses para administrar tu sitio web, evita que el mismo sea reconocido o fácilmente encontrado por medio de un buscador.