Tutoriales

Cómo controlar el acceso según la dirección IP del cliente en NGINX

Hay varias formas de fortalecer los servidores web NGINX, una de las cuales es el control de acceso basado en direcciones IP. Esta guía explica cómo proteger las aplicaciones web controlando el acceso en NGINX en función de la dirección IP del cliente.

Esta guía asume que tiene el servidor web NGINX instalado y en ejecución; de lo contrario, consulte las siguientes guías:

Control de acceso basado en la dirección IP del cliente en NGINX

Esta ngx_http_access_module Los módulos en NGINX pueden restringir el acceso a ciertas direcciones IP de clientes.puedes usarlo permitir y negativo instrucción.

Esta permitir Como sugiere el nombre, la directiva permite el acceso a una dirección IP específica, red, socket Unix o todos (la palabra clave de la entidad anterior), y negativo La directiva niega el acceso a direcciones IP específicas, redes, sockets Unix o todos.

Estos dos comandos son HTTPservidor, ubicación y Salvo restricciones contexto.A continuación se muestra un uso permitir y negativo instrucciones dentro Lugar Contextos que restringen el acceso a los servicios de la API:

upstream app_api {
	keepalive 100;
	server 10.1.1.50:5000;
	server 10.1.1.71:5001;
}
server {
    listen 80;
    server_name _;
    access_log /var/log/nginx/app_api_access.log main;
    error_log /var/log/nginx/app_api_error.log debug;
    root /usr/share/nginx/html/;    
    location / {
        try_files $uri /api;
    }
    location /api {
	proxy_read_timeout 3600;
    	proxy_connect_timeout 3600s;
	keepalive_timeout 15;
	send_timeout 300;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $http_host;
            proxy_redirect off;

	proxy_http_version 1.1;
 	proxy_set_header Connection "";
            proxy_pass http://app_api$request_uri;
	
	#list of allowed IPs to access API
	allow 10.10.10.20;
	allow 10.10.40.29;
	allow 192.168.2.23;  
	allow 192.168.10.0/24;
   	deny  all;
    }
}

En el ejemplo anterior, solo se permite cualquier solicitud a cualquier extremo de la API de proxy 10.10.10.20, 10.10.40.29, 192.168.2.23 dirección IP, y 192.168.10.0/24 La Internet. Las solicitudes de cualquier otra dirección IP o red o socket de dominio UNIX serán rechazadas.

LEER  Control de servicios web y protección remota de su dispositivo Android

NGINX responderá al cliente con un error 403 Prohibido como se muestra.

Error prohibido de Nginx 403

cuando revisas /var/log/nginx/app_api_error.log Registro de errores, encontrará una entrada similar a la de la siguiente captura de pantalla:

# cat /var/log/nginx/app_api_error.log debug
Comprobar el registro de errores de Nginx
Comprobar el registro de errores de Nginx

Para obtener más información sobre los consejos para fortalecer la seguridad del servidor web NGINX, consulte: La guía definitiva para proteger y fortalecer los servidores web Nginx.

Si aprecia lo que estamos haciendo en TecMint, debe considerar:

TecMint es el sitio comunitario de más rápido crecimiento y más confiable para artículos, guías y libros de Linux de cualquier tipo en la web. ¡Millones de personas visitan TecMint! Busque o explore miles de artículos publicados que están disponibles gratuitamente para todos.

Si le gusta lo que está leyendo, considere invitarnos a un café (o dos) como agradecimiento.

Apoyanos

Agradecemos su apoyo interminable.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba