# Een pad of site beveiligen met een wachtwoord (basic auth)

> Zet een gebruikersnaam en wachtwoord voor /admin, een ander pad of een hele site met HTTP basic authentication in Nginx, voor één of meer gebruikers.

De pagina **Beveiligingsregels** van een site vraagt om een gebruikersnaam en wachtwoord voordat iemand een deel van de site ziet, zoals `/admin`, of de hele site. Ze gebruikt HTTP basic authentication in Nginx: de browser toont een inlogvenster, en alleen wie een van de gebruikersnamen en wachtwoorden van de regel heeft komt erdoor. Je app hoeft er niets van te weten.

Gebruik het om een beheeromgeving, een tool zoals Horizon of phpMyAdmin onder een pad, of een stagingsite af te schermen voor het publiek en voor zoekmachines.

![De pagina Beveiligingsregels van een site met een regel voor /admin en de gebruikers ervan](https://ops.vimonto.com/docs-media/nl/site-security.webp?v=161e760d "Beveiligingsregels van een site")

## Een beveiligingsregel toevoegen

1. Open de site en klik in de zijbalk op **Beveiligingsregels**.
2. Klik op **Regel toevoegen**.
3. Vul in:
   - **Naam**: voor jezelf, zoals `Beheeromgeving`.
   - **Pad**: het pad dat je wilt beveiligen, zoals `/admin`. Laat het leeg om de hele site te beveiligen.
   - **Gebruikers**: een **Gebruikersnaam** en **Wachtwoord** voor elke persoon of elk team dat erin mag. Klik op **Gebruiker toevoegen** voor meer, tot 10 per regel. Gebruikersnamen bestaan uit letters, cijfers, `.`, `_`, `@` en `-`; wachtwoorden zijn minstens 8 tekens.
4. Klik op **Regel toevoegen**.

De regel toont een status terwijl hij naar de server geschreven wordt, en is actief zodra dat klaar is. Een site kan maximaal 20 regels hebben, één per pad.

## Wat beveiligt een pad?

Een regel beveiligt het pad en alles daaronder. Met het pad `/admin`:

| Request | Vraagt om inloggen? |
| --- | --- |
| `/admin` en `/admin/` | Ja |
| `/admin/users`, `/admin/x/y` | Ja |
| PHP-bestanden eronder, zoals `/admin/index.php` | Ja |
| `/adminx`, `/administrator` | Nee |

Een regel met een leeg pad beveiligt elke pagina van de site. Let's Encrypt kan de site nog steeds bereiken om certificaten uit te geven en te vernieuwen.

## Gebruikers en wachtwoorden wijzigen

Klik bij een regel op **Bewerken** om de naam, het pad of de gebruikers te wijzigen. Wachtwoorden worden nooit getoond: laat het **Wachtwoord** van een gebruiker leeg om het opgeslagen wachtwoord te houden, of typ een nieuw wachtwoord om het te vervangen. Een gebruiker die je toevoegt heeft een wachtwoord nodig. Verwijder een gebruiker met **Verwijderen** ernaast; een regel houdt altijd minstens één gebruiker.

Klik op **Verwijderen** bij de regel zelf, en bevestig, om hem te wissen: het pad, of de hele site, is dan weer voor iedereen open.

## Hoe worden wachtwoorden opgeslagen?

Vimonto Deploy bewaart alleen een bcrypt-hash van elk wachtwoord, nooit het wachtwoord zelf. Op de server krijgt elke regel een wachtwoordbestand in `/etc/nginx/vimonto-auth/`, en de regels komen in `security.conf` in de include-map van de [Nginx](https://ops.vimonto.com/docs/nl/sites/nginx)-configuratie van de site, `/etc/nginx/vimonto-conf/site-{id}/`. De configuratie wordt gecontroleerd met `nginx -t` voordat Nginx herlaadt; weigert Nginx haar, dan blijven de vorige regels actief en toont de regel dat hij mislukt is.

Net als bij [doorverwijzingen](https://ops.vimonto.com/docs/nl/sites/redirects) toont de pagina **Niet alle regels zijn actief** met **Opnieuw toepassen** als een wijziging de server niet bereikte, en **Deze regels gelden niet voor deze site** als de eigen Nginx-configuratie van de site de include-map niet meer laadt.

## Beveiligingsregels of wachtwoordbeveiliging?

De [sitefunctie](https://ops.vimonto.com/docs/nl/sites/site-features#wachtwoordbeveiliging) **Wachtwoordbeveiliging** zet ook één gebruikersnaam en wachtwoord voor de hele site. Een beveiligingsregel kan hetzelfde, met meerdere gebruikers, en kan ook alleen een pad beveiligen.

Een regel voor de hele site en de functie **Wachtwoordbeveiliging** kunnen niet samen: zet de functie uit voordat je een regel zonder pad toevoegt, of verwijder die regel voordat je de functie aanzet. Regels voor een pad kun je wel combineren met de functie.

Sites op een load balancer hebben geen pagina **Beveiligingsregels**; gebruik daar **Wachtwoordbeveiliging**, die alle app-servers achter de balancer in één keer beveiligt.

## Wie kan beveiligingsregels wijzigen?

Elk lid kan de regels en hun gebruikersnamen zien. Regels toevoegen, wijzigen en verwijderen vereist het recht om sites te beheren (eigenaar, beheerder, manager en developer), en de site en haar server moeten actief zijn. Wijzigingen worden vastgelegd in het [auditlog](https://ops.vimonto.com/docs/nl/organization/audit-log), zonder de wachtwoorden.

## Veelgestelde vragen

### Is basic authentication veilig?

Het wachtwoord gaat met elk request mee, dus gebruik het alleen op een site met [HTTPS](https://ops.vimonto.com/docs/nl/sites/domains-and-ssl). Via HTTPS is het een eenvoudige en degelijke manier om mensen en zoekmachines buiten een deel van een site te houden.

### Kan ik een pad ook in mijn app beveiligen?

Ja, met de eigen login van je app. Een beveiligingsregel is handig voor dingen die zelf geen login hebben, of als extra laag ervoor.

### Houdt een gekloonde site haar beveiligingsregels?

Ja. Als je [een site kloont](https://ops.vimonto.com/docs/nl/sites/site-settings#een-site-klonen), gaan haar doorverwijzingen en beveiligingsregels mee, met dezelfde gebruikers en wachtwoorden.
