Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo restringir el acceso de administrador de WordPress por dirección IP

La mayoría de las personas no piensan en asegurar su área de administrador de WordPress hasta que es demasiado tarde. Hemos ayudado a usuarios a recuperarse de ataques en los que el área de administrador de WordPress quedó completamente expuesta.

Es por eso que recomendamos restringir el acceso al área de administrador por IP. Es una técnica que hemos utilizado en sitios de clientes que solo necesitan que una o dos personas inicien sesión desde redes conocidas.

En este tutorial, te mostraremos cómo bloquear el acceso al administrador de WordPress mediante una edición rápida del archivo .htaccess. Es una forma simple pero muy efectiva de proteger tu sitio web de WordPress contra amenazas comunes.

Cómo restringir el acceso de administrador de WordPress por dirección IP

¿Por qué restringir el acceso de administrador de WordPress por dirección IP?

Si tienes un sitio web de WordPress, entonces debes tomar la seguridad de tu sitio web en serio. Si bien el software principal de WordPress es muy seguro, hay más que puedes hacer para protegerte de hackers y ataques de fuerza bruta.

Los hackers pueden derribar tu sitio web, así como dañar tus ingresos y reputación. Pueden robar datos o incluso distribuir malware a los visitantes de tu sitio web y hacer que tu dominio sea incluido en listas negras por Google y otros.

Una forma inteligente de bloquear hackers y mejorar la seguridad de WordPress es protegiendo tu área de administrador de WordPress del acceso no autorizado.

Si solo tú o unos pocos usuarios de confianza necesitan acceso al área de administrador, una buena manera de hacerlo es limitar el acceso a wp-admin y a la página de inicio de sesión de WordPress a las direcciones IP de tu equipo.

Cada miembro del equipo se conectará a tu sitio de WordPress usando una dirección IP específica para cada ubicación. Si bloqueas el acceso a todas las demás direcciones IP, un hacker no podrá acceder a tu sitio web, incluso si ha descubierto tu nombre de usuario y contraseña.

En su lugar, verán el mensaje de error: 'Prohibido. No tienes permiso para acceder a este recurso.'

Veamos cómo restringir el acceso de administrador de WordPress por dirección IP.

Cómo restringir el acceso de administrador de WordPress por dirección IP

Lo primero que debes hacer es hacer una lista de las direcciones IP utilizadas por todos en tu equipo que necesiten acceso al área de administración de WordPress.

Necesitas pedir a los miembros de tu equipo que te envíen sus direcciones IP desde las ubicaciones desde las que suelen trabajar. Si alguien trabaja desde varias ubicaciones, deberás recopilar la dirección IP de cada una.

También necesitarás agregar tu dirección IP a la lista.

¿Cómo encontrar tu dirección IP?

La forma más fácil de encontrar tu dirección IP es visitando un sitio como SupportAlly o WhatisMyIPAddress.com.

Encuentra tu dirección IP

Estos sitios web te mostrarán tu dirección IP, que luego puedes agregar a tu lista. También puedes pedir a los miembros de tu equipo que visiten estos sitios para encontrar su dirección IP y enviártela.

Una vez que hayas hecho tu lista, puedes proceder a limitar el acceso por direcciones IP. Te mostraremos dos enfoques para que puedas elegir el que mejor te funcione.

🚨 Nota importante: En las siguientes secciones, te mostraremos cómo modificar archivos importantes para restringir el acceso de administrador. Esto puede ser arriesgado, incluso para usuarios avanzados, ya que el más mínimo error puede hacer que tu sitio web falle o afectar su funcionalidad. Por eso, siempre recomendamos crear una copia de seguridad primero.

1. Restringe el acceso por dirección IP usando el archivo .htaccess (Recomendado)

Para este método, usaremos el archivo .htaccess. Es un archivo de configuración a nivel de servidor que puedes editar para configurar diferentes cosas.

Se ejecuta antes de que tu sitio web de WordPress se cargue, por eso agregar instrucciones de seguridad allí te brinda una protección mucho mejor.

Tendrás que usar un cliente FTP o la aplicación de administrador de archivos de tu proveedor de hosting. Si no has usado FTP antes, quizás quieras ver nuestra guía sobre cómo usar FTP para subir archivos a WordPress.

Necesitarás usar el software para navegar a la carpeta /wp-admin/ de tu sitio web. Una vez que estés allí, deberías buscar el archivo .htaccess. Este es un archivo oculto, así que si no puedes verlo, es posible que necesites habilitar la opción de mostrar archivos ocultos en tu software.

Navega a wp-admin y localiza .htaccess

Si ese archivo no existe en la carpeta, deberías crear un nuevo archivo y guardarlo con el nombre .htaccess en tu carpeta /wp-admin/.

Advertencia ⚠️: No edites el archivo .htaccess de tu raíz, o bloquearás a los visitantes del front-end de tu sitio web. Asegúrate de que estás editando /wp-admin/.htaccess.

Primero deberías descargar una copia del archivo a tu computadora como respaldo.

Una vez que hayas hecho eso, necesitarás editar .htaccess y pegar el siguiente código en el archivo:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<Limit GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
# whitelist Amanda's IP address
allow from xx.xx.xx.xxx
# whitelist Muhammad's IP address
allow from xx.xx.xx.xxx
# whitelist Work IP address
allow from xx.xx.xx.xxx
</LIMIT>

Continúa y edita el archivo para que coincida con los nombres de los miembros de tu propio equipo, y luego pega las direcciones IP que recopilaste anteriormente para reemplazar donde dice xx.xx.xx.xxx.

Una vez que guardes el archivo, solo esas direcciones IP podrán acceder al administrador de WordPress.

Recuerda que si tu dirección IP cambia o intentas acceder a tu sitio web desde una nueva ubicación, serás bloqueado del área de administración de WordPress. Necesitarás agregar tu nueva dirección IP al archivo /wp-admin/.htaccess .

2. Restringe el acceso usando wp-config.php (método alternativo)

Si tu servidor no admite reglas .htaccess o estás ejecutando WordPress en un servidor que no es Apache, como NGINX o LiteSpeed, entonces usar el archivo wp-config.php es una buena alternativa.

Editar wp-config.php puede ser más seguro que modificar .htaccess porque es menos probable que cause errores a nivel de servidor y es fácil de revertir si es necesario. Dicho esto, aún necesitarás hacer cambios con cuidado, ya que incluso errores menores pueden bloquear tu sitio.

El archivo wp-config.php se carga temprano durante el proceso de arranque de WordPress, lo que lo convierte en un lugar seguro para aplicar restricciones. Es especialmente útil para desarrolladores o usuarios avanzados que administran sitios en diferentes entornos de servidor.

Para usar este método, abre tu archivo wp-config.php usando un cliente FTP o el administrador de archivos del panel de control de tu hosting. Luego, justo encima de la línea que dice /* ¡Eso es todo, deja de editar! Feliz blogging. */, agrega el siguiente código:

if (strpos($_SERVER['REQUEST_URI'], '/wp-admin') !== false || 
    strpos($_SERVER['REQUEST_URI'], '/wp-login.php') !== false) {
    if ($_SERVER['REMOTE_ADDR'] !== '123.456.78.90') {
        header('HTTP/1.0 403 Forbidden');
        exit;
    }
}

Reemplaza 123.456.78.90 con tu dirección IP actual. Este código bloqueará todo acceso a tus páginas de administración e inicio de sesión de WordPress, excepto desde tu IP permitida.

Agregar múltiples direcciones IP:

Para agregar a otros miembros del equipo, necesitará usar un código diferente en su lugar. En este código, usará una matriz de direcciones IP para diferentes miembros del equipo separadas por comas. Así:

$allowed_ips = array('123.456.789.000', '987.654.321.000', '200.200.255.168'); // Add more IPs as necessary
if ( !in_array($_SERVER['REMOTE_ADDR'], $allowed_ips) ) {
    wp_die('Unauthorized access. Your IP address is not permitted.');
}

Precaución⚠️: Si su dirección IP cambia con frecuencia o trabaja desde varias redes, este método podría bloquearlo. Siempre haga una copia de seguridad antes de realizar cambios en wp-config.php.

Manejo de IPs dinámicas o múltiples miembros del equipo

Si su dirección IP cambia con frecuencia o su equipo trabaja desde diferentes redes, las restricciones basadas en IP en .htaccess o wp-config.php pueden no ser prácticas. Estos métodos funcionan mejor cuando el acceso se limita a una IP o ubicación fija.

Para una seguridad más flexible, puede usar enfoques alternativos que se enumeran a continuación:

1. Agregar autenticación de dos factores (2FA)

Agregar autenticación de dos factores significa que los usuarios necesitan ingresar tanto su contraseña como un código de un solo uso de su teléfono para iniciar sesión. Esto evita que los atacantes accedan a su sitio incluso si conocen su contraseña.

Para obtener más información, consulte nuestra guía paso a paso sobre cómo agregar autenticación de dos factores en WordPress.

Los usuarios deben ingresar un código de autenticación antes de iniciar sesión

