Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Evitar ataques de fuerza bruta en WordPress protegiendo el archivo wp-login.php con contraseña

Imago voragine.net

Una de las medidas para prevenir ataques de fuerza bruta en WordPress es protegiendo el inicio de sesión con contraseña usando HTTP Basic Authentication. Esta capa de seguridad se configura directamente en el servidor web, Apache2 por ejemplo. Este método permite proteger con contraseña el acceso a determinadas áreas de un servidor, archivos o carpetas, previamente a la ejecución de PHP. Al no ejecutar PHP, el consumo de recursos del servidor es mucho menor y el colapso es más difícil. Por esta razón es una manera más eficaz que usar un plugin.

Un ataque de fuerza bruta a WordPress consiste en multitud de intentos de iniciar sesión, multitud de peticiones al archivo wp-login.php. Esto puede hacer que el servidor colapse por una sobrecarga de tráfico. Para evitarlo podemos proteger el archivo wp-login.php usando HTTP Basic Authentication.

En este artículo se explica cómo configurar Apache2 para proteger wp-login.php con contraseña. La idea es la misma para cualquier servidor web.

Proteger el archivo wp-login.php con contraseña en Apache

La siguiente configuración hay que añadirla al archivo principal de configuración de Apache o al del virtual host:

<Directory "/ruta/a/raiz/de/wordpress">
 <Files "wp-login.php">
	AuthType Basic
	AuthName "Acceso restringido"
	AuthUserFile /ruta/a/htpasswd/configfile
	Require user username
 </Files>
</Directory>

Previamente hay que generar la contraseña para el username, como se explica en este otro tutorial de voragine.net.

Seguridad adiciona: proteger el directorio wp-admin

Para más seguridad se puede proteger además todo el directorio wp-admin y crear una excepción para el archivo admin-ajax.php.

<Directory "/ruta/a/raiz/de/wordpress/wp-admin">
	AuthType Basic
	AuthName "Acceso restringido"
	AuthUserFile /ruta/a/htpasswd/configfile
	Require user username

	<Files "admin-ajax.php">
	Order allow,deny
	Allow from all
	Satisfy any
	</Files>
</Directory>

Tras modificar la configuración solo queda reiniciar Apache:

service apache2 restart

Hay más maneras de evitar ataques de fuerza bruta, pero éste es uno de los más eficaces y más sencillo de poner en marcha.

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks