Esipuhe

Ajattelinpa kirjoittaa artikkelin siitä, miten nurkkiin pyörimään jääneelle pöytätietokoneelle saa annettua uuden elämän. Tehdään siitä palvelin kotikäyttöön. Itselle oli jäänyt varaston nurkkaan toimiva mutta hitautensa takia nykypäivän työpöytäkäyttöön soveltumaton kone. Prossuna Pentium III 550MHz, tosin kellotettuna 604MHz, emona ASUSin P2B-VM, näyttiksenä NVIDIA:n Riva TNT2 Pro ja kovalevynä 13,6Gt Western Digital. Ai että, muistan kun tuo kone saatiin alkuvuodesta 2000. Tuolla TNT2:sella pelit pyöri. Muistia koneessa oli alkujaan 64 megatavua, mutta sitä aika nopeasti hankittiin lisää.

 

Mutta niin se vaan aika ajoi tuostakin koneesta ohi ja se jäi pois käytöstä. Kun tuosta aloin palvelinta väsäämään tammikuun 2011 alussa, oli se ehtinyt varastossa huilata noin kolme ja puoli vuotta, koneen virustorjunnan viimeisin päivitys kun oli heinäkuulta 2007. Käyttiksenä koneessa oli legendaarinen Windows 98 (ei kylläkään mitenkään hyvässä mielessä legendaarinen). Tuolloin oli normaalia että koneen joutui käynnistämään uudelleen vähintään kerran päivässä.

 

Ihan mistä tahansa koneesta en välttämättä palvelinta tekisi, sillä koska sitä kuitenkin on tarkoitus pyörittää ympärivuorokautisesti, täytyy pitää mielessä sellainen asia kuin sähkönkulutus. Pentium III on tässä mielessä hyvä vaihtoehto, se kun on melko vähäruokainen. Tuolla omalla koneella mittasin että tyhjäkäynnillä se ottaa seinästä 45 wattia eli mukavan vähän. Mittasin myös kulutuksen täydellä prosessorikuormalla, se oli muistaakseni noin 80 wattia. Jos lasketaan karkeasti että kone idlaisi koko ajan, se kuluttaisi 45W*24h=1080Wh vuorokaudessa joka tekisi vuodessa 394 kilowattituntia. Jos oletetaan yhden kilowattitunnin hinnaksi 10snt, maksaisi koneen vuotuinen sähkönkulutus noin 39 euroa.

 

Pentium III:a uudemmista prosessoreista jättäisin varsinkin Athlon XP:t ja Pentium4:set väliin, ne kun hörppäävät sähköä vähän turhan paljon että niitä kannattaisi jatkuvasti pyöritellä. Core2-aikakauden prosessoreista Pentium- ja Celeron-nimillä myytävät prosessorit ovat ihan varteenotettavia, varsinkin 45nm tekniikalla valmistetut. AMD:n puolelta kelpuuttaisin itse K10-sarjan Athlon II:set tai Sempronit.

Raudan kimppuun

Ennen kuin aloin mitään muuta tehdä, oli konehuoneen puolelle tehtävä vähän lisäyksiä. Muistia tuossa oli tuolla hetkellä 320Mt (2x128Mt+256Mt) ja kun nykyään SD-RAM-muistia saa romuraudan hinnalla, ajattelin että pistetään sitä niin paljon kuin emo tukee. Kolme slottia emolta löytyi ja emo tukee maksimissaan 256Mt:n kampoja, eli 768 megatavua on maksimimäärä. Kaksi 256Mt kampaa lisää piti siis löytää ja sellaiset muropaketin palstalta löytyivät melko nopeasti. Noutohinta 5 euroa neljästä 256Mt kammasta eli jäi vielä pari kampaa varaosiksi. Samalta myyjältä lähti myös vitosella 120-gigainen IDE-väyläinen Samsungin kovo jonka myös tuohon palvelimeen laitoin. Lisäksi alkuperäisen 13,6-gigaisen Westernin korvasin 20-gigaisella Seagatella.

 

Ja sitten seurasi ongelmia. Koneen iästä johtuen BIOS oli niin vanhaa vuosikertaa ettei se tukenut yli 32-gigaisia kovalevyjä vaikka BIOS oli viimeisin virallinen versio vuodelta 2000. ASUSin nettisivuilta löytyy onneksi hyvin tukea myös heidän vanhemmille tuotteilleen ja sieltä löytyi myös tälle emolevylle vuodelle 2002 päivätty epävirallinen BIOS, josta löytyy tuki myös suurille kiintolevyille. Leiskautin sen sisään DR-DOS-boottikorpulla (joka löytyy Bootdisk.comista) jonka jälkeen tuo Samsung tunnistui ihan nätisti. En ollutkaan muutamaan vuoteen diskettiasemaa käyttänyt.

