Kif tikkontrolla l-aċċess Ibbażat fuq l-indirizz IP tal-Klijent f'NGINX
Hemm diversi modi kif is-sigurtà tas-server tal-web NGINX titwebbis, li wieħed minnhom huwa l-kontroll tal-aċċess ibbażat fuq l-indirizz IP. Din il-gwida tispjega kif tiżgura l-applikazzjonijiet tal-web billi tikkontrolla l-aċċess ibbażat fuq l-indirizz IP tal-klijent f'NGINX.
Din il-gwida tassumi li għandek server tal-web NGINX installat u jaħdem, inkella iċċekkja dawn il-gwidi:
- Kif tinstalla Nginx Web Server fuq Ubuntu
- Kif tinstalla Nginx fuq CentOS
- Kif tinstalla Nginx fuq Debian
- Kif tinstalla Nginx fuq RHEL
Kontroll Aċċess Ibbażat fuq Indirizz IP tal-Klijent f'NGINX
Il-modulu ngx_http_access_module f'NGINX jippermetti li jillimita l-aċċess għal ċerti indirizzi IP tal-klijenti. Tista' tattivaha bid-direttivi ta' permess u ċaħda.
Id-direttiva tal-permess kif jimplika l-isem tippermetti aċċess għal indirizz IP speċifiku, netwerk, socket Unix, jew kollha (kelma ewlenija għall-entitajiet preċedenti), u d-direttiva tiċħad l-aċċess għal indirizz IP speċifiku, netwerk, socket Unix, jew kollha.
Iż-żewġ direttivi huma validi fil-kuntest HTTP, server, post kif ukoll limit_except. Hawn hu eżempju tal-użu tad-direttivi tal-permess u ċ-ċaħda f'kuntest ta' post biex jirrestrinġu l-aċċess għal servizz 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; } }
Fl-eżempju ta 'hawn fuq, kwalunkwe talba għall-aċċess għal kwalunkwe punt finali tal-API proxyed hija permessa biss għall-indirizzi IP 10.10.10.20, 10.10.40.29, 192.168.2.23, u kwalunkwe wieħed minn dawk fin-netwerk 192.168.10.0/24. Talbiet minn kwalunkwe indirizz IP ieħor jew netwerk jew socket tad-dominju UNIX se jiġu miċħuda.
NGINX se jirrispondi bi żball projbit 403 lill-klijent kif muri.
Meta tiċċekkja l-log tal-iżbalji /var/log/nginx/app_api_error.log, issib entrati bħal dawk murija fil-screenshot li ġej:
# cat /var/log/nginx/app_api_error.log debug
Għal aktar pariri dwar it-twebbis tas-sigurtà tas-server tal-web NGINX, iċċekkja: The Ultimate Guide to Secure and Harden Nginx Web Server.