Portada Wordpress Cómo Recuperar WordPress después de ser Hackeado
Por desgracia nos podemos ver en una situación muy comprometida si algún día descubrimos que han hackeado nuestra web.
Tras el momento inicial de pánico hay que mantener la cabeza fría y tomar las medidas necesarias para recuperarlo. Puede costar más o menos pero si sigues esta guía podrás recuperar tu WordPress con una seguridad prácticamente absoluta.
La guía está basada para usuarios de WordPress por ser el CMS más usado. Al ser el más usado es el más susceptible de ser atacado, aunque la seguridad de WordPress es realmente buena no es infalible, y muy posiblemente la culpa sea del usuario, o sea, nosotros mismos.
En Hostinet realizamos búsquedas de código malicioso en todos los hosting para detectar posibles problemas y si detectamos alguno lo trasladamos a un directorio llamado Cuarentena dentro del propio hosting siguiendo la ruta original para saber de donde ha venido el problema y protegeremos el sitio.
Esto ya es una ayuda importante para que cualquiera pueda empezar a recuperar su sitio Web basado en WordPress y puedes encontrar más información en este artículo.
¿Copias de Seguridad? En Hostinet dispones de un seguro de Backups para que nunca te quedes colgado. CLICK AQUÍ
Lo primero que hay que hacer es poner nuestro sitio Web en mantenimiento. Esto significa que nadie pueda entrar al sitio para poder determinar de donde vienen los problemas y cómo solucionarlos.
Si Hostinet lo detecta, protegerá el sitio creando un usuario y contraseña que se enviará a tu cuenta de email junto con más información para que puedas empezar a recuperar tu sitio.
También puedes usar la herramienta gratuita de Google a la que llaman Informe de Transparencia.
En ella podéis añadir vuestro dominio y ver lo que es capaz de detectar y puede servirte de ayuda para saber por donde empezar. También puedes usar la opción de Problemas de Seguridad dentro de Google Webmaster Tools.
Si nuestro WordPress está hackeado, es muy posible que hayan conseguido nuestra contraseña de administrador de WordPress, nuestra contraseña de cPanel, la del FTP y la de la base de datos.
Una vez cambiadas las contraseñas y no antes, debemos sustituir la nueva contraseña de nuestra base de datos en el wp-config.php de nuestro WordPress ya sea por FTP o a través del Administrador de Archivos de cPanel.
Debemos editar wp-config.php y cambiar la contraseña antigua por la contraseña nueva:
/** El nombre de tu base de datos de WordPress */ define('DB_NAME', 'nombredetubasededatos'); /** Tu nombre de usuario de MySQL */ define('DB_USER', 'nombredeusuario'); /** Tu contraseña de MySQL */ define('DB_PASSWORD', 'Aquí Tu Nueva Contraseña'); /** Host de MySQL (es muy probable que no necesites cambiarlo) */ define('DB_HOST', 'localhost');
También en wp-config.php puedes cambiar las claves únicas de autenticación, ya que lo estás editando para cambiar la contraseña de la base de datos.
Cambiando estas claves nos aseguramos de que ninguna sesión activa siga activa, así que si alguien está logueado en nuestro WordPress con credenciales de administrador será deslogueado y no podrá seguir conectado en nuestro WordPress.
Cambiar las claves únicas es muy sencillo. Sólo debemos abrir cambiarlas en wp-config.php. Si entráis en el archivo veréis las líneas define y un sitio donde te indica que pongamos la contraseña que queramos:
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
Estas contraseñas no tendréis que aprenderlas de memoria, así que no hay que preocuparse por recordar frases o combinaciones de letras y números. Lo único que debemos hacer es mantenerlas en secreto siempre.
Podéis generar contraseñas seguras desde un sitio habilitado por WordPress para este menester. Tan sólo hay hacer click aquí y os generará las lineas define con contraseñas únicas. Hacéis un copia y pega al wp-config-php y guardáis.
Tenemos que asegurarnos de que nuestro WordPress esté igual que antes una vez lo hayamos limpiado de códigos maliciosos. Para eso necesitamos copias de seguridad de:
También puedes guardar las imágenes de la Web como la cabecera, el favicon.ico, etc… Pero debes comprobar que no están infectados antes de volver a subirlos.
La base de datos es el alma de nuestro WordPress. Sin base de datos no hay Web. Si perdemos la base de datos perderemos toda la información que hace que nuestro WordPress sea nuestro WordPress.
Os damos varias opciones para realizar una copia de seguridad de la base de datos. Incluso algunas opciones para realizar la copia de seguridad de la base de datos de manera habitual y no esperar a tener problemas para tener una.
Si estás leyendo este artículo sin tener ningún problema en tu WordPress, aprovecha para realizar una copia de seguridad de tu base de datos ya que puede ahorrarte muchos dolores de cabeza.
Si no tienes mucha experiencia es muy probable que no puedas reconocer los archivos habituales de en una instalación de WordPress pero puedes descargar la última versión de WordPress, descomprimirla y echarle un vistazo a los archivos , familiarizarte y luego acceder a la instalación de WordPress del hosting para comparar e intentar detectar archivos sospechosos.
Si no tenías la ultima versión de WordPress debes descargar la versión que estabas utilizando desde aquí.
También puedes ordenar los archivos por orden de modificación ya que, posiblemente, los últimos archivos modificados serán los que más posibilidades tengan de ser los infectados.
Lo normal es empezar por wp-content ya que ahí están los themes, plugins, y un montón de contenido que nuestro WordPress necesita de esos archivos para funcionar y es donde mejor pueden esconderse.
Si un plugin es el responsable del problema lo borras sin dudarlo y lo descargas otra vez (siempre que sea la misma versión). Si era un plugin pirata, no lo vuelvas a usar.
Si un theme tiene un problema, puedes descargar el theme original y reemplazar el archivo infectado por el original. Si realizaste alguna modificación manual en ese archivo del theme, tendrás que volver a realizarla.
Este trabajo puede resultar tedioso pero es mucho peor que nuestro WordPress no esté online.
Además de los archivos de la instalación de WordPress, es posible que existan archivos que no tengan nada que ver y habrá que inspeccionarlos. El truco de ordenarlos por orden de modificación también será una buena idea.
Aunque no afecten a nuestro sitio directamente, si es posible que creen problemas a los visitantes de nuestro sitio Web, así que es nuestra responsabilidad analizarlos y comprobar que están libres de virus.
A estas alturas ya habrás comprobado el archivo .htaccess por si hay alguna redirección. Si no lo has hecho no lo dejes pasar.
Otro punto a tener en cuenta es controlar los puntos en los que los usuarios tiene capacidad de edición, como pueden ser los comentarios, ya que pueden añadir algún tipo código que nos de problemas.
Por lo general habría que revisar todos los archivos de todos los plugins, themes, JS y CSS que hay en el servidor pero eso sería una tarea muy ardua y costosa. Lo mejor es que, si dispones de una copia original de archivo lo substituyas directamente.
Por ejemplo. En lugar de revisar todos los archivos de todos los plugins, bórralos del servidor y vuelve a instalarlos. Con los archivos del theme que uséis también podéis hacer eso, pero si habéis realizado alguna modificación la perderéis.
Esto se soluciona usando las copias de seguridad que seguro que tenéis almacenáis periódicamente. ¿No tenéis ninguna copia de seguridad? Pues ya sabéis, hacedlas antes de que lleguen los problemas.
También es importante saber si los hackers han creado una cuenta de administrador adicional. Para eso puedes ir a la sección de Usuarios WordPress y buscar los usuarios que tengan el perfil de Administrador. Si encontráis alguno que no conozcáis borradlo.
El problema puede estar en tu ordenador. Cuando desde Hostinet detectamos algún problema de seguridad, uno de los pasos requeridos es que el usuario compruebe que su ordenador habitual esté libre de virus. De nada sirve realizar todo el trabajo de desinfección de WordPress si el problema está en casa y cada vez que se cambien las contraseñas estas vuelvan estar comprometidas automáticamente.
Si tu WordPress no está infectado pero quieres asegurarte que no lo esté nunca, recomendamos seguir los pasos del siguiente artículo:
Cómo Evitar Código Malicioso en tu Web
Si ya hemos hecho todo lo que dice nuestra guía, es decir, hemos librado de virus y código malicioso cualquier archivo que vayamos a usar, y tenemos nuestra copia de seguridad de la base de datos, ya sólo queda volver a poner en marcha WordPress.
Para ello podemos realizar una instalación limpia de WordPress y luego añadir los archivos wp-config.php y el directorio wp-content para que nuestro WordPress quede como estaba antes del hackeo.
Hay que tener claro que necesitamos:
Es posible que no necesitemos las tres cosas para hacer funcionar nuestro WordPress de nuevo, pero hay que tenerlas a punto por si acaso.
Si habéis descargado todos los archivos que habían en vuestra instalación de WordPress podéis eliminar la copia de WordPress que esté instalada desde un gestor de FTP como FileZilla.
Si no sabéis cómo usar FileZilla, podéis seguir el siguiente tutorial.
También es posible subir los archivos sin borrarlos marcando la opción de sustituir los archivos viejos por los nuevos, como si se tratara de una actualización de WordPress manual, pero al haber tenido problemas de seguridad parece más razonable borrarlo todo y luego subir los archivos de la copia de seguridad que necesitemos.
Una vez eliminados todos los archivos vamos a subir los archivos de WordPress original que acabamos de descargar desde WordPress.org menos estos dos:
En realidad, en la descarga del WordPress que tengamos preparada el archivo wp-config.php estará renombrado como wp-config-sample.php, así que daría igualq ue lo subiéramos o no, pero así nos ahorramos posibles confusiones.
Cuando todos los archivos del WordPress estén en nuestro servidor podemos subir los archivos de nuestra copia de seguridad de wp-content y wp-config.php.
Es importante que hayamos seguido todos los puntos anteriores antes de subir tanto el wp-content como wp-config.php para asegurarnos que están libres de ningún tipo de código malicioso. Si hemos fallado en desinfectar el directorio o el archivo, el trabajo no habrá servido de nada.
Como hemos cambiado la contraseña de la base de datos, es uno de los puntos de los que hemos hablado antes, no olvidar modificarla en el archivo wp-config.php, para que WordPress pueda conectarse con la base de datos. (Más info aquí)
También podemos subir el resto de archivos de nuestra copia de seguridad, los cuales ya habremos comprobado que están limpios de virus, que no tienen que ver con WordPress, como el favicon.ico, el robots.txt, el archivo htaccess, etc…
Cuando los archivos terminen de subirse podemos probar si nuestro WordPress funciona correctamente. Si la base de datos no se ha visto afectada es posible que no tengamos que realizar ninguna acción más, si no es así deberemos restaurar una copia de seguridad de nuestra base de datos.
Restaurar una copia de seguridad de la base de datos es muy fácil si tenemos:
Sólo debemos acceder a nuestro cPanel y buscar en la sección de Base de Datos el icono de phpMyAdmin.
La interface de phpMyadmin puede intimidar un poco si nunca se ha trabajado con ella, pero conociendo un poco su funcionamiento podemos restaurar nuestra base de datos en pocos pasos.
Lo primero que debemos hacer es buscar en el panel de la izquierda la base de datos que queremos restaurar y seleccionarla.
En la pantalla de la derecha aparecerán todas las tablas que tenga la base de datos. Nosotros nos dirigimos a la parte inferior y hacemos click en Marcar todos.
En el desplegable central seleccionamos Eliminar y borramos toda la base de datos para dejar sitio a la base de datos de la copia de seguridad.
Ahora debemos hacer click en la pestaña Importar en la parte superior. Desde ahí podemos buscar la copia de seguridad que tengamos de nuestra base de datos, normalmente en formato .sql.zip. Hacemos click en Continuar y si todo va bien nos dará un mensaje de confirmación.
Nuestro WordPress ya estará funcionando sin problemas en el mismo estado que estaba antes de ser hackeado, o por lo menos como estaba cuando realizamos la copia de seguridad.
Si el acceso a la Web estaba restringido con contraseña sólo quedará entrar en cPanel y desactivar la “Privacidad del directorio”. Podéis ver un tutorial de cómo hacerlo desde aquí.
En Hostinet todos nuestros Hosting web vienen de serie con un panel de control cPanel. Además, pensamos que lo mejor es siempre utilizar cuentas personalizadas con tu propio dominio con el fin de personalizar tu negocio o de dotar de seriedad a tus comunicaciones. De hecho, por muy poco al mes puedes contratar el plan de hosting que mejor se adapte a tu proyecto web, así como también un dominio bajo el cual tener tu propio email o todas las cuentas de correo electrónico que desees.
En Hostinet trabajamos desde hace más de 15 años con servidores ubicados en España (Madrid); ofreciendo un precio muy ajustado, una seguridad impenetrable y una confianza sin igual a todos nuestros clientes.
HOSTINET = SEGURIDAD + CONFIANZA + PRECIO + 15 AÑOS DE EXPERIENCIA