Autentificarea înseamnă server de web apache - # notă privind unix

Pentru a începe, să ne uităm la definițiile:

Autentificarea - o procedură pentru verificarea conformității unei persoane și contul său de pe sistemul informatic. În cel mai simplu caz, verificarea se întâmplă cu o parolă.

Cu definiții sortate, vom merge la server.

Apache suportă două tipuri de autentificare: Basic-autentificare (Autentificare de bază) și Digest-autentificare (autentificare Digest). mecanisme Detalii de autentificare descrise în RFC 2617.

Autentificarea poate fi setată direct în fișierul de configurare al Apache - httpd.conf sau într-un fișier separat, plasat în pagina de index director. Nume fișier - .htaccess.
Prima dată când se fac modificări la fișierul de configurare, trebuie să reporniți serverul Apache pentru ca modificările să aibă efect. În al doilea caz, modificările sunt aplicate pe zbor, de îndată ce un fișier este plasat în directorul .htaccess.
Atenție! Atunci când setarea mijloace .htaccess. trebuie mai întâi să vă că directiva AllowOverride în httpd.conf permite obținerea setărilor din fișierul .htaccess. Pentru podrorobnostey consultați documentația Apache.

Luați în considerare mecanismul de bază-autentificare:
Clientul, referindu-se la pagina de site-ul securizat, de exemplu test.ru trimite o interogare ca

GET / site / HTTP privat / 1.0

Serverul răspunde cu:

HTTP / 1.1 401 neautorizat
WWW-autentificaþi: tărâm de bază = „privat“

După ce a primit, browser-ul client afișează o fereastră cu nume de utilizator și parola de intrare câmpuri.
Introduceți numele de utilizator - parola și faceți clic pe „Submit“ buton de pe serverul de browser-ul trimite o cerere la următoarele:

GET / site / HTTP privat / 1.0
Autorizare: Basic YWRtaW46MTIzNDU =

În funcție de corectitudinea datelor introduse serverului, sau a permite accesul la o resursă protejată, sau ban.

De la teorie la practica acum.

Crearea unui autentificare de bază:

1) Crearea utilizatorilor htpasswd fișier parola
2) Pentru a înregistra o resursă protejată de configurare Apache (httpd.conf fișier sau într-un fișier .htaccess)
3) Creați un fișier pentru a lucra cu grupuri și acces de grup set (Schag acest lucru nu este obligatoriu).
---
1) Pentru a crea un fișier cu parolyamya disponibile de utilitate este inclus cu distribuția standard a serverului Apache.

htpasswd -c /var/www/html/site/.htpasswd administrator

Ne uităm la ceea ce face ca această comandă:
- Se creează un nou fișier .htpasswd în directorul cu site-ul site-ului. Dacă fișierul lipsește, unul nou, dacă fișierul trebuie să fie creat, acesta va suprascrie, și în locul ei un nou scris cu utilizatorul specificat, iar acest caz, „administrator“. Pentru crearea unui nou fișier se întâlnește tasta „C“.
Pentru a adăuga un fișier al unui alt utilizator, de exemplu: Tolik executa comanda de mai sus, dar fără „-c“:

htpasswd -c /var/www/html/site/.htpasswd Tolik

Pe măsură ce adăugați utilizatori, trebuie să specificați parole pentru ei. În primul rând, sistemul vă cere să introduceți parola pentru a doua oară și-l întreb pentru a confirma.
Ca urmare, executarea corectă a comenzilor, fișierul .htpasswd este plin și ia forma:

utilizator: hash al parolei utilizatorului

Luați în considerare alte chei htpasswd de utilitate:

-n Rezultatul htpasswd (nume de utilizator: parola hash) va fi afișat pe ecran și nu în fișierul.
-p Parola este stocată în text simplu, fără nici o criptare. Acest format este acceptat numai în sistemele de operare Windows, NetWare și BEOS (nu este recomandat).
-d parola hash este calculat folosind standardul CRYPT Unix-funcția. Acesta este algoritmul de criptare implicit. Acesta poate fi utilizat numai pe servere * nix.
-m parola hash este calculat prin algoritmul MD5.
-s parola hash este calculat prin algoritmul SHA1.
-D este eliminată din fișierul dat parola de utilizator.

Toate detaliile pot fi găsite prin citirea manhtpasswd.

2) prevede o resursă protejată de configurare Apache (în httpd.conf sau fișier de imagine .htaccess)

AuthType - Tip autentificare de bază / Digest.

AuthUserFile - locația fișierului cu parole.

AuthGroupFile - locația fișierului de grup.


AuthType de bază
AuthName „Zona privată“
AuthUserFile /var/www/html/site/.htpasswd
Necesită valid de utilizator


AuthType de bază
AuthName „Zona privată“
AuthUserFile /var/www/html/secret/.htpasswd
Necesită utilizator de administrator Tolik


Similar cu exemplul anterior, dar există o diferență. Accesul la zonele sensibile ale site-ului va fi permis să nu toți utilizatorii fișierului .htpasswd. dar numai pentru administratorul și utilizatorii Tolik.

3) Creați un fișier pentru a lucra cu grupuri și a înființat acces de grup.

adminii: Administrator Goga
Utilizatorii: Tolik Vano

și anume Avem două grupuri de utilizatori și utilizatori admini. adminii membrilor grupului sunt utilizatori și administrator de goga. și membrii grupului de utilizatori sunt utilizatori Tolik. Vano.

AuthType de bază
AuthName „Zona privată“
AuthUserFile /var/www/html/secret/.htpasswd
AuthGroupFile /var/www/html/secret/.htgroup
Necesită adminii de grup

În acest exemplu, accesul la zonele sensibile ale site-ului sunt doar membri ai grupului admini.

Principalul dezavantaj al Basic-autentificare este că toate datele sunt trimise prin rețea în text clar, și anume Oricine din lokalki poate intercepta aceste date și acces dracu 'la resursele protejate. Pentru a evita astfel de incidente, se recomandă utilizarea suplimentară a SSL-criptare.

Digest-autentificare este o formă mai avansată și complexă de autentificare decât de bază-autentificare. Principala diferență este că numele utilizatorului și parola sunt trimise prin rețea este necriptat și criptat cu algoritmul MD5. Configurarea Digest-autentificare este similară cu setarea de bază-autentificare. Pașii de bază rămân aceleași:

1) Creați fișierul de parole.
2) Pentru a înregistra o resursă protejată de configurare Apache (în fișierul httpd.conf .htaccess sau fișier).
3) Creați un fișier pentru a lucra cu grupuri și acces de grup set (acest element este opțional).

1) Creați fișierul de parole.

Fișierul parolă este creat folosind standardul instrumente htdigest:

htdigest -c [calea către fișierul cu parole] [numele zonei secrete] [nume de utilizator]

Tasta -c este specificată atunci când creați un nou fișier, și un argument obligatoriu [numele zonei secrete] - acesta este numele zonei secrete, care va fi descris mai târziu în Directiva AuthName.

După comanda de pornire va trebui să introduceți o parolă și confirmați-o. Ca rezultat, vom obține fișierul /var/www/html/secretplace/.htpasswd conținut similar

Hash este considerat a fi MD5.

2) prevede o configurație resursă protejată Apache (fișier .htaccess).

AuthType Digest
AuthName privat
AuthUserFile /var/www/html/site/.htpasswd

Necesită administrator de utilizator

Accesul la site-ul de resurse va avea numai de utilizator de administrator.

3) Configurarea accesului de grup.

Creați un fișier .htgroups după cum urmează:

Accesul la site-ul de resurse poate primi numai membrii grupului adminii. și anume administrator și utilizatorii goga