Dit artikel maakt deel uit van de Apache Server Guide-serie:

  • Apache beveiligen op Ubuntu - Deel 1
  • Apache beveiligen op Ubuntu - Deel 2
  • Apache-prestaties optimaliseren - deel 1
  • Apache-prestaties optimaliseren - deel 2
  • Op naam gebaseerde Virtualhost Apache instellen
  • IP en op poorten gebaseerde Virtualhost instellen in Apache
  • Hoe de wachtwoordbeveiliging van de webdirectory in Apache in te stellen
  • Apache-server instellen met SSL-ondersteuning op Ubuntu
  • Fail2ban instellen om Apache te beschermen tegen een DDOS-aanval
  • Hoe Webdav instellen met Apache op Ubuntu
  • Controleer Apache Web Server met Mod_status
  • Hoe te beschermen tegen DDoS met Mod_evasive op Apache Server

Apache is een van de meest gebruikte en populaire webservers ter wereld, dus het is belangrijk om uw websites privé te houden voor ongeautoriseerde gebruikers. Apache-authenticatie kan zo worden geconfigureerd dat bezoekers van de website moeten inloggen met een gebruikers-ID en wachtwoord. Er zijn veel manieren waarop u een wachtwoord kunt beveiligen om mappen te beschermen onder een Apache-webserver.

In dit artikel wordt een eenvoudige manier beschreven om een ​​webdirectory in Apache met een wachtwoord te beveiligen met een .htaccess bestand.

Opmerking : deze tutorial wordt gedaan op een Ubuntu-server waarop Apache is geïnstalleerd.

Het pakket met Apache-hulpprogramma's installeren

Eerst moet u het pakket apache2-utils installeren dat een hulpprogramma met de naam htpasswd biedt om een ​​wachtwoordbestand te maken.

U kunt het installeren door de volgende opdracht uit te voeren:

 sudo apt-get install apache2-utils 

Configureer Apache om .htaccess-verificatie toe te staan

Standaard staat Apache het gebruik van een .htaccess-bestand in Ubuntu 14.04 niet toe. U moet het Apache-configuratiebestand instellen om .htacces-gebaseerde authenticatie mogelijk te maken.

U kunt dit doen door het Apache-configuratiebestand te bewerken:

 sudo nano /etc/apache2/apache2.conf 

Zoek de sectie die begint met de Directory "/var/www/html" en verander de regel van AllowOverride none naar AllowOverride AuthConfig

 Opties Indexen FollowSymLinks AllowOverride AuthConfig Vereist alle verleend 

Sla het bestand op en sluit het.

Maak het wachtwoordbestand aan

U kunt het opdrachtregelhulpprogramma htpasswd gebruiken om een ​​wachtwoordbestand te maken dat Apache kan gebruiken om gebruikers te verifiëren. Maak nu een verborgen .htpasswd-bestand in de configuratiemap "/ etc / apache2".

 sudo htpasswd -c /etc/apache2/.htpasswd authuser1 

Dit zal u vragen om een ​​wachtwoord voor authuser1 in te vullen en te bevestigen.

Als u een andere gebruiker wilt toevoegen, laat dan het argument -c met de opdracht htpasswd .

Nu, authuser2 om een ​​nieuwe authenticatie voor een tweede gebruiker te maken:

 sudo htpasswd /etc/apache2/.htpasswd authuser2 

U kunt de gebruikersnaam en het gecodeerde wachtwoord voor elk record bekijken door het volgende uit te voeren:

 sudo cat /etc/apache2/.htpasswd 

U moet toestemming verlenen aan de gebruiker "www-data" om het .htpasswd-bestand te kunnen lezen.

 sudo chown www-data: www-data /etc/httpd/.htpasswd sudo chmod 0660 /etc/httpd/.htpasswd 

Configureer Apache-wachtwoordverificatie

U moet een ".htaccess" -bestand maken in de webdirectory die u wilt beperken. In dit voorbeeld maak ik een ".htaccess" -bestand in de map "/ var / www / html /" om de hele documentroot te beperken.

 sudo nano /var/www/html/.htaccess 

Voeg de volgende inhoud toe:

 AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Vereist geldige gebruiker 

Dit is wat de bovenstaande code betekent:

  • AuthType : deze optie definieert het type authenticatie.
  • AuthName : dit is inhoud die op de webpagina wordt weergegeven wanneer om de gebruikersnaam en het wachtwoord wordt gevraagd.
  • AuthUserFile : deze optie specificeert de locatie van gebruikersreferenties.
  • Vereist geldige gebruiker : dit geeft aan dat alleen succesvolle geverifieerde verzoeken de pagina kunnen laden.

Sla het bestand op en sluit het en start Apache opnieuw om deze wijzigingen door te voeren.

 sudo /etc/init.d/apache2 opnieuw opstarten 

Testen van wachtwoordverificatie

Nu op een externe machine, toegang tot uw website in een webbrowser. U wordt gevraagd om een ​​gebruikersnaam en wachtwoord voor toegang tot de webpagina.

Als u de juiste gebruikersreferenties opgeeft, krijgt u toegang tot de inhoud. Als u de verkeerde gebruikersreferenties invoert of op "Annuleren" klikt, ziet u de pagina Onbevoegde fout.

Conclusie

U zou nu voldoende kennis moeten hebben om basisverificatie voor uw Apache-webserver in te stellen. Onthoud ook dat wachtwoordbeveiliging moet worden gecombineerd met SSL-codering, zodat uw inloggegevens niet in platte tekst naar de server worden verzonden.