Htaccess en htpasswd

Htaccess en htpasswd

Afscherming op basis van ip-adres of gebruiker is slechts een lichte vorm van beveiliging o.a. omdat de controle via htpasswd in casu niet via encryptie verloopt . Hoogst gevoelige informatie dient bovendien volledig geëncrypteerd te worden afgebakend (enkel bereikbaar via https://).

Het afschermen van directories op basis van ip-adres

Let op: de bestanden dienen aangemaakt te worden via de ISO 8859 of Ascii encoding. Als u Kladblok gebruikt is dit standaard zo (naam .htaccess en opslaan als type 'Alle bestanden').

Voor de afscherming op basis van ip-adres plaatst u het .htaccess bestand in de directory welke u wenst af te schermen.

.htaccess (toelaten van een ip-adres)

require ip 157.193.49.81 

.htaccess (toelaten van meedere ip-adressen)

require ip 157.193.1.1
require ip 157.193.1.2
require ip 157.193.1.3

.htaccess (toelaten van een volledige ip-range --- vb vpn-range)

require ip 157.193.1
require ip 157.193.7
require ip 157.193.28
require ip 157.193.29
require ip 157.193.32

Het afschermen van directories op basis van gebruikers

Onderstaand .htaccess bestand plaatst u in de te beveiligen directory.

AuthUserFile /www/dienst/gebruikersnaam/.htpasswd 
AuthName "Titel_van_het_aanlogscherm" 
AuthType Basic
Require valid-user

Studenten vervangen /www/dienst/gebruikersnaam/.htpasswd door /users/beginletter_gebruikersnaam/gebruikersnaam/.htpasswd
Een .htpasswd bestand wordt aangemaakt met het commando 'htpasswd'.
vb.

# htpasswd -c $WWWHOME/.htpasswd gebruikersnaam
OF
# htpasswd -c /users/beginletter_gebruikersnaam/gebruikersnaam/WWW/.htpasswd gebruikersnaam

Het .htpasswd bestand bestaat uit een gebruikersnaam en een geëncrypteerd wachtwoord. U kunt meerdere gebruikers (= meerdere lijnen) toevoegen. Alle volgende gebruikers worden toegevoegd zonder de '-c' optie.
vb.

# htpasswd $WWWHOME/.htpasswd andere_gebruikersnaam

Vb van een .htpasswd bestand

naam_voor_login:T5PkcBiivzBuE 
naam_voor_login:h4tMZLf8bva1I
naam_voor_login:z/z5qVcqPNbI. 

Het is aan te raden om het htpasswd bestand niet in de WWW directory te plaatsen, maar in de parent directory van die WWW directory (indien wel in de WWW-tree is een vorm van extra afscherming nodig).

Indien het htpasswd bestand in de WWW (of sub-) directory staat, moet u in het .htaccess bestand het volgende toevoegen :

<FilesMatch "^.ht">
require all denied
</FilesMatch>

Dit beschermt .htaccess en .htpasswd (en eender ander bestand dat begint met ".ht") binnen dezelfde directory.

Let op, enkel het htpasswd bestand wordt geëncrypteerd, het versturen van gebruikersnaam en wachtwoord niet! Gebruik dus geen bestaande UGent gebruikersnaam en wachtwoord combinaties!

Om toegang te krijgen tot die WWW directory opent u een SSH (putty) sessie.

Studenten bevinden zich reeds in de parent directory; voor hen zijn onderstaande instructies niet nodig.

Personeelsleden komen met het commando

cd $WWWHOME 

in de WWW parent directory terecht.

Als u de directory wil benaderen met winscp, filezilla of andere explorer-achtige tools voert u best eerst in een interactieve sessie het volgende commando uit:

ln -s $WWWHOME wwwhome

Dit moet u slechts 1 keer uitvoeren; het laat u toe de directory te benaderen als de folder "wwwhome".

De parent directory van de WWW in ons voorbeeld is /www/dienst/gebruikersnaam

Voor shares is het parent directory pad /www/_shares/sharename
Het AuthUserFile pad in het .htaccess bestand is dan /www/_shares/sharename/.htpasswd