Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

In English Suomeksi

Käyttäjien omat palvelut TKTL:n verkossa

TKTL:n Linux-verkkoon voi tavallinen käyttäjä melko helposti pystyttää omia palveluja asentamalla ja käynnistämällä palvelinohjelmistoja tai itse niitä toteuttamalla. Joissain tilanteissa tämä on ylläpidon virallisesti tukemaa (CGI-skriptit, servletit ja tietokannat db.cs.helsinki.fi-koneella). Usein tätä myös edellytetään kurssien suoritukseen vaadittavien harjoitustehtävien tai harjoitustöiden toteutukselta.

Palveluja pystytettäessä täytyy kuitenkin ottaa huomioon, että palvelinohjelmistot ovat harvoin (jos koskaan) täysin harmittomia otuksia. Tällä sivulla olisi tarkoitus selvittää itse varsinaiseen tekniikkaan liittymättömiä asioita, jotka on syytä tietää ja ottaa huomioon palveluja pystytettäessä.

Tietoturva

Jokainen palvelin ja palvelinohjelmisto on tietoturvariski. Lähes kaikista yleisessä käytössä olevista internet-palvelinohjelmistoista on löytynyt ja varmasti löytyy myös edelleen tietoturvaongelmia. Jos erittäin kokeneiden ja taitavien ohjelmoijien jäljiltä ohjelmiin jää tietoturva-aukkoja, niin näin varmasti voi myös käydä ensimmäistä WWW-pohjaista harjoitustyötään toteuttavalle opiskelijalle. Tämän takia palvelinohjelmistoja ei myöskään voi jättää tulemaan toimeen omillaan ilman säännöllistä ylläpitoa.

Muista, että vaikka sinulla itselläsi ei olisi mitään salattavaa tai tärkeitä tiedostoja, niin muilla käyttäjillä sellaisia varmasti on. Murrettu tunnus on usein ensimmäinen askel järjestelmän ylläpitotunnuksen murtamiseen ja se on myös käyttökelpoinen välietappina, josta hyökätä edelleen muualle.

Vaikka yliopiston ja laitoksen palomuurit suojaavat (jossain määrin) laitoksen verkkoa ulkopuolisilta hyökkäyksiltä, niistä ei ole apua laitoksen omia käyttäjiä vastaan. Laitoksella on useita tuhansia voimassa olevia käyttäjätunnuksia; vaikka suurin osa näiden tunnusten omistajista on epäilemättä rehellistä porukkaa, niin tähän joukkoon saattaa mahtua myös käyttäjiä jotka eivät epäröi käyttää tietoturva-aukkoja hyväkseen. On myös täysin mahdollista, että käyttäjän tunnus on vuotanut jollekin täysin ulkopuoliselle taholle.

Monien palvelinohjelmistojen oletuskonfiguraatio on erittäin luottavainen; Postgres-tietokantaohjelmisto oletusarvoisesti luo uuden tyhjän tietokannan siten, että kuka tahansa jolla vain on käyttäjätunnus tietokantaa pyörittävällä koneella pääsee tietokantaan käsiksi tietokannan ylläpitäjän oikeuksin (tämä ei koske laitoksen ylläpidon toteuttamaa wanna-postgres skriptiä). Postgresin tapauksessa tämä on dokumentoitu ja usein jopa hyödyllinen ominaisuus, joka varmasti helpottaa kovasti tietokannan ylläpitoa (käyttäjän ei tarvitse muistella mitään salasanoja), mutta kertoo osaltaan siitä, että valitettavasti helppokäyttöisyys ja tietoturva ovat usein ristiriidassa keskenään, eivätkä yleensä esiinny yhtäaikaa. Helppokäyttöisyyden ja tietoturvan joutuessa laitoksella konfliktiin, tietoturva tavallisesti voittaa.

Näiden asioiden takia käyttäjien omat palvelut on pyritty keskittämään db.cs.helsinki.fi-palvelimelle, joka on ylläpidon erityisessä valvonnassa ja joka on pyritty konfiguroimaan siten, että jonkin käyttäjän pystyttämän palvelun kautta tapahtuvan tietomurron vaikutukset olisivat rajalliset.

Mikäli tietoosi tulee tai löydät jonkin tietoturvaongelman laitoksen tietoverkosta, niin kerro siitä välittömästi ylläpidolle. Vaikka ylläpito seuraa tietoturva-asioita aktiivisesti, niin me olemme vain ihmisiä, emmekä tiedä ja huomaa kaikkea.

Rajalliset resurssit

Ohjelmistot tarvitsevat käyttöjärjestelmältä ja laitteistolta resursseja, joiden määrä on rajallinen. Laitoksen järjestelmissä ei juurikaan ole käytössä rajoituksia käyttäjien prosessien resurssinkäytölle, eikä niitä erityisemmin myöskään haluta ottaa käyttöön. Koska laitoksen yleiskäyttöisillä palvelimilla on paljon käyttäjiä, täytyy pitää huolta ettei oma palvelinprosessi varaa kaikkea muistia tai muita käyttöjärjestelmän resursseja (avoimia tiedostoja, avoimia verkkoyhteyksiä, levytilaa jne..). Helppo ja varma tapa saattaa Linux-serveri autistiseen tilaan on ensin varata kaikki saatavilla oleva muisti ja sitten täyttää prosessitaulu.

Perusteltuun tarpeeseen voidaan myös hankkia omaa laitteistoa.

Miten sitten pitää toimia?

Miten ylläpito toimii?

Ylläpito joutuu pidättämään itsellään oikeuden sulkea epäilyttävät palvelut ensin ja kysyä vasta sitten. Varmasti suljetaan ainakin:

Tilanteesta riippuen saatetaan sulkea tai pyydetään prosessin omistajaa sulkemaan prosessit jotka:


Kirotus, yhdys sana ja pilkku, virheistä vastasi Jani Jaakkola.