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.