Apache este unul dintre cele mai utilizate și populare servere web din lume, deci este important să vă păstrați site-urile private de utilizatorii neautorizați. Autentificarea Apache poate fi configurată astfel încât vizitatorii site-ului web să se conecteze cu un ID de utilizator și o parolă. Există mai multe moduri în care puteți proteja prin parolă directoarele de pe un server web Apache.
Acest articol descrie o modalitate ușoară de a proteja prin parolă un director web în Apache folosind un .htaccess
fişier.
Notă: acest tutorial se face pe un server Ubuntu cu Apache instalat.
Instalarea pachetului de utilități Apache
Mai întâi, trebuie să instalați fișierul apache2-utils
pachet care oferă un utilitar numit htpasswd
pentru a crea un fișier de parolă.
Puteți să-l instalați executând următoarea comandă:
sudo apt-get install apache2-utils
Configurați Apache pentru a permite autentificarea .htaccess
În mod implicit, Apache nu permite utilizarea unui fișier .htaccess în Ubuntu 14.04. Va trebui să configurați fișierul de configurare Apache pentru a permite autentificarea bazată pe .htacces.
Puteți face acest lucru editând fișierul de configurare Apache:
sudo nano /etc/apache2/apache2.conf
Găsiți secțiunea care începe cu Directory "/var/www/html"
și schimbați linia din AllowOverride none
la AllowOverride AuthConfig
Options Indexes FollowSymLinks AllowOverride AuthConfig Require all granted
Salvați și închideți fișierul.
Creați fișierul cu parolă
Puteți utiliza htpasswd
utilitar linie de comandă pentru a crea un fișier de parolă pe care Apache îl poate utiliza pentru autentificarea utilizatorilor. Acum, creați un fișier .htpasswd ascuns în directorul de configurare „/ etc / apache2”.
sudo htpasswd -c /etc/apache2/.htpasswd authuser1
Aceasta vă va cere să furnizați și să confirmați o parolă pentru authuser1.
Dacă doriți să adăugați un alt utilizator, nu lăsați fișierul -c
argument cu htpasswd
comanda.
Acum, pentru a crea o altă autentificare pentru un al doilea utilizator, authuser2:
sudo htpasswd /etc/apache2/.htpasswd authuser2
Puteți vedea numele de utilizator și parola criptată pentru fiecare înregistrare executând:
sudo cat /etc/apache2/.htpasswd
Trebuie să acordați permisiunea utilizatorului „www-data” pentru a putea citi fișierul .htpasswd.
sudo chown www-data:www-data /etc/httpd/.htpasswd sudo chmod 0660 /etc/httpd/.htpasswd
Configurați autentificarea parolei Apache
Trebuie să creați un fișier „.htaccess” în directorul web pe care doriți să îl restricționați. În acest exemplu, voi crea un fișier „.htaccess” în directorul „/ var / www / html /” pentru a restricționa întreaga rădăcină a documentului.
sudo nano /var/www/html/.htaccess
Adăugați următorul conținut:
AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user
Iată ce înseamnă codul de mai sus:
- AuthType: Această opțiune definește tipul de autentificare.
- AuthName: Acesta este conținutul care se afișează pe pagina web când vi se solicită numele de utilizator și parola.
- AuthUserFile: Această opțiune specifică locația acreditării utilizatorului.
- necesită un utilizator valid: Aceasta indică faptul că numai solicitările autentificate cu succes pot încărca pagina.
Salvați și închideți fișierul și reporniți Apache pentru ca aceste modificări să intre în vigoare.
sudo /etc/init.d/apache2 restart
Testarea autentificării parolei
Acum, pe o mașină la distanță, accesați site-ul dvs. web într-un browser web. Vi se va solicita un nume de utilizator și o parolă pentru a accesa pagina web.
Dacă introduceți acreditările de utilizator corecte, vi se va permite accesul la conținut. Dacă introduceți datele de conectare greșite sau apăsați „Anulare”, veți vedea Neautorizat pagina de eroare.
Concluzie
Acum ar trebui să aveți suficiente cunoștințe pentru a configura autentificarea de bază pentru serverul dvs. web Apache. Amintiți-vă, de asemenea, că protecția prin parolă ar trebui să fie combinată cu criptarea SSL, astfel încât acreditările dvs. să nu fie trimise la server în text simplu.