Il existe plusieurs façons de renforcer la sécurité du serveur Web NGINX, dont l’une est le contrôle d’accès basé sur l’adresse IP. Ce guide explique comment sécuriser les applications Web en contrôlant l’accès en fonction de l’adresse IP d’un client dans NGINX.

Ce guide suppose que vous avez un serveur Web NGINX installé et en cours d’exécution, sinon consultez ces guides :

Contrôler l’accès en fonction de l’adresse IP du client dans NGINX

le ngx_http_access_module module dans NGINX permet de limiter l’accès à certaines adresses IP client. Vous pouvez l’activer avec le Autoriser et Nier directives.

le Autoriser comme son nom l’indique permet l’accès pour une adresse IP spécifique, un réseau, un socket Unix ou tous (mot-clé pour les entités précédentes), et la Nier refuse l’accès à une adresse IP spécifique, un réseau, un socket Unix ou tous.

Les deux directives sont valables dans le HTTPserveur, emplacement ainsi que limite_sauf le contexte. Voici un exemple d’utilisation de la Autoriser et Nier directives dans un lieu contexte pour restreindre l’accès à un service API :

Publicité
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;
    }
}

Dans l’exemple ci-dessus, toute demande d’accès à l’un des points de terminaison d’API proxy est autorisée uniquement pour le 10.10.10.20, 10.10.40.29, 192.168.2.23 Les adresses IP et toutes celles du 192.168.10.0/24 réseau. Les requêtes provenant de toute autre adresse IP ou réseau ou socket de domaine UNIX seront refusées.

NGINX répondra avec une erreur interdite 403 au client comme indiqué.

Erreur Interdite Nginx 403
Erreur Interdite Nginx 403

Lorsque vous vérifiez le /var/log/nginx/app_api_error.log journal des erreurs, vous trouverez des entrées comme celles présentées dans la capture d’écran suivante :

# cat /var/log/nginx/app_api_error.log debug
Vérifier Les Journaux D'Erreurs Nginx
Vérifier Les Journaux D&Rsquo;Erreurs Nginx

Pour plus de conseils sur le renforcement de la sécurité du serveur Web NGINX, consultez : Le guide ultime pour sécuriser et renforcer le serveur Web Nginx.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

Rate this post
Publicité
Article précédentNvidia aurait dépensé 10 milliards de dollars pour une partie de la capacité de fabrication de 5 nm de TSMC
Article suivantLa différence importante entre Web3 et le métaverse
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici