Kif tikkonfigura l-Awtentikazzjoni HTTP Bażika f'Nginx


L-awtentikazzjoni HTTP bażika hija mekkaniżmu ta’ sigurtà biex jirrestrinġi l-aċċess għall-websajt/applikazzjoni tiegħek jew xi partijiet minnha billi tistabbilixxi awtentikazzjoni sempliċi tal-username/password. Jista 'jintuża essenzjalment biex jipproteġi s-server HTTP kollu, blokki ta' server individwali (hosts virtwali f'Apache) jew blokki ta 'lokazzjoni.

Kif jissuġġerixxi l-isem, mhuwiex metodu sigur li wieħed joqgħod fuqu; għandek tużah flimkien ma' miżuri oħra ta' sigurtà aktar affidabbli. Pereżempju, jekk l-applikazzjoni tal-web tiegħek qed taħdem fuq HTTP, allura l-kredenzjali tal-utent jiġu trażmessi f'test sempliċi, għalhekk għandek tikkunsidra li tippermetti HTTPS.

L-iskop ta’ din il-gwida huwa li jgħinek iżżid saff żgħir iżda utli ta’ sigurtà biex tipproteġi l-kontenut privat/privileġġjat fuq l-applikazzjonijiet tal-web tiegħek (bħal, iżda mhux limitat għal naħat tal-amministratur). Tista' tużaha wkoll biex tipprevjeni aċċess għal websajt jew applikazzjoni li għadha fil-fażi ta' żvilupp.

  1. Installa LEMP Stack f'CentOS/RHEL 7
  2. Installa LEMP Stack f'Ubuntu/Debian

Oħloq Fajl tal-Utent tal-Awtentikazzjoni HTTP

Għandek tibda billi toħloq fajl li jaħżen pari username:password. Se nużaw l-utilità htpasswd minn Apache HTTP Server, biex noħolqu dan il-fajl.

L-ewwel iċċekkja li apache2-utils jew httpd-tools, il-pakketti li jipprovdu l-utilità htpasswd huma installati fis-sistema tiegħek, inkella ħaddem il-kmand xieraq għad-distribuzzjoni tiegħek biex tinstallah:

# yum install httpd-tools		[RHEL/CentOS]
$ sudo apt install apache2-utils	[Debian/Ubuntu]

Sussegwentement, mexxi htpasswd kmand hawn taħt biex toħloq il-fajl tal-password mal-ewwel utent. L-għażla -c tintuża biex tispeċifika l-fajl passwd, ladarba tolqot [Enter], tintalab tidħol il-password tal-utent.

# htpasswd -c /etc/nginx/conf.d/.htpasswd developer

Żid it-tieni utent, u tużax l-għażla -c hawn.

# htpasswd /etc/nginx/conf.d/.htpasswd admin

Issa li għandek il-fajl tal-password lest, ipproċedi biex tikkonfigura l-partijiet tas-server tal-web tiegħek li trid tirrestrinġi l-aċċess għalihom. Biex tara l-kontenut tal-fajl tal-password (li jinkludi usernames u passwords kriptati), uża l-kmand tal-qtates hawn taħt.

# cat /etc/nginx/conf.d/.htpasswd 

Ikkonfigura l-Awtentikazzjoni HTTP għal Nginx

Kif semmejna qabel, tista' tirrestrinġi l-aċċess għall-webserver tiegħek, sit tal-web wieħed (bl-użu tal-blokk tas-server tiegħu) jew direttiva dwar il-lok. Żewġ direttivi utli jistgħu jintużaw biex jinkiseb dan.

  • auth_basic – jixgħel il-validazzjoni tal-isem tal-utent u l-password bl-użu tal-protokoll \HTTP Awtentikazzjoni Bażika.
  • auth_basic_user_file – jispeċifika l-fajl tal-password.

Biex timplimenta awtentikazzjoni bażika għas-server tal-web kollu, li japplika għall-blokki kollha tas-server, iftaħ il-fajl /etc/nginx/nginx.conf u żid il-linji hawn taħt fil-kuntest http:

http{
	auth_basic           "Restricted Access!";
    	auth_basic_user_file /etc/nginx/conf.d/.htpasswd; 
	……...
}

Biex tippermetti awtentikazzjoni bażika għal dominju jew sottodominju partikolari, iftaħ il-fajl tal-konfigurazzjoni tiegħu taħt /etc/nginx/conf.d/ jew /etc/nginx/conf/sites-available (skond kif installajt Nginx), imbagħad żid il- konfigurazzjoni hawn taħt fil-blokk tas-server jew kuntest:

server {
	listen 			80;
	server_name    	  example.com;
	auth_basic           	"Restricted Access!";
    	auth_basic_user_file 	/etc/nginx/conf.d/.htpasswd; 
	location /  {
		……..
	}
	……...
}

Tista' wkoll tattiva l-awtentikazzjoni bażika fi ħdan direttiva tal-post. Fl-eżempju hawn taħt, l-utenti kollha li jippruvaw jaċċessaw il-blokka tal-lokazzjoni /admin se jintalbu jawtentikaw.

server {
	listen 			80;
	server_name    	example.com www.example.com;
	
	location / {
		……..
	}
	location /admin/ {
		auth_basic           	"Restricted Access!";
    		auth_basic_user_file 	/etc/nginx/conf.d/.htpasswd; 
	}

	location /public/{
		auth_basic  off;	#turns off basic http authentication off for this block
	}
	……..
}

Jekk ikkonfigurajt l-awtentikazzjoni HTTP bażika, l-utent kollu li jipprova jaċċessa l-webserver tiegħek jew subdominju jew parti speċifika ta’ sit (skond fejn implimentajtha), jintalab username u password kif muri fil-screenshot hawn taħt. .

F'każ ta' awtentikazzjoni tal-utent falluta, se jintwera żball \Awtorizzazzjoni Meħtieġa 401 kif muri hawn taħt.

Tista' ssib aktar informazzjoni fil-restrizzjoni tal-Aċċess b'Awtentikazzjoni HTTP Bażika.

Tista 'wkoll tixtieq taqra dawn il-gwidi utli relatati mas-server Nginx HTTP li ġejjin.

  1. Kif tipproteġi d-direttorji tal-web b'password f'Nginx
  2. Il-Gwida Ultimate biex Tiżgura, Tibbies u Ttejjeb il-Prestazzjoni ta' Nginx
  3. Twaqqif ta' HTTPS b'Ejja Encrypt SSL Ċertifikat Għal Nginx

F'din il-gwida, urejna kif timplimenta l-awtentikazzjoni HTTP bażika fis-server tal-web HTTP Nginx. Biex tistaqsi xi mistoqsijiet, uża l-formola ta' feedback hawn taħt.