Image

Base de conocimientos → Restringir el acceso a la sección administrativa del sitio por IP en nginx

[Servidores virtuales]
Fecha de publicación: 22.03.2024

Dependiendo del propio sistema de gestión de contenidos (CMS), recomendamos limitar el acceso a la sección administrativa del sitio al nivel de servicio del servidor web.

Usando el ejemplo de CMS Laravel, donde la sección administrativa existe separada del sitio mismo, el siguiente diseño de configuración en nginx funciona bien

...

location /myadmin {
    try_files $uri $uri/ /index.php?$query_string;
    allow 77.xx.80.xxx;
    allow 89.xxx.71.xx;
    deny all;
    }
    
...

Dónde:

/myadmin es la ubicación de la carpeta con la sección administrativa (como https://domain.tld/myadmin)

En nuestro ejemplo, enumeramos una lista de IP desde las cuales se resolverá esta ruta, donde puede someterse a una autorización adicional utilizando su nombre de usuario y contraseña. A partir de otras direcciones IP que no estén en la lista se mostrará el siguiente mensaje: Prohibido.

Esta regla aumenta significativamente la seguridad de su sitio, tenga en cuenta que cada CMS debe verificarse por separado, ya que algunas secciones administrativas con tal restricción pueden interrumpir el funcionamiento de todo el sitio.

Para aplicar la configuración, no olvide reiniciar el servicio, verificando la configuración en su conjunto.

nginx -t
service nginx restart

Para autorización siempre desde la misma dirección IP estática, utilice un servidor VPS, por ejemplo con el servicio squid configurado.





Sin comentarios aún