World-Wide Web-kotisivu
HUOM! Tämä sivu koskee vain TKTL:n käyttäjien kotisivuja, jotka sijaitsevat fyysisesti TKTL:n tiedostopalvelimella fs.cs.helsinki.fi ja joiden WWW-palvelimena toimii www.cs.Helsinki.FI. ATK-osastolla on omat ohjeensa osoitteessa http://www.helsinki.fi/ohjeet/kotisivu.html.
Kotisivun koti
Käyttäjän kotisivu ja muut ulkomaailmaan näkyvät WWW-sivut sijaitsevat käyttäjän omassa kotihakemistossa alihakemistossa:
~/public_html/
Varsinainen kotisivu sijaitsee ~/public_html/ hakemistossa tiedostossa:
~/public_html/index.html
ja se näkyy ulkomaailmalle kahden eri URL:in kautta:
http://www.cs.Helsinki.FI/~käyttäjätunnus/ ja
http://www.cs.Helsinki.FI/u/käyttäjätunnus/
Molemmat URL:it toimivat täsmälleen samalle tavalla. Oman URL:in
valinta on pitkälti makuasia, mutta seuraavat asiat kannattaa
ottaa huomioon:
/~käyttäjätunnusmuotoa olevat URL:it ovat maailmalla yleisempiä ja yleisesti tunnettu tapa viitata käyttäjien kotisivuihin.- Tilde-merkin (eli
~, alias mato) käyttö URL:eissa on kuitenkin ongelmallista. Tarkempi analyysi löytyy Jukka Korpelan sivulta Why tilde (~) should not be used in Web addresses (URLs) . - Tilde-merkki on usein vaikean näppäinyhdistelmän takana.
http://www.cs.helsinki.fi/people/Etu.Sukunimi
(vastaa sähköpostiosoitetta Etunimi.Sukunimi@cs.helsinki.fi)
osoitteeseen
http://www.cs.helsinki.fi/u/käyttäjätunnus, mikä
auttaa oikean sivun löytämisssä vaikka käyttäjätunnus ei ole
tiedossa.
Sivulle Users' home pages-sivulle päivittyy automaattisesti kerran vuorokaudessa (yöllä) linkki kotisivullesi.
Jos haluat, että Atk-osasto lisää omaan kotisivuluetteloonsa linkin kotisivullesi, on sinun ilmoitettava siitä erikseen Atk-osastolle täyttämällä tämä lomake.
Oman kotisivun laatiminen
Voit aloittaa näin
Alkuun pääset helpoimmin suorittamalla jossakin Atk-osaston Unix-koneessa komennon
luokotisivu
Se luo kotihakemistoosi hakemiston public_html ja
sinne tiedoston index.html, sekä asettaa
tarvittavat käyttöoikeudet. Tämän jälkeen vain täydennät
kotisivullesi haluamasi tiedot. Ks. lisätietoja
Atk-osaston
ohjeista.
Voit myös tehdä näin
Luo ensin kotihakemistoosi hakemisto public_html.
mkdir ~/public_html
Etsi sitten jonkun käyttäjän valmis, sinulle sopivannäköinen
kotisivu. Talleta löytämäsi sivu omaan public_html-hakemistoosi
nimellä index.html. Netscapessa se onnistuu
valinnalla File / Save As...). Muista asettaa
talletusmuodoksi Source.
Anna vielä kotisivusi hakupolulle maailman tarvitsemat oikeudet, niin kotisivu on kaiken Internet-kansan luettavissa. Komenna kotihakemistossasi seuraavasti
chmod a+x ~
chmod a+x public_html
chmod a+r public_html/*
Editoi kopioimasi dokumentti sitten mieleiseksesi.
Laitoksen WWW-palvelin
Laitoksen WWW-palvelimen palvelinohjelmistona on Apache-1.3.6. Palvelimen ominaisuuksiin kuuluu- SSL-salakirjoitus
- SSI-tuki (Server Side Includes, palvelimella tapahtuva HTML-tiedostojen jäsentäminen)
- Käyttäjät voivat itse säädellä palvelimen toimintaa omilla
sivuillaan
.htaccess-tiedostojen avulla - Käyttäjien omien CGI-skriptien ajo on palvelimella estetty turvallisuussyistä
db.cs.helsinki.fi on
tehty. Päätös toteutetaan käytännössä vielä tämän kevään aikana.
Sivujen lukijoiden rajoittaminen
Oletusarvoisesti kaikkipublic_html hakemistosta
löytyvät WWW-palvelimen luettavissa olevat sivut ovat myös koko Internetin
luettavissa. Joskus on kuitenkin tarpeellista rajoittaa sivujen
lukijakuntaa. Tähän on tarjolla kaksi vaihtoehtoa: käyttäjien
rajoittaminen asiakaskoneen nimen perusteella ja käyttäjien
autentikointi. Molemmat vaihtoehdot otetaan käyttöön editoimalla
hakemistokohtaista .htaccess konfiguraatiotiedostoa.
Sivujen lukijoita rajoitettaessa on tärkeää muistaa, että kaikki
käyttäjät, jotka voivat lukea tiedostoja laitoksen levypalvelimelta
(eli jokainen joka omistaa laitoksen käyttäjätunnuksen ja
guest-käyttäjät), voivat lukea sivut suoraan
public_html-hakemistosta. Näin ollen ensin pitää
varmistaa että sivujen talletushakemisto on vain sivujen omistajan
ja WWW-palvelimen luettavissa. Laitoksen Linuxeissa tämä tapahtuu
wwwonly komennolla:
jjaakkol@melkki:~/public_html$ mkdir private
jjaakkol@melkki:~/public_html$ wwwonly private
jjaakkol@melkki:~/public_html$ ls -ld private
drwx--x--- 2 jjaakkol www 1024 Mar 30 16:22 private/
Eli wwwonly komento vaihtaa hakemiston
omistajaryhmäksi WWW-palvelimen ryhmän ja antaa hakemistoon
lukuoikeuden ainoastaan hakemiston omistajalle ja WWW-palvelimelle.
Lukijoiden rajoittaminen asiakaskoneen nimen perusteella
Usein asiakaskoneen nimen perusteella tapahtuva käyttäjien rajoittaminen on riittävän hyvä ratkaisu palvelun suojaamiseen ulkopuolisilta. Erityisesti tämä ratkaisu toimii mikäli tavoitteena on sallia sivujen lukeminen ainoastaan laitoksen koneista, yliopiston koneista tai jostain tietyistä henkilökunnan koneista. Tämä tapahtuu editoimalla rajoituksien kohteena olevassa hakemistossa.htaccess-tiedostoa. Rajoittaminen
tapahtuu komennoilla Order, Allow ja
Deny:
Allow-komennolla sallitaan sivun lukeminen annetuilta koneiltaDeny-komennolla kielletään sivun lukeminen annetuilta koneiltaOrder-komennolla määritellään sovelletaanko ensinAllow-komentoja (oletusarvoisesti sivulle pääsy on kielletty) vaikoDeny-komentoja (oletusarvoisesti sivulle pääsy on sallitty)
.htaccess tiedostoa:
Order allow,deny # Sovelletaan ensin allow sääntöjä
Allow from all # Sallitaan sivujen luku kaikkialta
Seuraavalla .htaccess-tiedostolla annetaan vain
TKTL:n koneille (koneet, joiden domain-nimi päättyy osoitteeseen
cs.Helsinki.FI) lukuoikeus
.htaccess-tiedoston sisältävään hakemistoon:
Order deny,allow # Sovelletaan ensin deny sääntöjä
deny from all # Ei sallita kenenkään lukea sivuja,
allow from .cs.Helsinki.FI # paitsi TKTL:n verkon sisäpuolelta
Tällä .htaccess-tiedostolla annetaan lukuoikeus vain
kolmelle työhuoneissa sijaitsevalle tunnettujen käyttäjien
hallussa oleville koneille:
Order deny,allow # Sovelletaan ensin deny sääntöjä
deny from all # Ei sallita kenenkään lukea sivuja
# Paitsi seuraavien kolmen koneen
allow from hernekari.cs.helsinki.fi rankki.cs.helsinki.fi
allow from juksu.cs.helsinki.fi
Lukijoiden rajoittaminen käyttäjätunnistuksella
Voit rajoittaa sivujesi lukijoita myös käyttäjien tunnistamisella, joko salasanalistoilla tai SSL-protokollan avulla. Luotettavin ja varmin tapa lukijoiden tunnistamiseen on SSL:n kryptografiset autentikointimenetelmät, jotka toimivat myös laitoksen WWW-palvelimella, mutta ovat käytännössä joko turhan monimutkaisia tai turhaan kalliita. SSL:n toiminnasta ja SSL-autentikoinnista löytyy lisää tietoa Apachen SSL-laajennuksen käyttöoppaasta. Salasanalla tapahtuva käyttäjien rajoittaminen tapahtuu lisäämällä.htaccess-tiedostoon seuraavat rivit:
# Seuraava rivi käskee WWW-palvelinta autentikoimaan käyttäjät
AuthType Basic
# Seuraavan tekstin WWW-selain näyttää kysyessään käyttäjätunnusta
# ja salasanaa
AuthName "Salainen Kansio"
# Käyttäjä/salasanalista haetaan seuraavasta tiedostosta:
AuthUserFile /home/fs/jjaakkol/wwwpasswd/users
# Mikä tahansa käyttäjätiedostostosta löytyvä käyttäjä kelpaa:
require valid-user
# Voitaisiin vaatia myös jokin tietty käyttäjä:
require user guest
HUOM! Käyttäjien salasanatiedosto täytyy säilyttää paikassa
josta WWW-palvelin pystyy sen lukemaan, mutta joka ei näy
WWW-palvelimesta ulkopuolisille. Hyvä tapa toteuttaa tämä on
käyttää wwwonly komentoa jossain muualla kuin
public_html-hakemistossa.
jjaakkol@melkki:~$ mkdir wwwpasswd
jjaakkol@melkki:~$ wwwonly wwwpasswd
jjaakkol@melkki:~$ ls -ld wwwpasswd
drwx--x--- 2 jjaakkol www 1024 Mar 30 18:06 wwwpasswd/
Käyttäjätiedostossa on joka rivillä yksi käyttäjätunnus ja
käyttäjän kryptattu salasana kaksoispisteellä eroteltuna. Koska
salasana on kryptattu, ei käyttäjätiedoston tiukasti ottaen
tarvitsisi olla salainen, mutta nykyisillä tietokoneilla
salakirjoitettujen salasanojen murtaminen raalla voimalla on
valitettavasti mahdollista eikä edes kovin vaikeaa. Tässä on
esimerkki käyttäjätiedostosta
/home/fs/jjaakkol/wwwpasswd/users,
jossa guest-käyttäjällä on salasana "demo":
guest:zh9d/xXd3KsRQ
Käyttäjätiedostoja voidaan ylläpitää hakemistosta
/opt/apache-1.3.6/bin löytyvillä ohjelmilla
(manuaalisivut löytyvät vastaavasti hakemistosta
/opt/apache-1.3.6/man/man1). Esimerkiksi
käyttäjätunnuksen test-lisääminen salanalla testi tapahtuu
näin:
jjaakkol@melkki:~$ /opt/apache-1.3.6/bin/htpasswd wwwpasswd/users test
New password:
Re-type new password:
Adding password for user test
jjaakkol@melkki:~$ cat wwwpasswd/users
guest:zh9d/xXd3KsRQ
test:yHgqLjBHzexmg
jjaakkol@melkki:~$
Salaus
Oletusarvoisesti WWW-palvelimen ja selaimen välinen keskustelu on täysin selväkielistä. Näin ollen jokin palvelimen ja asiakkaan väliltä löytyvä kolmas osapuoli voi kuunnella kaikki käytetyt salasanat ja sivujen sisällön. Tämä voidaan estää käyttämällä palvelimen ja selaimen välillä verkkoliikenteen salaavaa SSL-protokollaa. SSL-kykyisellä selaimella (esim. Netscape ja MSIE) voi liikenteen laitoksen palvelimen ja selaimen välillä salata yksinkertaisesti käyttämällä muotoa
https://www.cs.helsinki.fi/
olevia URL:eja (eli protokollan http sijasta käytetään
https-protokollaa).
Miten sallia ainoastaan salatut yhteydet
Mikäli sivut sisältävät arkaluonteista tietoa, kannattaa estää sivujen lukeminen selväkielisellä protokollalla. Tämä tapahtuu lisäämällä sivut sisältävän hakemiston.htaccess-tiedostoon rivi
# Vaadi, että sivut luetaan SSL-salausta käyttäen
SSLRequireSSL
Osoitteesta
https://www.cs.helsinki.fi/u/jjaakkol/private/ löytyy sivu,
jonka voi lukea vain SSL-salausta käyttäen ja jossa käyttäjiltä
vaaditaan aiemmin esitetyllä tavalla guest-käyttäjätunnus
demo-salasanalla.
Ohjeita ja oppaita
Lisää tietoa HTML:stä kannattaa voi lähteä lukemaan seuraavilta sivuilta:- Jukka Packalénin sivulta Johdatus HTML-kieleen
- Jukka Packalénin Netscape Gold -editorin käyttö sivulta
- Atk-osaston WWW-ohjeet sivuilta
- Jukka Korpelan HTML-primer oppaasta
- W3C:n HTML:n viralliselta kotisivulta
- tutkimalla valmiita WWW-sivuja (Netscapessa valinta View / Page Source)
- ja tuhannelta muulta tasoltaan vaihtelevalta HÖTÖMÖLÖä käsittelevältä sivulta.
.htaccess-tiedoston käytöstä) löytyvät seuraavista paikoista:
- laitoksella käytettävän
WWW-palvelinohjelmiston, Apachen, käyttöoppaasta
(erityisesti
.htaccesstiedoston syntaksi) ja - Apachen
SSL-salakirjoituksen toteuttavan kirjaston, mod_ssl, käyttöoppaasta
(erityisesti
.htaccesstiedoston syntaksi SSL-salakirjoituksen osalta)


