3. tammikuuta 2005
Huomautus: tämä on käännös alkuperäisestä englanninkielisestä ohjeesta, ja saattaa paikoin olla hieman epämääräinen. Tämä suomenkielinen versio ei myöskään välttämättä ole täysin ajan tasalla. Katso tällöin englanninkielistä ohjetta tai kysy yllekirjoittaneelta.
Varsinainen englanninkielinen Hupnet-sivu
Hupnet on tarkoitettu langattomille verkoille (WLAN) mutta sitä voidaan käyttää myös parikaapeliverkossa. Mitä tahansa www-käyttäjätunnistusta voidaan käyttää, erityisesti Shibbolethia, mutta myös muita, kuten PubCookieta, LDAPpia sekä RADIUSta. Yksinkertaisinta on käyttää Apachen "htpasswd"-salasanoja, joka on hyödyllista Hupnet-ohjelmiston testaamiseen ennen kuin on ottanut käyttöön jonkun oikean käyttäjätunnistustuksen.
Hupnet-reitittimen loppukäyttäjien tietokoneilla ei vaadita mitään erityisohjelmistoja.
Tässä ohjeessa oletetaan, että lukija osaa verkkoteknologiaa jonkin verran. Ainakin seuraavat käsitteet pitää olla tuttuja: reittimet/palomuurit, yksityiset osoitteet/julkiset osoitteet internetissä, NAT, WWW, DHCP, DNS sekä SSL. Lisäksi tässä ohjeessa ei opasteta Debian-käyttöjärjestelmän ylläpitoa eikä asennusta. Debianin lisäksi muitakin Linux-käyttöjärjestelmiä voi käyttää, mutta asennusohjeet, tiedostot sekä esimerkit ovat Debianille.
Kun käytetään Shibbolethia (tai muuta kirjautumistapaa jossa asiakkaan pitää saada yhteys internetiin) pitää sallia pääsy Shibbolethin WAYF-palvelimelle ja origin-palvelimille (sekä mahdollisille erillisille kirjautumispalvelimille, jota originit käyttävät) myös kirjautumatta.
Kirjautumisskriptin "login ok"-sivulla on javascriptillä tehty laskuri, joka antaa varoitukset ponnahdusikkunassa kun 5 ja 1 minuuttia yhteysaikaa on jäljellä. Se myös tarkistaa, onko käyttäjällä ponnahdusikkunaestintä käytössä.
iface eth1 inet static address 10.0.0.1 netmask 255.0.0.0
Ja nosta verkkoliittymä pystyyn (ifup eth1). (Ulkoverkon pitäisi olla kunnossa Debian-asennuksen jäljiltä.)
Laita dhcp-palvelin kuuntelemaan vain sisäverkkoa. Editoi tiedostoon /etc/default/dhcp rivi:
INTERFACES="eth1"
ja laita konfiguraatiotiedostoon /etc/dhcpf.conf oikeanlaiset asetukset: asiakkaille annettavat ip-osoitteet (mikä tahansa alue 10.0.0.2:sta lähtien), nimipalvelin ja reititin (molemmat 10.0.0.1) ja käynnistä palvelin uudestaan (/etc/init.d/dhcp restart). Esimerkkikonfiguraatiotiedosto on mukana (example-dhcpd.conf).
Konfiguroi bind välimuisti-nimipalvelimeksi (caching name server) ja kuuntelemaan vain sisäverkkoa (konfiguraatiotiedoston direktiivi listen-on). Lisäksi tarvitaan myös "authoritative" kohta reitittimesi dns-nimelle (paitsi jos käytät vain ip-osoitetta, joka ei ole suositeltavaa!) ja käynnistä nimipalvelin uudestaan (/etc/init.d/bind restart). Esimerkkikonfiguraatiotiedostot ovat mukana (hakemisto example-bind).
Tässä vaiheessa sinun pitäisi voida kytkeä tietokone palvelimeen sisäverkon kautta ja saada ip-osoite, pystyä tekemään dns-kyselyitä sekä saada www-palvelimelta Debianin oletuskotisivu "Welcome to Your New Home in Cyberspace".
Asenna hupnet-ohjelmisto purkamalla tiedosto hupnet-files.tar juurihakemistoon (/) (huom: tämä ylikirjoittaa Debianin oletuskotisivun). Siinä on seuraavat tiedostot:
etc/init.d/firewall-hupnet
etc/init.d/hupnet
etc/default/firewall-hupnet
usr/local/hupnet/masq-queue-handler
usr/lib/cgi-bin/login.cgi
usr/lib/cgi-bin/logout.cgi
var/www/index.html
var/www/example-htpasswd
var/www/hupnet-stylesheet.css
Vähintään sinun pitää muuttaa esimerkkisähköpostiosoitteet tiedostoista var/www/index.html, usr/lib/cgi-bin/login.cgi and usr/lib/cgi-bin/logout.cgi ja kirjautumissivun osoite palvelimellesi tiedostosta var/www/index.html. Jos käytät muita ip-osoitteita (verkko 10.0.0.0/8, palvelin 10.0.0.1) tai verkkoliittymiä (ulkoverkko: eth0, sisäverkko: eth1), firewall-hupnet -tiedostoa pitää muuttaa niiden mukaan.
Muuta tiedostoon /etc/init.d/klogd rivi
KLOGD="-c 1"
ja käynnistä klogd uudestaan (/etc/init.d/klogd restart), muutoin konsolille tulvii liikenneloki. Voit myös harkita syslog.confin muuttamista siten, että kern.info ei mene niin moneen paikkaan säästääksesi levytilaa sekä pitääkseni systeemit lokit siistimpinä.
Lisää rc.d -linkit hupnet sekä firewall-hupnet komennoilla:
update-rc.d firewall-hupnet defaults 50 update-rc.d hupnet defaults 50
Käynnistä tämän jälkeen palomuuri ja hupnet (/etc/init.d/firewall-hupnet start; /etc/init.d/hupnet start). Hupnetin oletuspalomuuri on hyvin tiukka, kaikki yhteydet palvelimelle on kielletty paitsi www-palvelin sisäverkosta sekä ssh ulkoverkosta.
Hupnet kaappaa kaikki www-pyynnöt (portti 80) asiakkailta, jotka eivät ole kirjautuneet ja ohjaa pyynnöt porttiin 8001 hupnet-palvelimella. Jos et käytä esimerkki-httpd.confia, konfiguroi Apacheen porttiin 8001 virtuaalipalvelin, josta tulee uudelleenohjaus (redirect) palvelimesi hupnet-serverin etusivulle kaikkiin pyyntöihin.
Esimerkkikonfiguraatiotiedostossa kirjautumisskripti on suojattu Apachen 'basic authentication' -mekanismilla. Käyttäjätunnus ja salasana on "example" ilman lainausmerkkejä.
Kun sinulla on toimiva hupnet-palvelin pystyssä esimerkkikirjautumisella, seuraava askel on konfiguroida Shibboleth tai jokin muu oikea kirjautumistapa sekä hankkia oikea SSL-sertifikaatti palvelimellesi. Voit myös muuttaa etusivun ja sisään- sekä uloskirjautumissivujen ulkoasua hupnet-stylesheet.css -tiedostoa muokkaamalla. On myös suositeltavaa, ettet kutsu oman organisaatiosi julkista verkkoa Hupnetiksi. Jos alat käyttää Hupnettia, yllekirjoittanut kuulisi mielellään kokemuksistasi!
Debianin Apache-paketti ei toimi, koska Shibboleth-modulet vaativat, että Apache on käännetty pthread-kirjaston kanssa. SWITCHillä on tarjolla korvaava Apache-paketti.
Erityistä muistettavaa kun käyttää Shibbolethia Hupnetissä: Shibboleth-federaatiosi WAYF- ja origin-palvelimille sekä originien mahdollisille kirjautumispalvelimille pitää sallia pääsy ilman kirjautumista. Esimerkki tästä on firewall-hupnet -tiedostossa kommenteissa.
Kun shibboleth toimii muuten, suojaa Hupnetin sisäänkirjautumisskripti (login.cgi) Shibboleth-käyttäjätunnistuksella. Apachen konfiguraatio tähän on kommentoituna esimerkki-httpd.conf -tiedostossa.
Voit myös lisätä sovellustason käyttäjäntunnistuksen kirjautumisskriptiin ja poistaa Apachen käyttäjätunnistuksen. Tämä vaatii CGI-ohjelmointikokemusta Perlillä.
1. Hanki ip-osoite automaattisesti (käytä DHCP:tä)
2. Poista mahdolliset WWW-proxy-asetukset
3. Ota yhteys verkkoon (WLAN-verkkonimi/ethernet-parikaapeli)
4. Käynnistä www-selain ja mene mille tahansa www-sivulle
Kun Suomen yliopistoissa alettiin pilotoida Shibboleth-tekniikkaa vuonna 2004, keksimme Helsingin yliopistolla, että Shibbolethia voisi käyttää myös Hupnetissä, jolloin toisten yliopistojen edustajat voivat vierailla yliopiston verkossa omilla tunnuksillaan. Nykyinen Hupnet-paketti on CSC:n pilottiprojektin tulos, jossa tarkoituksena oli tehdä julkaisu Shibboleth-kykyisestä Hupnetistä.