GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo bloquear el acceso a wp-admin y wp-login en Nginx/Apache

A pesar de la reputación del Sistema de gestión de contenido de WordPress superando todas las expectativas en términos de publicación de contenido impecable y control de acceso de usuario sin problemas, todavía hay algunas infracciones de seguridad preocupantes que necesitan un manejo prioritario.

Dos puntos de acceso importantes en un sitio web de WordPress deben protegerse a toda costa. El primero es el wp-login.php página responsable de acomodar tanto a los usuarios normales como a los privilegiados.

[ También te puede interesar:Cómo restablecer la contraseña de administrador de WordPress a través de MySQL ]

El segundo es el wp-admin/ página encargada de dar cabida a los usuarios administradores del sitio. La protección de estas dos páginas del sitio de WordPress desalienta los ataques de fuerza bruta.

Bloquear el acceso a wp-admin y wp-login en Apache

Configuración del servidor web Apache entorno para comunicarse con su WordPress el sitio en cualquier capacidad primero requiere acceso al archivo de configuración principal del host.

Abra su archivo de configuración de Apache vhost de WordPress.

Por mi parte, este es el archivo de configuración personalizado asociado con mi sitio de WordPress. Vamos a utilizar el <location></location> etiquetas en este archivo para bloquear el acceso a wp-admin y wp-login.php páginas de WordPress.

<location /wp-admin>
deny from all
</location>
<location /wp-login.php>
deny from all
</location>

Ahora reinicie el servidor Apache.

$ sudo systemctl restart apache2   [On Ubuntu, Debian & Mint]
$ sudo systemctl restart httpd     [On RHEL/CentOS/Fedora & Rocky Linux/AlmaLinux]

Volver a cargar la página después de reiniciar Apache llevó a la siguiente pantalla.

Permitir el acceso al administrador de WordPress por dirección IP

Si solo desea otorgarse acceso a estas dos páginas, puede especificar la dirección IP que usará a través de la cláusula allow from, como se muestra en la siguiente captura de pantalla.

<location /wp-admin>
allow from 127.0.0.1
allow from 192.168.2.9
allow from 10.32.15.7
deny from all
</location>
<location /wp-login.php>
allow from 127.0.0.1
allow from 192.168.2.9
allow from 10.32.15.7
deny from all
</location>

Denegar el acceso al administrador de WordPress por dirección IP

<location /wp-admin>
deny from 192.168.2.9
deny from 10.32.15.7
allow from all
</location>
<location /wp-login.php>
deny from 192.168.2.9
deny from 10.32.15.7
allow from all
</location>

Asegúrese de reiniciar el servidor Apache después de realizar cambios en la configuración.

Bloquear el acceso a wp-admin y wp-login en Nginx

Con Nginx , el enfoque para bloquear el acceso de los usuarios a wp-admin y wp-login.php Las páginas de WordPress son casi similares a la técnica de Apache. Primero, acceda al archivo de configuración de Nginx relacionado para su sitio de WordPress.

La location las etiquetas para usar con Nginx tienen una sintaxis ligeramente diferente, como se muestra a continuación:

location {
	}

Para bloquear todos los accesos a las dos páginas de WordPress:

location /wp-admin {
deny all;
}
location = /wp-login.php {
deny all;
}

Después de realizar los cambios, reinicie el servidor Nginx.

$ sudo systemctl restart nginx

Volver a cargar la página después de reiniciar Nginx provocó el siguiente error de visualización.

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

location /wp-admin {
allow 192.168.2.9;
allow 10.32.15.7;
deny all;
}
location = /wp-login.php {
allow 192.168.2.9;
allow 10.32.15.7;
deny all;
}

Bloqueo del acceso al administrador de WordPress por dirección IP

location /wp-admin {
deny 192.168.2.9;
deny 10.32.15.7;
allow all;
}
location = /wp-login.php {
deny 192.168.2.9;
deny 10.32.15.7;
allow all;
}

Asegúrese de reiniciar el servidor Nginx después de realizar cambios en la configuración.

[ También te puede interesar:Cómo bloquear XML-RPC en WordPress usando Nginx/Apache ]

Como administrador de WordPress, tener el poder de decidir quién tiene acceso a qué sección de su sitio de WordPress salva la reputación del sitio de usuarios riesgosos o acceso que puede comprometer su integridad y reputación para siempre.


Linux
  1. Bloqueo de acceso a través de un archivo .htaccess

  2. ¿Qué es NGINX? ¿Como funciona?

  3. Cómo crear un host virtual Nginx (bloque de servidor)

  4. ¿Cómo bloquear direcciones IP y proteger archivos y carpetas con apache y .htaccess en ubuntu?

  5. ¿Cómo solucionar la vulnerabilidad DROWN en el servidor web Apache/NGINX y SMTP?

Cómo desactivar la exploración de directorios en Apache y Nginx

Cómo restringir el acceso al directorio y subdirectorios en Nginx

Cómo habilitar TLS 1.3 en Apache y Nginx

Cómo instalar WordPress en CentOS 7.1 con Apache

Cómo agregar compatibilidad con PHP-FPM en el servidor web Apache y Nginx en Ubuntu 18.04

Cómo hacer una copia de seguridad y restaurar un sitio web de WordPress