2. Proteger con contraseña su carpeta de administrador

Este enfoque agrega otra capa de seguridad antes de que los usuarios puedan siquiera acceder a la pantalla de inicio de sesión de WordPress. Cuando alguien intente visitar /wp-admin/, primero deberá ingresar un nombre de usuario y contraseña a nivel de servidor que usted establezca.

Área de administración de WordPress protegida con contraseña

Esto ayuda a bloquear bots y atacantes que intentan adivinar sus credenciales de inicio de sesión de WordPress. Para obtener más detalles, consulte nuestro tutorial sobre cómo proteger con contraseña su carpeta de administrador de WordPress.

Preguntas Frecuentes

¿Qué sucede si mi dirección IP cambia?

Si está utilizando restricciones de IP en .htaccess o wp-config.php y su IP cambia, se le bloqueará el acceso a su área de administrador. Para recuperar el acceso, deberá actualizar la dirección IP permitida a través de FTP o su panel de control de hosting.

¿Puedo permitir el acceso desde múltiples direcciones IP?

Sí. Puede enumerar varias direcciones IP en sus reglas de .htaccess o wp-config.php. Cada una debe agregarse como una línea Allow from separada o una condición if, dependiendo del método que esté utilizando.

¿Qué pasa si uso un punto de acceso móvil o una VPN?

Los puntos de acceso móviles y las VPN a menudo usan IPs dinámicas, que pueden cambiar con frecuencia. En este caso, recomendamos habilitar la autenticación de dos factores o proteger con contraseña su carpeta de administrador para una protección más flexible.

Más consejos de seguridad para WordPress

Restringir el acceso a su área de administrador es una buena medida, pero es solo una parte del rompecabezas. Aquí hay tutoriales más útiles para fortalecer la seguridad de su sitio y aprender sobre las funciones de .htaccess.

Esperamos que este tutorial te haya ayudado a aprender cómo restringir el acceso a la administración de WordPress por dirección IP. También puedes consultar nuestro tutorial de WordPress sobre cómo limitar a los autores a sus propias publicaciones en el administrador de WordPress, o qué hacer cuando te bloquean el acceso al administrador de WordPress.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

