Tiempo de lectura aprox: 4 minutos, 37 segundos
Cambiar la URL de acceso.
WordPress es uno de los CMS más populares y, por lo tanto, el blanco de la mayoría de los ataques. Es muy fácil encontrar la página de inicio de sesión predeterminada simplemente agregando wp-admin o wp-login.php en la URL.
Como he comentado, la seguridad por ocultación nunca es lo más efectivo, pero es un paso más, una ayuda más, en lo referente a maximizar la seguridad de un sitio con WordPress.
Cambiar la URL de acceso
Los piratas informáticos utilizan diferentes estrategias para piratear un sitio web, y una de las más comunes es el ataque de fuerza bruta.
De esta manera, los atacantes intentan obtener acceso a un sitio web adivinando la contraseña de inicio de sesión de un usuario del sitio. Una forma de proteger tu página de inicio de sesión es cambiar la URL de acceso del sitio.
La forma más fácil de realizar esta acción es, como en muchos otros casos, implementando un plugin; en este caso, un plugin de seguridad.
Hay varios plugin de seguridad que, como parte de su estrategia, ofrecen la posibilidad de cambiar la URL de acceso. No todos son plugin de pago, hay muchos gratuitos.
Veamos algunos ejemplos:
iThemes Security (anteriormente Better WP Security)
«iThemes Security» es uno de los más veteranos, aunque no por eso es menos efectivo o está menos «al día» y, entre sus opciones de configuración, está la de ocultar la URL de inicio de sesión.
Puedes descargar este plugin desde el repositorio de WordPress: https://es.wordpress.org/plugins/better-wp-security
WPS Hide Login
«WPS Hide Login» no es un plugin de seguridad al uso, es un plugin cuya única misión es esconder la página de login, es decir, cambiar la URL de acceso.
Se trata de un plugin muy ligero que te permite cambiar de forma fácil y segura la url de la página del formulario de inicio de sesión a lo que quieras. Literalmente, no cambia el nombre o cambia los archivos en el núcleo, ni agrega reglas de reescritura. Simplemente intercepta las solicitudes de página y funciona en cualquier sitio web de WordPress.
Puedes descargar este plugin desde el repositorio de WordPress: https://es.wordpress.org/plugins/wps-hide-login/
WP Cerber Security, Anti-spam & Malware Scan
«WP Cerber Security» es un plugin de seguridad bastante completo, con muchas opciones, aunque para mi gusto, un poco pesado. Cuenta con muchas opciones y, entre ellas, la posibilidad de cambiar la URL de acceso.
Puedes descargar este plugin desde el repositorio de WordPress: https://es.wordpress.org/plugins/wp-cerber/
Ahora, como ya sabes no nos gusta dejar así las cosas, nos gusta contarte cómo funcionan las cosas y cómo puedes hacer las cosas tu mismo, sin depender de la instalación de un plugin desarrollado por terceros.
La forma manual
A continuación te mostraré cómo cambiar manualmente la URL de inicio de sesión de WordPress sin la necesidad de instalar un plugin. Antes de comenzar a modificar algo, recuerda hacer una copia de seguridad de tus archivos. La copia de seguridad siempre te salvará de un desastre.
Para este proceso necesitarás:
- Un editor de texto plano (Sublime text, Notepadd++, Geany, el que tu prefieras.) (Yo uso Sublime, así que las instrucciones las haré para ese editor.)
- Un cliente FTP.
El archivo wp-login.php viene con todos los códigos necesarios para generar la página de inicio de sesión y manejar la secuencia de inicio de sesión. Vamos a utilizar el código de este archivo, para generar nuestro propio código.
Lo primero que hay que hacer, es renombrar el archivo wp-login.php; cuando cambie el nombre del archivo PHP de inicio de sesión de WordPress, cambiará su URL de inicio de sesión.
Hay 4 cosas a hacer:
- Descargar el archivo «wp-login.php».
- Cambiar la URL de inicio de sesión.
- Subir el nuevo archivo.
- Probar el nuevo archivo.
- Descargar el archivo «wp-login.php».
- Accede con tu cliente FTP o accede al área administrativa de tu sitio con tu identificación y contraseña.
- A continuación, descarga el archivo wp-login.php.
- Cambiar la URL de inicio de sesión
- Abre el archivo descargado con el editor de texto.
- Desde la barra de menú, ve a «Buscar -> Reemplazar» y busca «wp-login». Luego reemplaza toda la instancia con la URL escogida (por ejemplo «wp-new-tg») y guarda el archivo.
- Cambia el nombre del archivo con la URL que utilizaste (por ejemplo, renombra a «wp-new-tg.php»).
- Subir el nuevo archivo.
- Vuelve a iniciar sesión en el área administrativa de tu sitio y ve al administrador de archivos.
- Haz clic en el botón «cargar» o «subir archivo» y carga el archivo que modificaste.
- Elimina el archivo «wp-login.php».
- Probar el nuevo archivo.
- Inicia sesión con la nueva URL.
- Escribe la URL de tu sitio con el nuevo nombre. (por ejemplo misitio.xxx/wp-new-tg.php).
- Cualquier solicitud a «wp-admin» o «wp-login.php» llevará a los visitantes a la página 404 no encontrada.
Este método es funcional, pero poco efectivo, ya que en cuanto aparezca una actualización, es probable que el archivo wp-login.php sea reemplazado, con lo que se perderá todo el trabajo.
Por esta razón, la recomendación ahora mismo es la de usar un plugin al efecto. Si no te gustan los que te he mencionado, puedes buscar el que te gute en el repositorio oficial de WordPress.
Otra opción alternativa, es la de hacer uso del archivo .htaccess para proteger tu página de inicio de sesión, pero es también un trabajo complejo, que ya expliqué en Ocultar la pagina de inicio de sesión de WordPress. Además, el mal uso de las reglas de reescritura puede consumir toda la memoria del servidor.
Por otro lado, no siempre está activo el uso del archivo .htaccess, aún cuando el servidor sea Apache.
Pero no creerás que te voy a dejar así ¿verdad? Siguiendo con nuestra costumbre, ahora viene cuando te cuento cómo cambiar la URL de acceso «de forma correcta, a mano».
Los pasos a seguir son sencillos, sólo asegúrate de no cometer errores al escribir. 😜
1º Añade una constante en el archivo wp-config.php
define('WP_ADMIN_DIR', 'adminLoginUrl'); define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
2º Añade la siguiente función de filtro a tu archivo functions.php
function slwp_wpadmin_filter( $url, $path, $orig_scheme ) { $old = array( "/(wp-admin)/"); $admin_dir = WP_ADMIN_DIR; $new = array($admin_dir); return preg_replace( $old, $new, $url, 1); } add_filter('site_url', 'slwp_wpadmin_filter', 10, 3);
3º Añade la siguiente línea al archivo .htaccess
Bajo la línea IfModule mod_rewrite.c, escribe:
RewriteRule ^adminLoginUrl/(.*) wp-admin/$1?%{QUERY_STRING} [L]
4º Restringe el acceso a /wp-admin/
Normalmente, el uso de esta URL te permite acceder al escritorio de administración de tu sitio (No olvides poner la barra al final de la URL, como en: «https://misitio.xxx/wp-admin/»). Hasta que esta dirección esté bloqueada, lo que se hace con el siguiente código insertado en tu archivo functions.php:
function slwp_redirect_wp_admin(){ $redirect_to = $_SERVER['REQUEST_URI']; if(count($_REQUEST)> 0 && array_key_exists('redirecciona_a', $_REQUEST)){ $redirect_to = $_REQUEST['redirecciona_a']; $check_wp_admin = stristr($redirect_to, 'wp-admin'); if($check_wp_admin){ wp_safe_redirect( '404.php' ); } } } add_action('login_form','slwp_redirect_wp_admin');
5º Restringe el acceso al archivo /wp-loging.php
Ahora si alguien intenta acceder a través de la URL /wp-loging.php, aparecerá un error 404.
function slwp_force_404() { $requested_uri = $_SERVER["REQUEST_URI"]; if (strpos( $requested_uri, '/wp-login.php') !== false ) { // El código de redirección status_header( 404 ); nocache_headers(); include( get_query_template( '404' ) ); die(); } } add_action( 'init', 'slwp_force_404', 1 );
Conclusión
Si no quieres complicarte la vida, ya sabes que instalando un plugin (en este caso de seguridad) tienes tus dudas resueltas de forma efectiva.
También tienes ahora el conocimiento para realizar la tarea por ti mismo o hacer un plugin que te evite tener que modificar cada uno de los sitios con WordPress.
Cambiar la URL de acceso no es la solución de seguridad total, pero es una ayuda de bajo coste (teniendo en cuenta las ventajas 😉)
El saber no ocupa lugar, según se cuenta.
Mientras tanto, recuerda, #UsaMascarilla, #LavateLasManos, juega, experimenta y, sobre todo, ¡divertirte!
¡Gracias por leernos!
¡Tus comentarios y preguntas nos ayudan a mejorar, por favor comenta!