A pesar de que WordPress se considera seguro, todas las páginas web tienen riesgo de ser atacadas. Este riesgo se multiplica si no hemos tomado las medidas de seguridad necesarias desde el principio. ¿Tienes sospechas de que han hackeado tu página web en WordPress? No te preocupes, no está todo perdido. En este artículo veremos como comprobar si han atacado tu página, cómo recuperarla, y como prevenirnos ante un hackeo. ¡Comenzamos!
Si tu sitio web se está comportando de manera extraña, no necesariamente tiene que ser por un hackeo, puede ser un problema del hosting o incluso de caché por ejemplo. Al principio es difícil detectar si este comportamiento se debe a un ataque.
Estos son algunos de los síntomas que pueden indicar un hackeo:
Algunos hackers inyectan contenido para redirigir a los usuarios, o para intentar conseguir su información. Este contenido puede ser un anuncio, botones, formularios, de todo.
WordPress puede lanzar varios errores al intentar cargar la página. Analizar estos mensajes nos puede dar pistas sobre lo que está pasando.
Si no puedes entrar en el panel de WordPress, lo primero que debes intentar es restablecer la contraseña. Puede ser que el hacker haya cambiado el correo asociado y no podamos restablecerla. Si el mensaje de error es «Error: The username ‘tunombre’ is not registered on this site», es probable que tu cuenta haya sido eliminada completamente.
Google tiene una herramienta llamada Navegación Segura que escanea la página en busca de Malware. La mayoría de los buscadores usan esta herramienta, si salta el aviso de malware, es muy probable que tu página haya sido hackeada.
Si has confirmado que tienes tu WordPress hackeado, no te preocupes, no está todo perdido. Aquí tienes unos pasos a seguir para recuperar el control de tu web.
Este paso es quizá el más evidente, lo primero que tenemos que hacer es cambiar todas las contraseñas, de los usuarios, de la base de datos, del servidor, todas.
WordFence es un plugin de seguridad que deberíamos tener instalado en nuestras páginas desde el inicio, como comentaremos más adelante en cómo proteger tu página. Este plugin nos ofrece varios servicios de seguridad, pero en una situación post-hackeo, nos centraremos en su servicio «analizar».
En la pestaña de analizar pulsaremos sobre «Iniciar una nueva exploración». Pasados unos minutos, WordFence habrá detectado cambios en tus archivos respecto a una instalación limpia de WordPress. También nos dirá que líneas de código son sospechosas, y qué pueden significar.
En el caso de los plugin y los temas, tendremos que comprobar los archivos a mano, ya que WordFence solo actúa sobre los ficheros de WordPress.
Puede que los hackers hayan indexado páginas en Google bajo nuestro dominio. Para ver si este es el caso, escribiremos en el buscador de Google site:nombredenuestrositio. Aquí veremos si solo indexa nuestras páginas o también incluye algunas otras. Para solucionar este problema, primero haremos redirecciones. Por cada URL indexada crearemos una línea en nuestro .htaccess con este formato.
Redirect 301 url-infectada/ https://www.nuestrositio.com/
Las redirecciones pueden ser 301 o 302, las 301 son redirecciones permanentes, avisan a Google de que la nueva dirección de esa URL es la que nosotros establecemos, esto favorece a una reindexación. Las 302, sin embargo, son redirecciones temporales, por los que Google no las reindexará.
Es posible que los atacantes hayan alterado la base de datos de tu WordPress hackeado, por ello debemos revisarla muy bien y eliminar los registros sospechosos. Es recomendable mirar la tabla de usuarios, la de páginas, la de posts o la de comentarios, entre otras. Nos puede resultar muy útil una copia de seguridad para contrastar datos.
Más vale prevenir que curar, y es que una protección inicial de nuestra página nos puede ahorrar muchos disgustos. A continuación vamos a ver algunas recomendaciones de configuración para proteger nuestra página web de hackeos.
// Add rewrite rule and flush on plugin activation
register_activation_hook( __FILE__, 'NLURL_activate' );
function NLURL_activate() {
NLURL_rewrite();
flush_rewrite_rules();
}
// Flush on plugin deactivation
register_deactivation_hook( __FILE__, 'NLURL_deactivate' );
function NLURL_deactivate() {
flush_rewrite_rules();
}
// Create new rewrite rule
add_action( 'init', 'NLURL_rewrite' );
function NLURL_rewrite() {
add_rewrite_rule( 'login/?$', 'wp-login.php', 'top' );
add_rewrite_rule( 'register/?$', 'wp-login.php?action=register', 'top' );
add_rewrite_rule( 'forgot/?$', 'wp-login.php?action=lostpassword', 'top' );
}
//register url fix
add_filter('register','fix_register_url');
function fix_register_url($link){
return str_replace(site_url('wp-login.php?action=register', 'login'),site_url('register', 'login'),$link);
}
//login url fix
add_filter('login_url','fix_login_url');
function fix_login_url($link){
return str_replace(site_url('wp-login.php', 'login'),site_url('login', 'login'),$link);
}
//forgot password url fix
add_filter('lostpassword_url','fix_lostpass_url');
function fix_lostpass_url($link){
return str_replace('?action=lostpassword','',str_replace(network_site_url('wp-login.php', 'login'),site_url('forgot', 'login'),$link));
}
//Site URL hack to overwrite register url
add_filter('site_url','fix_urls',10,3);
function fix_urls($url, $path, $orig_scheme){
if ($orig_scheme !== 'login')
return $url;
if ($path == 'wp-login.php?action=register')
return site_url('register', 'login');
return $url;
}
define(‘DISALLOW_FILE_EDIT’,true);
define(‘DISALLOW_FILE_MOD’,true);
<Files xmlrpc.php>
order deny,allow
deny from all
allow from XXX.XXX.XXX
</Files>
remove_action(‘wp_head’,’wp_generator’);
Como has podido comprobar, librarse de un hackeo es difícil, pero hay acciones que podemos tomar. Lo más importante es configurarlo bien desde el principio y blindar tu página. ¿Conoces alguna otra técnica para limpiar los hackeos? ¡Cuéntanos en comentarios!
En esta guía práctica, te explicamos qué es el presupuesto de rastreo, por qué es… Leer más
¿Alguna vez te has encontrado con un mensaje que te invita a actuar, ya sea… Leer más
Una de las preguntas más comunes entre los desarrolladores web que comienzan a usar JavaScript… Leer más
Descubre qué es y para qué sirve la preimpresión digital para conseguir una buena impresión… Leer más
Ampliamos información para las redes sociales. Descubre cómo gestionar correctamente los consentimientos necesarios en las… Leer más
Michael Bierut es mucho más que un diseñador; es un educador ejemplar, un escritor locuaz… Leer más