Kuidas konfigureerida põhiline HTTP-autentimine Nginxis


Põhiline HTTP-autentimine on turvamehhanism, mis piirab juurdepääsu teie veebisaidile/rakendusele või mõnele selle osale, seadistades lihtsa kasutajanime/parooli autentimise. Seda saab kasutada peamiselt kogu HTTP-serveri, üksikute serveriplokkide (Apache virtuaalsed hostid) või asukohablokkide kaitsmiseks.

Nagu nimigi ütleb, pole see kindel meetod, millele toetuda; peaksite seda kasutama koos muude usaldusväärsemate turvameetmetega. Näiteks kui teie veebirakendus töötab HTTP-ga, edastatakse kasutaja mandaadid lihttekstina, seega peaksite kaaluma HTTPS-i lubamist.

Selle juhendi eesmärk on aidata teil lisada väike, kuid kasulik turvakiht, et kaitsta oma veebirakenduste privaatset/privilegeeritud sisu (näiteks, kuid mitte ainult administraatori pooli). Võite seda kasutada ka selleks, et takistada juurdepääsu veebisaidile või rakendusele, mis on alles arendusjärgus.

  1. Installige LEMP Stack CentOS/RHEL 7-sse
  2. Installige LEMP Stack Ubuntu/Debianisse

Looge HTTP-autentimise kasutajafail

Alustuseks peaksite looma faili, kuhu salvestatakse paarid kasutajanimi: parool . Selle faili loomiseks kasutame Apache HTTP serveri htpasswd utiliiti.

Kõigepealt kontrollige, kas apache2-utils või httpd-tools, htpasswd utiliiti pakkuvad paketid on teie süsteemi installitud, vastasel juhul käivitage selle installimiseks oma jaotuse jaoks sobiv käsk:

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

Seejärel käivitage esimese kasutajaga paroolifaili loomiseks allpool käsk htpasswd. Valikut -c kasutatakse paroolifaili määramiseks. Kui vajutate [Enter], palutakse teil sisestada kasutaja parool.

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

Lisage teine kasutaja ja ärge kasutage siin valikut -c .

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

Nüüd, kui paroolifail on valmis, konfigureerige veebiserveri need osad, millele soovite juurdepääsu piirata. Paroolifaili sisu (mis sisaldab kasutajanimesid ja krüptitud paroole) vaatamiseks kasutage allpool olevat käsku kass.

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

Konfigureerige Nginxi jaoks HTTP autentimine

Nagu me juba varem mainisime, saate piirata juurdepääsu oma veebiserverile, ühele veebisaidile (kasutades selle serveriplokki) või asukoha direktiivile. Selle saavutamiseks võib kasutada kahte kasulikku direktiivi.

  • auth_basic - lülitab kasutajanime ja parooli valideerimise sisse protokolli\"HTTP Basic Authentication» abil.
  • auth_basic_user_file - määrab paroolifaili.

Kogu veebiserveri põhitõendamise juurutamiseks, mis kehtib kõigi serveriplokkide jaoks, avage fail /etc/nginx/nginx.conf ja lisage allolevad read http-konteksti:

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

Kindla domeeni või alamdomeeni põhiautentimise lubamiseks avage selle konfiguratsioonifail jaotises /etc/nginx/conf.d/ või/etc/nginx/conf/sites-available (olenevalt Nginxi installimisest), seejärel lisage konfiguratsioon allpool serveri plokis või kontekstis:

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

Samuti saate asukohadirektiivis lubada põhilise autentimise. Allpool toodud näites palutakse kõigil kasutajatel, kes proovivad juurdepääsu asukohaklokile /admin , autentida.

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
	}
	……..
}

Kui olete konfigureerinud põhilise HTTP-autentimise, küsitakse kõigilt kasutajatelt, kes üritavad pääseda juurde teie veebiserverile või alamdomeenile või saidi konkreetsele osale (sõltuvalt sellest, kus te selle juurutasite), küsitakse kasutajanime ja parooli, nagu on näidatud alloleval ekraanipildil .

Ebaõnnestunud kasutaja autentimise korral kuvatakse viga\"401 Nõutav autoriseerimine", nagu allpool näidatud.

Lisateavet leiate jaotisest Juurdepääsu piiramine põhilise HTTP-autentimisega.

Samuti võiksite lugeda järgmisi kasulikke Nginxi HTTP-serveriga seotud juhendeid.

  1. Kuidas kaitsta Nginxis veebikatalooge parooliga
  2. Nginxi turvalisuse, karastamise ja jõudluse parandamise ülim juhend
  3. HTTPS-i seadistamine krüpteerime Nginxi SSL-sertifikaadi

Selles juhendis näitasime, kuidas rakendada põhilist HTTP-autentimist Nginxi HTTP veebiserveris. Küsimuste esitamiseks kasutage allolevat tagasisidevormi.