4 minutos de lectura ( 820 palabras)

Me han hackeado, ¿y ahora qué?

Me han hackeado, ¿y ahora qué?

Sí, aquello que pensabas que no podía acurrir ha pasado: tu web ha sido hackeada. Una vez pasado el susto inicial, seguramente las preguntas que te harás serán: ¿cómo puedo recuperar mi sitio? y ¿qué puedo hacer para evitar un nuevo hackeo?

¿Cómo puedo recuperar mi sitio?

Bien, lo primero que hemos de asumir es que TODO ha sido comprometido. El primer paso es redireccionar nuestra web a una página de "mantenimiento" o similar para poder trabajar tranquilos. Esto es fácil de hacer desde tu proveedor web, cambiando la ruta de su sitio a una carpeta donde tengas un index.html que muestre que el sitio está temporalmente fuera de servicio. También podemos crear un fichero .htaccess para redireccionar todas las peticiones excepto la de nuestra direccion IP, aunque esto es un poco más complicado.

magazine.joomla.org/issues/issue-feb-2011/item/378-how-offline-is-joomla-offline-mode

Una vez hecho esto, debemos cambiar TODAS (sí, TODAS) las contraseñas que usamos en Joomla: la de la base de datos, la de las cuentas ftp, la de acceso al hosting y, por supuesto, la del Super Administrador.

La opción más sencilla y rápida para tener nuestro sitio online es restaurar nuestra última copia de seguridad antes de que nuestro sitio fuera hackeado (porque tenemos copia de seguridad RECIENTE, ¿no?).

Sin embargo, es bastante probable que el atacante haya introducido modificaciones o subido archivos que le permitan acceder al sitio en cualquier momento, así que mi recomendación es borrar todos los archivos del sitio web y partir de cero.

En este caso es MUY IMPORTANTE guardar el archivo "configuration.php" y las modificaciones propias sobre las extensiones ANTES de borrar nada. Nos descargamos el paquete de instalación de Joomla!, lo descomprimimos, eliminamos el directorio de instalación (no queremos realizar una instalación nueva) y sobreescribimos TODOS los archivos del servidor. A continuación, restauramos el archivo "configuration.php" y las modificaciones que habíamos guardado.

Si no estamos seguros de que las extensiones estén limpias, deberemos realizar el mismo procedimiento seguido con el core: descargar el instalador de cada extensión y luego sobreescribir los archivos que hayamos modificado por nuestras copias de seguridad. ¿No tenemos copia de seguridad de las modificaciones? Pues os tocará realizar los cambios a mano...

Una vez realizada alguna de estas dos opciones, nuestro sitio ya está listo para funcionar de nuevo. Sí, ya podemos revertir el redireccionamiento del primer paso, pero aún nos queda la (ardua) labor de identificar cómo han hackeado nuestra web.

¿Qué puedo hacer para evitar un nuevo hackeo?

Existen muchos administradores de sitios web que paran en este punto una vez recuperado su sitio. Sin embargo, hasta aquí no hemos hecho nada para evitar que el sitio sea hackeado de nuevo. Entonces, ¿qué debemos hacer?

Lo primero es intentar dilucidar la ruta de entrada. Según las estadísticas, es muy probable que el hackeo se haya producido utilizando alguna vulnerabilidad en componentes de terceros. Podemos chequear si cada uno de los componentes que tenemos instalados aparecen en la VEL (Vulnerable Extension List) o instalar mi extensión Securitycheck que nos dirá si tenemos componentes vulnerables con un solo click. Si tenemos versiones vulnerables deberemos instalar la última versión o alguna que corrija la vulnerabilidad presente:

comprobacion vulnerabilidades

Si en el archivo de logs de nuestro servidor (Apache) observamos peticiones "extrañas" a alguna extensión vulnerable, es posible que esta haya sido la ruta de entrada a nuestra web.

Os dejo como ejemplo algunas secuencias de ataque recogidas por mis extensiones:


ejemplo ataques

También debemos buscar accesos repetidos a archivos php (que no sean al archivo index.php). Este tipo de accesos puede indicar backdoors o shells para realizar distintas acciones de forma remota. Normalmente los atacantes intentan camuflar estos archivos llamándolos de forma similar a otros existentes en cualquier instalación de Joomla!: jindex.php, cpanel_config.php, etc. Por supuesto, multitud de accessos al backend desde direcciones IP que no sean la nuestra indicarán ataques de fuerza bruta o diccionario para intentar conseguir acceso al sistema a través de las credenciales de algún usuario del sistema.

Bien, una vez realizadas todas estas tareas ya podemos estar seguros de que nuestra web no volverá a ser hackeada, ¿no?. PUES NO. Nadie puede garantizar que un sitio web no será hackeado, porque la seguridad es un concepto global que comienza por nosotros mismos. De nada nos sirve proteger a ultranza nuestro servidor si luego utilizamos las credenciales de super-administrador en una red insegura o tenemos un troyano en nuestro ordenador que nos robe la información de acceso vía ftp.

Aún así, debemos tomar medidas para proteger nuestra web. Usar contraseñas complejas, tener nuestras extensiones actualizadas, desinstalar los componentes, plantillas, módulos o plugins que no usemos (tenerlos deshabilitados no impide que sean usados) y hacer backups son medidas sencillas que pueden evitarnos muchos problemas.
Todas estas tareas podéis hacerlas vosotros mismos, aunque os llevará tiempo terminarlas. También podéis contratar ayuda para realizar estos procesos y, por supuesto, utilizar alguna de las extensiones del JED creadas para ayudarnos a proteger nuestra web.

Saludos a todos

0
Experiencia en el J And Beyond 2014
Editor Rokpad: Simpleza orientada al código
 

Comentarios

¿Ya està registrado? Ingresa Aquí
No hay comentarios por el momento. Sé el primero en enviar un comentario.

By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/