Bloquear acceso a wp-admin
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.
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

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

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.
