Autentisering og sikkerhet
Den enkleste (og ofte sikreste) måten å finne en brukers identitet er å bruke HTTP-protokollens støtte for brukerautentisering.
OBS: Autentisering alene ikke gir et sikkert system. Webtrafikk sendes vanligvis ukryptert, og det er i så fall trivielt for en angriper å plukke opp og lese dataene som blir sendt. Hvis autentiseringen foregår med HTTPs basic-metode sendes dessuten også brukernavn og passord i klartekst. Sensitive data må sendes kryptert ved hjelp av SSL. (Oppsett og bruk av SSL dekkes ikke her.)
Bruk av .htaccess
Hvis du ikke har administrasjonrettigheter på webserveren (dvs. ikke er root) er det enklest å sette opp autentisering vha. fila .htaccess i katalogen som skal tilgangsbeskyttes (.htaccess kan også brukes til mye annet nyttig, se f.eks. Apache-dokumentasjonen [1] eller Comprehensive guide to .htaccess [2] .
Her er en enkel oppskrift på tilgangsbeskyttelse av en katalog (med underkataloger). Dette innebærer at du må lage to filer: en fil (.htaccess) i den katalogen du vil passordbeskytte, og en fil (.htpasswd) utenfor html/htdocs-katalogen der du vil plassere passordet. Eksempelet er slik det tar seg ut for brukeren borres:
-
Lag fila .htaccess med teksteditoren du foretrekker
(pass på unix-format), tilsvarende dette:
AuthUserFile /home/borres/autent/.htpasswd AuthName "Mine hemmelige filer" AuthType Basic require user bever
Plasser fila i den katalogen du vil beskytte. Pass på at navnet på fila begynner med punktum (.htaccess). - Koble deg til webserveren vha. f.eks PuTTY
[3]
, og opprett en ny .htpasswd-fil med følgende kommando:
htpasswd -c /home/borres/autent/.htpasswd bever
Utelat -c dersom fila allerede finnes. Skriv inn passordet når du blir bedt om det (to ganger).
Det er veldig viktig at .htpasswd-fila plasseres et sted der den ikke kan nås fra web. Plasser den gjerne i hjemmekatalogen, men aldri i htdocs/html med underkataloger. Fila vil nemlig inneholde bruker- og passordinformasjon, og sikkerheten svekkes betydelig dersom den kan leses direkte via web. - Hvis du nå prøver å gå til katalogen vil du bli bedt om å skrive inn brukernavn og passord.
Sikkerhet
Som nevnt over gir ikke HTTP-autentisering noen stor grad av sikkerhet på egenhånd. Sikker, avlyttingsfri kommunikasjon forutsetter at den skjer kryptert vha. SSL/HTTPS [4] .