X

Restringir el acceso de administrador de WordPress por dirección IP

Esta es una publicación de invitado de Eric Sizemore, un desarrollador web, programador y domainer.

A la luz de eventos recientes, cualquiera que use WordPress es aparentemente susceptible a lo que se ha denominado "cracking distribuido de cuentas de administrador de WordPress". Puede ver este artículo para más información. Esta publicación tiene como objetivo proporcionar una capa adicional de seguridad tanto a su carpeta wp-admin como al archivo wp-login.php.

Paso 1 – Determinar quién tendrá acceso

En primer lugar, esta capa adicional de seguridad implica bloquear todas las IPs excepto unas pocas seleccionadas. Si tu IP es dinámica, puede que no sea la mejor opción para ti. Si tienes muchos usuarios a los que permites acceso a tu blog, esto podría volverse tedioso. Si eres el único autor del blog y de todos modos no permites registros, esto será bastante simple.

Paso 2 – Creando .htaccess

Primero, obtengamos tu dirección IP. Ve a IPChicken y anota tu dirección IP. Luego, descarga los archivos .htaccess que se han creado para esta publicación.

Una vez que extraigas el archivo, deberías ver un archivo .htaccess y una carpeta wp-admin con un archivo .htaccess dentro. Abre el archivo .htaccess principal y deberías ver:

<Archivos wp-login.php>
Orden Denegar,Permitir
Denegar de todos
Permitir desde xx.xx.xx.xx
</Archivos>

Edita la línea “Allow from” para que refleje tu dirección IP. Para agregar más direcciones IP, agrega una nueva línea con “Allow from” y la siguiente dirección IP, y así sucesivamente. Ahora, es probable que ya tengas un archivo .htaccess en la carpeta raíz de WordPress. Si es así, edita el archivo y copia y pega el contenido de tu archivo .htaccess editado desde el zip, y guarda/vuelve a subir.

Ahora abre el archivo .htaccess dentro de la carpeta wp-admin desde el zip. Deberías ver algo como:

Orden Denegar,Permitir
Denegar de todos
Permitir desde xx.xx.xx.xx

Haz lo mismo que hiciste arriba. Y agrega cualquier IP adicional que quieras permitir en el área de wp-admin. Es probable que no tengas un archivo .htaccess en tu carpeta wp-admin, así que simplemente sube el archivo .htaccess editado desde el zip a tu carpeta wp-admin.

Paso 3 – ¡Listo!

¡Y eso es todo! :)

