Kotisivujen suojaaminen salasanalla

Johdanto

Kun webbisivuille laitettu dokumentti halutaan pitää ulkopuolisilta salassa, yksinkertaisin riittävä keino on hoitaa tietoturva WWW-palvelimen htaccess-menetelmällä. Jos turvaus yritetään hoitaa puutteellisin keinoin, kuten epämääräisillä hakemistoilla tai satunnaisilla tiedostonimillä, on enemmän kuin todennäköistä, että tiedosto ennen pitkää paljastuu ulkopuolisille. Tällaisten skriptien, tiedostojen tai hakemistojen riittävään suojaukseen yksinkertaisin ratkaisu on WWW-palvelimen htaccess-salasanasuojaus.

htaccess-salasanatiedoston luonti

Salasanatiedosto sisältää tunnukset ja salasanat, joilla on pääsy suojattuun kohteeseen. Tiedosto kannattaa pitää omassa kotihakemistossa, mutta ~/public_html:n ulkopuolella. Tämän esimerkin salasanatiedosto on nimeltään ~/.htpasswd.

Uusi salasanatiedosto luodaan komennolla htpasswd -c. Ohessa esimerkki uuden salasanatiedoston ~/.htpasswd luomiseksi:

% htpasswd -c ~/.htpasswd www-duder
New password: salasana_tähän
Re-type new password: sanasana_tähän
Adding password for user www-duder

Komento on nyt luonut uuden salasanatiedoston ~/.htpasswd, jossa on tieto käyttäjästä "www-duder". Samaan salasanatiedostoon saa luonnollisesti lisättyä useampia käyttäjiä. Uuden käyttäjän luonti onnistuu kuten yllä, mutta ilman parametria "-c":

% htpasswd ~/.htpasswd toinen
New password: salasana_tähän
Re-type new password: salasana_tähän
Adding password for user toinen

htaccess-tiedoston sisältö

Kun salasanatiedosto on tehty, tulee WWW-serverille kertoa sivustot, joiden kanssa salasanakyselyä halutaan käyttää. Tämä suoritetaan luomalla tiedosto .htaccess suojattavaan hakemistoon. Yksinkertainen .htaccess-tiedosto näyttää tältä:

% cat ~/public_html/salainenhakemisto/.htaccess
AuthType Basic
AuthName 'Yksityinen hakemisto'
AuthUserFile /home/testeri/.htpasswd
Require valid-user

Huomaa, että .htaccess-tiedostossa tilden täydennys ei toimi, joten nimi ~/.htpasswd tulee kirjoittaa muotoon /home/tunnuksesi/.htpasswd (tässä esimerkissä /home/testeri/.htpasswd).


Nyt sinulla on salasanasuojattu hakemisto, johon WWW-palvelin päästää vain määrittämäsi käyttäjät. Lisätietoa ja esimerkkejä monimutkaisemmista menetelmistä löytyy Apachen sivuilta [ http://httpd.apache.org/docs/howto/auth.html ].

Nodeta Oy
Kutomotie 9 C
00380 Helsinki
nodeta@nodeta.fi