48 CommentsLeave a Reply

  1. esto es útil, pero solo quiero saber sobre la dirección IP dinámica y la dirección IP estática para un sitio web de WordPress. ¿Cuál es la forma preferida de configurar la dirección IP si WordPress se administra en una red doméstica la mayor parte del tiempo? ¿Y si uso un plugin de seguridad, veo que la dirección IP cambia?

  2. ¿Es posible permitir el acceso al área de administración desde un rango de red completo usando el archivo htaccess? Es decir, no solo desde direcciones IP individuales, sino desde todo el rango de una red. Sería complicado para mí enumerar todas las direcciones IP, y sería mucho más fácil para mí configurar toda la red, pero no estoy seguro de si esto es posible con htaccess.

    • Si todas las direcciones IP están en una red, puedes usar una dirección IP parcial, pero aún así recomendaríamos una dirección IP completa para cada usuario.

      Administrador

      • Gracias por confirmar y por el consejo. Habrá múltiples direcciones IP involucradas, así que no estoy seguro si el mantenimiento se volverá complicado, pero aun así, aprecio tu recomendación y la consideraré seriamente porque creo que tu consejo está justificado. Como puedes ver, a veces es bueno consultar con profesionales.

  3. Probé el método de protección con contraseña .htaccess.

    Funciona, pero lo probé en un sitio con Woocommerce, y luego mis clientes no pudieron iniciar sesión.

    ¡Solo lo digo porque parece que nadie ha mencionado que no funciona con sitios que requieren que los clientes inicien sesión!

  4. Hola, gracias por el tutorial. Desafortunadamente, no he podido hacer que este archivo .htaccess funcione correctamente porque está denegando el acceso a la única dirección IP que incluí, la mía… Estoy seguro de que copié tu código exactamente y escribí mi IP correctamente. El archivo .htaccess se guardó en: /wp-admin/.htaccess

    ¿Me falta algo? Gracias

  5. Hola a todos,

    He bloqueado el wp-admin con .htaccess como se menciona en este artículo. Pero tengo un problema: mi archivo admin-ajax.php también está siendo restringido en el sitio público.

    Mi tema de WordPress utiliza gran parte de la funcionalidad de admin-ajax y he puesto la limitación de acceso por IP en la carpeta wp-admin, por lo que no es accesible para todas las IPs.

    ¿Alguien ha encontrado una solución para esto? Si es así, por favor compártanla.

    Gracias de antemano
    Emaan

  6. Hola, esto parece realmente útil. ¿Quizás podrías ayudarme? En lugar de permitir el acceso a una IP específica, ¿podemos permitir el acceso a países específicos en el archivo .htaccess? Espero que puedas ayudarme. Muchas gracias.

  7. Hola, esto sí funciona. Verifiqué y estoy "prohibido" de iniciar sesión en cualquier otra computadora. Ni siquiera puedo ver el panel de inicio de sesión. Sin embargo, todavía tengo alrededor de 24 intentos de inicio de sesión fallidos por día desde diferentes direcciones IP. ¿Alguna idea de cómo se están saliendo con la suya? ¿Es algún tipo de ataque de fuerza bruta? Gracias, Scott.

  8. ¿Y cómo permitir el acceso solo al administrador de WordPress? ¿Qué código escribiré sin ninguna IP? Solo necesito saber una función genérica que obtenga información relacionada con el administrador. Porque tengo que restringir las cargas de mi plugin a otros usuarios. Y quienquiera que use este plugin, necesito obtener su información de administrador para restringir el contenido de otros y permitir solo al administrador del sitio web.

  9. Intenté esto (después de haber protegido con contraseña mi directorio wp-admin y haber corregido el error de redirección según tu otro artículo), pero luego aparece una ventana emergente que pide un nombre de usuario y una contraseña para el "Control de Acceso de Administración de WordPress". ¿Qué nombre de usuario y contraseña debo usar para esta nueva ventana emergente? Ni el inicio de sesión de administrador de WordPress ni el inicio de sesión del directorio wp-admin funcionan para ello.
    ¡Gracias!

  10. I have a big problem :(

    I did what you said about creating the .htaccess and putting in the code snippet. It didn’t work so I deleted the .htaccess file and now I can’t login to my dashboard! It’s just a white screen :( Please help!!!

    Gracias

      • Lo único que hice fue crear el archivo en mi carpeta wp-admin y cuando no funcionó, lo borré de la carpeta wp-admin. No estoy seguro de qué pasó, pero después de un loco camino de conejos y muchos intentos a ciegas, pude corregir el problema agregando al principio de mi archivo login.php. Todavía no sé qué salió mal ni por qué lo que hice lo arregló... pero al menos está arreglado. Puede que lo intente de nuevo cuando me sienta valiente.

  11. Hola WPB, no creo que funcione en Pakistán porque cada vez que reiniciamos o apagamos nuestro módem DSL, la dirección IP cambia automáticamente. Si tienes algún otro consejo, por favor responde.
    Gracias

  12. hola, cómo hacer .htaccess con ip dinámica (ip no estática)
    mi ip siempre cambia xxx.xxx.xxx.12 xxx.xxx.xxx.453 xxx.xxx.xxx.076

    por favor ayuden…

      • Puedes fortalecer tu instalación de WordPress a través de la lista blanca de .htaccess incluso si tienes una dirección IP dinámica. Puedes poner en lista blanca un rango de direcciones IP usando un rango /24 o /16. Si bien esto permite más acceso que si siempre supieras la IP que quieres permitir, aún prohíbe el acceso a casi todo Internet.

        Simplemente agrega /24 al final de la línea 'allow from' para permitir toda la subred de clase C (256 IPs), o agrega /16 para permitir todo el rango de 65,536. es decir,

        allow from xxx.xxx.xxx.0/24

        permitirá el acceso a direcciones IP de xxx.xxx.xxx.0 – xxx.xxx.xxx.255. y

        allow from xxx.xxx.0.0/16

        permitirá el acceso desde direcciones IP de xxx.xxx.0.0 – xxx.xxx.255.255

  13. Dices que no ponga el archivo .htaccess del sitio raíz... ¿por qué es eso? ¿Porque solo quieres limitar el acceso a la carpeta /wp-admin?

    Entonces... si quisiera tener un sitio de WordPress alojado externamente pero usado como un recurso interno de la empresa para que solo las personas que usan las IPs de nuestra empresa puedan acceder a él... si editara la carpeta .htaccess de la carpeta raíz para permitir solo las IPs de nuestro dominio... eso funcionaría de la misma manera que tu arreglo de /wp-admin, pero para todo el sitio, ¿correcto?

    • ¿Puedo limitar el acceso basándome en otros criterios? Por ejemplo, necesito que solo mi laptop acceda a una carpeta en particular. Podría acceder desde cualquier lugar, por lo que sería difícil especificar una IP ya que mi acceso a internet se basaría en DHCP. ¿Existe un identificador único para cada máquina o algo así que pueda usarse como criterio?

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.