Bloquear acceso a wp-admin

6 may 2015, 16:38:25
Vistas: 22.7K
Votos: 3

Estoy intentando usar un archivo .htaccess para bloquear el acceso a la carpeta wp-admin. He leído la documentación sobre Ataques de Fuerza Bruta (https://wordpress.org/support/article/brute-force-attacks/) y he añadido el siguiente bloque, usando mis direcciones IP, al archivo .htaccess ubicado en la carpeta wp-admin:

# Bloquear acceso a wp-admin.

ErrorDocument 401 default

order deny,allow
allow from x.x.x.x 
allow from y.y.y.y 
allow from z.z.z.z 
deny from all

Parece estar funcionando, pero el error que recibe un usuario es "Esta página web tiene un bucle de redirección". ¿Hay alguna manera de enviar al usuario a una página 404 u otro documento de error en lugar del bucle de redirección? No estoy realmente seguro de cómo está ocurriendo esto ya que no hay nada más en el archivo .htaccess.

No estoy protegiendo con contraseña la carpeta wp-admin y agregar ErrorDocument 401 default tampoco parece funcionar.

3
Comentarios

posible duplicado de .htaccess en wp-admin produce un bucle de redirección

kittsville kittsville
6 may 2015 16:43:06

Según tu respuesta, ¿probaste mover la línea ErrorDocument 401 default al final de tu archivo .htaccess? Sé que he encontrado situaciones con mi propio archivo .htaccess donde el orden de los comandos es importante. (También noto que en tu respuesta, la línea deny from all aparece antes que las líneas allow from [x], lo cual también puede ser relevante).

Pat J Pat J
6 may 2015 18:23:11

Lo que tengo en mi respuesta de hecho está funcionando muy bien. Cuando intento acceder a wp-login.php desde cualquier IP que no sea la permitida, es bloqueado.

brandozz brandozz
6 may 2015 18:37:53
Todas las respuestas a la pregunta 2
2

Colocar el archivo htaccess en el directorio wp-admin no funcionó para mí, así que opté por una ruta diferente y parece estar funcionando muy bien. A continuación, muestro lo que tengo en mi archivo htaccess principal:

<files wp-login.php>
# establecer orden de reglas
order deny,allow
# denegar por defecto
deny from all
allow from x.x.x.x
allow from y.y.y.y
allow from z.z.z.z
</files>

ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
6 may 2015 18:13:42
Comentarios

Sé que es una respuesta larga, pero ¿a qué te refieres con "archivo htaccess principal"? ¿A qué archivo te refieres? Gracias de antemano.

Apache Apache
21 nov 2020 23:10:51

@Apache, se refieren al archivo .htaccess en el directorio raíz.

Luke Stevenson Luke Stevenson
30 ene 2024 01:06:00
2

También puedes bloquear el acceso a wp-admin con htaccess/htpasswd, lo que obligará a los usuarios a ingresar un nombre y contraseña adicionales antes de poder acceder a wp-admin. De esta manera, los ataques de fuerza bruta serán bloqueados a nivel del servidor, ni siquiera llegarán a la máscara de inicio de sesión de WordPress.

Debes editar /wp-admin/.htaccess

Añade las siguientes líneas:

AuthType Basic
AuthName "área restringida"
AuthUserFile /ruta-absoluta-del-servidor-hacia-wp/wp-admin/.htpasswd
require valid-user

Nota: ¡Necesitas insertar la ruta absoluta del servidor! Allí defines la ruta donde se almacenará la contraseña.

También necesitas generar el archivo .htpasswd. Puedes usar una herramienta como: http://www.kxs.net/support/htaccess_pw.html

Sube el archivo .htpasswd a la ubicación definida arriba en la línea AuthUserFile. Debe estar ubicado por encima del nivel al que pueden acceder los visitantes de tu sitio, así que si tu sitio está en /httpdocs/wordpress/, podrías colocarlo en /httpdocs.

Puedes encontrar más detalles sobre cómo configurarlo aquí: Cómo proteger un directorio con htaccess

15 sept 2015 08:36:22
Comentarios

Una respuesta que solo contiene un enlace es una mala respuesta. Por favor, incluye los conceptos básicos del enlace en tu respuesta y luego añade el artículo como referencia.

Mayeenul Islam Mayeenul Islam
15 sept 2015 09:09:42

No previene ataques de fuerza bruta, solo añade otra capa de "queso suizo" (seguridad por capas con posibles vulnerabilidades).

Luke Stevenson Luke Stevenson
30 ene 2024 01:07:39