Comentarios   Dejar una respuesta

  1. Sin archivos de descarga.

  2. Perfecto

  3. Sunil Ilanthila July 24, 2021 at 3:51 pm

    Tengo un problema inaceptable con una IP, pero funciona con otra IP, ¿alguna solución?

    1. Es posible que desees contactar al soporte de tu hosting al respecto.

  4. Sé que este sitio web ofrece publicaciones y otro material de calidad, ¿hay algún otro
    sitio web que presente datos de tal calidad?

  5. No funciona. Recibí: Error interno del servidor

    1. Es posible que desees contactar al soporte de tu hosting al respecto.

  6. Gracias. Justo lo que estaba buscando

    1. Nos alegra que lo hayas encontrado útil 🙂

  7. Hola a todos,
    Tengo una restricción de IP en mi sitio para wp-login.php en .htaccess. pero, mis clientes no pueden cerrar sesión, mostrando un error de restricción de IP. ¿Alguien puede darme una mejor solución para la restricción de IP solo para la página de inicio de sesión de administrador.

    1. ¿Cuál es el código para la restricción que estás usando? ¿Se agregó solo a la carpeta wp-admin?

    2. Valerie Cudnik April 25, 2022 at 8:04 pm

      No hay un inicio de sesión diferente para el administrador. El problema con el cierre de sesión es que WP usa wp-login.php tanto para iniciar sesión como para cerrar sesión.

      La mejor opción es crear una página de cierre de sesión diferente para los clientes.

  8. Tenga cuidado: si su sitio web de Wordpress usa Woocommerce, ¡el siguiente código impedirá que se envíen los correos electrónicos de nuevos pedidos!

  9. Paramjeet Singh August 25, 2019 at 1:15 pm

    Hola, Gracias por el útil artículo, puedo agregar una capa de seguridad adicional a mi sitio web.
    Pero tengo 1 pregunta, ¿esto solo permitirá que mi IP acceda al panel de WP-admin, etc.? ¿Afecta a los complementos o archivos, etc., quiero decir, pueden necesitar o no la conexión a la página de wp-login?

    1. Este código es específicamente para bloquear el acceso a la página de inicio de sesión. Dicho esto, si los complementos instalados fueron codificados correctamente, entonces si un visitante no puede iniciar sesión, no debería tener acceso a las páginas de administración.

  10. No me funcionó.

    Esto funciona, lo encontré en uno de mis proyectos antiguos 🙂

    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
    RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
    RewriteCond %{REMOTE_ADDR} !^95\.154\.22\.86$
    RewriteCond %{REMOTE_ADDR} !^77\.243\.128\.133$
    RewriteRule ^(.*)$ – [R=403,L]

    1. La opción Rewrite me funciona pero no puedo acceder a la página web de administración desde localhost

  11. Esto no funciona en Apache 2.4 porque order allow,deny está obsoleto.
    En su lugar, debes usar mod_rewrite.c.

  12. ¿Alguien podría ayudarme con qué IP se supone que debemos ingresar en el archivo htaccess? ¿Es la IP pública que puedo ver cuando busco mi IP en Google, o es la estática?

  13. Muy útil en cuanto a seguridad. Recientemente sufrí algunos ataques en mi sitio de wp y estoy buscando una buena solución.

  14. Elizabeth Richardson February 20, 2010 at 5:12 pm

    Después de tener este sistema implementado por un par de meses, ahora he podido relajarme. Parece que funciona, ya que antes me habían hackeado varias veces.

    Uso un rango de IP en lugar de una IP específica en mi .htaccess y funciona fantástico. Muchas gracias.

    1. Me alegra saber que te está funcionando. 😀

  15. Gracias por la información.
    Estaba muy frustrado porque mi blog fue hackeado por cuarta vez.
    Quería estar 100% seguro de detener todas las atracciones de bots.
    En los últimos días probé muchos plugins, incluido askapache, pero no funciona bien debido a un problema con mi hosting.

    Finalmente obtuve una solución personalizada, puse un archivo .htaccess en la carpeta wp-admin y lo bloqueé por IP para que solo se pudiera abrir con mi rango de IP. Y funciona. Ahora ningún bot puede intentar revisar mis opciones y archivos de configuración. A menos que el bot esté en mi propia PC.

    : )

    Saludos

  16. Pero accedo a mi sitio desde todo tipo de lugares, incluido mi teléfono celular.

    Lo que realmente me gustaría es restringir el acceso desde cualquier lugar fuera de América del Norte, ¿y eso probablemente reduciría muchos hackeos, no?

    Sí, todavía está abierto pero mucho menos que antes.

    ¿Alguien ha intentado algo así?

    1. Tal vez, pero necesitarías integrarlo con una base de datos de geolocalización IP, lo cual podría ser un poco excesivo para algo como esto.

      Si inicias sesión desde muchos lugares/IPs, podrías considerar algo como Login Lockdown.

  17. El plugin de bloqueo de inicio de sesión también es bueno. Limita y luego prohíbe los intentos fallidos de inicio de sesión. Algo así como IPtables para wp.
    http://wordpress.org/extend/plugins/login-lockdown/

    Lo agregamos a nuestra preinstalación para los clientes de page.ly, por lo que se activará por defecto después del registro.

    PD: Me encanta el nuevo diseño de themelab.com.

    1. Eso suena como que podría ser bastante efectivo. Especialmente si inicias sesión en muchos lugares diferentes con diferentes direcciones IP, puede que no sea práctico agregar una regla .htaccess para cada una.

      ¡Y me alegra que te guste el diseño!

  18. @Elizabeth: ¡De nada! Hazme saber cómo te funciona.

  19. Muchas gracias por esto.

    He estado experimentando intentos de explotación en varios de mis sitios web de WordPress y he estado usando ht.access para bloquear las IP individuales. Pero esto parece mucho más efectivo. Espero que funcione bien.

    Gracias Leland.

  20. @badcat: Esa es una buena pregunta, pero no creo que necesites repetir el proceso ya que estos archivos .htaccess no se incluyen con la actualización real.

  21. ¿Necesitarás repetir este proceso después de que salga una nueva versión de WordPress?

    ¿O tendría más sentido denegar el acceso a la carpeta wp-admin en el archivo .htaccess raíz del sitio, ya que ese no se actualiza cuando WP actualiza su núcleo?

Agregar un comentario

Nos complace que hayas elegido dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de privacidad, y todos los enlaces son nofollow. NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!