Windowsia vai Linuxia?

Alunperin koneeseen oli tarkoitus asentaa Windows Server 2003 jonka myös asensin. Syy tähän oli ajatus mahdollisen WSUS-palvelun (Windows Server Update Services) tarjoamisesta kotikoneille, mutta kun huomasin että irssi jota palvelimella oli myös tarkoitus pyörittää, toimi Cygwinissä todella kehnosti, ajattelin että ehkäpä sittenkin hylkäämme tuon WSUS-ajatuksen ja vaihdamme käyttikseksi Linuxin.

 

Tämän jälkeen käyttöjärjestelmäksi valikoitui mikäpä muukaan kuin Ubuntun palvelinversio 10.10 "Maverick Meerkat". Palvelinkäyttöön suosittelisin valitsemaan LTS-version, sillä sille tarjotaan tuotetukea (eli päivityksiä) pidempään kuin tavallisille versioille. Itse valitsin kuitenkin tavallisen version, sillä katsoin että sitä tuetaan huhtikuuhun 2012 asti, jolloin pitäisi seuraavan LTS-version julkaisu olla. Työpöytäversion tapaan myös Ubuntun palvelinversion asentaminen on varsin mutkatonta ja asennusohjelma neuvoo kohta kohdalta, mutta jos tuntee tarvetta kuten minä, voi tueksi ja turvaksi avata toiselle koneelle Ubuntun sivuilta löytyvän asennusoppaan. Kun asennus on valmis ja järjestelmä käynnissä, kannattanee ensimmäisenä asentaa päivitykset ennen kuin alkaa säätää palvelinta kuntoon. En ala yksityiskohtaisesti selostaa kaikkea mitä tein, sillä tuo asennusopas kertoo kattavasti millä peruspalvelut saadaan pyörimään. Googlella löytyy lisää tietoa. Hakusanaksi vaikkapa "ubuntu server tähän hakusana". Tämä oli tärkein syy, miksi itse valitsin käyttikseksi Ubuntun, löytyy kattavasti ohjeita.

 

Palvelin on sijoitettu varastoon, eikä sen olemassaolo näin ollen häiritse ketään vaikka se pyöriikin ympärivuorokautisesti. Lisäksi varaston lämpötila on usein matalampi kuin asuinhuoneiston, joka ainakin toivottavasti pidentää tietokoneen kestoikää. Mihinkään täysin kylmään varastoon konetta ei kuitenkaan kannata lykätä. Pakkanen tai kostea ilma eivät pidemmän päälle tee hyvää tietokoneelle. Tuolla meidän varastossa on talvisin peruslämpö päällä, mikä tarkoittaa noin 5-10 lämpöastetta.

 

Muista turvallisuus

Itsellä pyörii palvelimessa SSH, FTP, Samba (windowsin tiedostopalvelin), irssi-shell ja Transmission-torrentohjelma sekä testikäytössä Asterisk (VoIP-palvelin). Palvelin on erillisen palomuuripurkin takana ja siihen pääsee ulkoverkosta kiinni ainoastaan SSH:lla ja tietysti VoIP-puhelimella VoIP-palvelimeen. FTP on ainoastaan pihaa valvovan IP-kameran käytössä jonne kamera tallentaa kuvia havaitessaan liikettä. Samba on luonnollisesti sitä varten että tiedostoihin pääsee käsiksi kodin eri tietokoneilta. Irssi on pääasiassa pikkuveljeä varten, ettei hänen tarvitse sähköä tuhlaten pyörittää yötäpäivää ircin takia neliytimistä Phenom2-konetta. Transmission on vastaavasti sitä varten ettei imuja varten tarvitse pyörittää pöytäkonetta.

 

Kannattaa huomata että Ubuntun palvelinversioon ei oletuksena kuulu graafista työpöytää vaan säätäminen hoituu komentoriviltä. Tietysti jos tahtoo, voi työpöydän asentaa ja sitten käyttää konetta verkon yli VNC:llä, mutta itse en nähnyt tätä tarpeelliseksi. Ihan kaikkea ei kuitenkaan tarvitse minunkaan tehdä komentoriviltä, vaan itselläni on palvelimessa asennettuna Webmin, jolla pystyy säätämään monia palvelimen asetuksia nettiselaimella verkon yli. Selainkäyttöliittymä löytyy myös Transmissionista ja Asteriskista. Näihin käyttöliittymiin pääsee kiinni suoraan ainoastaan sisäverkosta. Ulkoverkosta päin pitää käyttää SSH-tunnelia, eli otetaan SSH-yhteys palvelimeen ja käytetään sitten palvelinta SOCKS-proxynä nettiselaimelle.

Palvelimeen otettu etäyhteys Puttylla

 

Koska koneeseen pääsee SSH:lla kiinni myös ulkoverkosta, täytyy tietoturvaan kiinnittää huomiota. Koska tuo oman palvelimeni SSH käyttää oletusporttia 22, siitä ovat kiinnostuneet myös monet muut kuin minä. Palvelimen auth.logia seuraamalla näkee että säännöllisesti joku kone jostain päin maailmaa yrittää arvata käyttäjätunnusta ja salasanaa päästäkseen kirjautumaan. Tietoturvaa pystyy parantamaan mm. seuraavasti:
- Vaihda SSH kuuntelemaan jotakin muuta kuin oletusporttia.
- Root-käyttäjätunnuksen disablointi tai ainakin SSH-kirjautumisesto. Tästä ei tarvitse Ubuntussa huolehtia, root-tili kun ei ole oletuksena käytössä. Tämä on erityisen tärkeää, sillä root-tunnusta krakkerit kokeilevat kuitenkin ensimmäisenä.
- Tehdään koneelle käyttäjäryhmä, johon lisätään vain ne käyttäjät, joilla on lupa kirjautua SSH:lla. Tämä ryhmä lisätään sitten SSH-serverin AllowGroups-kohtaan.
- Riittävän monimutkaiset salasanat
- Vältetään käyttämästä käyttäjätunnuksia tyyliin quest, test, administrator ym. yleiset nimet, joita krakkerit yleensä kokeilevat. Suomalaiset erisnimet ovat aika lailla varmoja, joskin oman palvelimeni lokissa on muutaman kerran näkynyt kirjautumisyrityksiä suomalaisilla etunimilläkin.
- Asenna palvelimeen esimerkiksi Denyhosts tai Fail2ban. Nuo molemmat tarkkailevat kirjautumisia ja jos samasta IP-osoitteesta tulee tietty määrä epäonnistuneita kirjautumisia peräkkäin, ko. osoite menee määrätyksi tai määräämättömäksi ajaksi kieltolistalle. Itsellä on käytössä Denyhosts joka on säädetty niin että viiden (5) virheellisen kirjautumisen jälkeen ko. IP-osoite menee pysyvästi kieltolistalle.

Paikallaan

Palvelin paikallaan varastossa rappusten alla

Palvelin paikallaan varastossa vintille vievien rappusten alla. Näppäimistö pitää koneessa olla siitä syystä että kone ei suostu käynnistymään ilman sitä vaan tulosta sen tutun virren "Keyboard error or keyboard not found, press F1 to continue", eikä BIOSista löytynyt valintaa jolla olisi tuon näppäimistön tarkistuksen pois päältä.

 

Joitakin linkkejä ja vinkkejä asennukseen liittyen

Transmission-torrentohjelman asennus
Vaikka ohje on tehty Ubuntu 9.04:lle, asennus hoituu samaan tyyliin myös uudemmissa versioissa.

Webmin-etäkäyttöliittymän asennus
Webminillä pystyy siis säätämään monia palvelimen asetuksia nettiselaimen avulla.

Denyhosts-palvelun asennus
Denyhosts siis seuraa palvelimen auth.logia ja jos samasta IP-osoitteesta tulee liikaa virheellisiä kirjautumisyrityksiä, se pistää ko. IP-osoitteen hosts.deny -tiedostoon, jolloin kyseisestä osoitteesta ei pysty enää edes yrittämään kirjautumista.

Asterisk-palvelimen käyttöliittymän asennus
Asterisk itsessään löytyy Ubuntun pakettivarastoista, joten sen asennus on helppoa, mutta käyttöliittymän asennus ei onnistu yhtä helposti. Ohjeista poiketen kannattaa ladata GUI:n 2.0-versio komennolla svn co http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui. Jos nyt käyttöliittymään kirjautuessa tulee vain ilmoitus "Not Found Nothing to see here. Move along. Asterisk Server", poista kansio static-http /usr/share/asterisk-kansiosta ja tee sinne symbolinen linkki komennolla ln -s /var/lib/asterisk/static-http/ /usr/share/asterisk/. Jos gui asennuksen jälkeen jämähtää kohtaan "checking permission for gui folder", muuta static-http-kansion oikeudet komennolla chmod -R 777 /var/lib/asterisk/static-http. Näillä toivottavasti lähtee Asterisk toimimaan.

Etusivulle