Johdanto

Palvelimien virtualisointi on nykyään erittäin paljon hyödynnetty toimenpide kustannussäästöjä tavoiteltaessa. Virtualisointiprojekteissa korostetaan useasti kustannussäästöjä, kun palvelimet voidaan asentaa ”yhteen rautaan”. Samaan laitteistokokonaisuuteen asennettaessa voidaan hyödyntää tehokkaammin samaa muistia, prosessoreita ja levyratkaisua. Tällä päästään keskitettyyn ratkaisuun ja samalla usein myös helpompaan hallittavuuteen. Helpomman hallittavuuden ja ylläpidettävyyden perusteella korostetaan usein myös tietoturvan parantumista. Mutta onko asia aina näin?

Palvelinlaitteistot

Käsittelen tässä asiaa myös laitteiston osalta, koska sekin on huomioitava toimintavarmuutta mietittäessä. Varsinkin sellaisissa asennuksissa, joissa samaan laitteistoon asennetaan useita toimintakriittisiä palveluita. Laitteistoratkaisu on yleensä yksittäistä palvelinta järeämpi ratkaisu. Palvelinvirtualisointi ei välttämättä vaadi normaalista poikkeavia palvelinratkaisuja toimiakseen, vaikka tuotantokäytössä näin usein menetelläänkin. Isommissa ratkaisuissa käytetään useasti niin sanottuja palvelinkehikoita, joihin asennetaan kolmesta palvelimesta ylöspäin korttipalvelimia. Tällaisissa ratkaisuissa pyritään siihen, että kaikki osat ovat vähintään kahdennettuja. Kahdennuksella pystytään luomaan jo vikasietoisia ratkaisuja palveluiden saatavuudelle. Laitteiston osalta tällainen ratkaisu koostuu palvelinkehikosta, 3-8 korttipalvelinta, kaksi tietoliikenteestä huolehtivaa kytkintä, usein myös erillisestä levyjärjestelmästä jonka liikenteestä huolehtivat tupla kytkimet ja levyohjaimet, erinäinen määrä virtalähteitä ja tuulettimia jotka kaikki ovat vaihdettavissa toiminnan keskeytymättä. Sähkönsyöttö on rakennettava myös kahdennettuna ja ainakin toinen syötöistä on varmennettava akuilla. Laitteistotasolla saavutetaan toimintavarmuutta, mikäli palvelinlaitteistot rakennetaan huomioiden laitteiden kahdennukset ja mahdolliset vikaantumiset, jotka voidaan korvata ajonaikana uusilla osilla toiminnan keskeytymättä.

Levyjärjestelmät

Levyjärjestelminä voidaan käyttää eri tavoin kytkettyjä (SAN-kuitukykimet, iSCSI, FCoE?) usean levyn kehikkoa. Levykehikoissa käytetään 8-12 levyä/kehikko. Levyjärjestelmien konfiguroinnissa on huomioitava halutut vikasietoisuustasot ja järjestelmävaatimukset riippuen käyttötarpeesta. Vikasietoisuustasoina voidaan käyttää samoja RAID-tasoja kuin yksittäisissä palvelimissa. Normaalisti valitaan RAID5-taso, jolla saavutetaan vikasietoisuutta ja levynopeutta. Levyjärjestelmissä levyn lukunopeus kasvaa mitä enemmän levyjä järjestelmään kuuluu, koska data jaetaan ja tasataan kaikille levyille.

Toimintavarmuus lisääntyy käytettäessä levyjärjestelmiä, koska levyn tai ohjaimen vikaantumisen aiheuttamia toimintakatkoksia syntyy harvoin. Samalla kun järjestelmän käyttövarmuus lisääntyy kahdennuksilla, niin ohjelmistojen päivitystarve lisääntyy ja samalla eri ohjelmaversioiden (firmware) yhteensopivuusongelmat lisääntyvät. Päivitettäviä osia ovat levyt, ohjaimet ja kytkimet. [1]

Virtualisointiratkaisut

Palvelimen virtualisointiohjelmistoja löytyy useita, joista tällä hetkellä suosituimmat ja käytetyimmät ovat VMwaren VSphere ja Microsoftin Hyper-V. VMware käyttää virtuaalipalvelimien alustana muokattua Linux-ratkaisua ja Microsoft käyttää Windows 2008 R2 server –ratkaisua. Pääperiaatteena on kuitenkin, että laitteiston päälle on asennettuna virtualisointialusta, jolla yhdistetään käytettävissä olevat palvelimet yhdeksi hallittavaksi kokonaisuudeksi. Tätä kokonaisuutta hallitaan omalla hallintaohjelmistolla, jolla voidaan määritellä virtualisoiduille palvelimille tarvittavat komponentit, kuten prosessorien määrä, tarvittava muisti, käytettävät verkkokortit ja virtuaaliverkot, levytilan määrä ja mahdollinen sijoittelu eri tallenneryhmiin (data group) sekä muita mahdollisia asetuksia.

Virtualisointialustan päälle asennetaan virtualisoidut palvelimet. Palvelimilla on omat ”hiekkalaatikkonsa” (sandbox) joissa ne toimivat, eivätkä näin ollen pääse suoraan kommunikoimaan tai häiritsemään toisia palvelimia tai eivät myöskään pääse suoraan kosketuksiin alemman tason järjestelmien kanssa.

Kun rajapintojen määrä kasvaa, lisääntyvät myös riskit. Virtualisointialustana toimiva käyttöjärjestelmä on jo yksi riskitekijä lisää, joka on asennuksen yhteydessä konfiguroitava tietoturvalliseksi. Alustana toimivan käyttöjärjestelmän päivityksistä on myös huolehdittava ja muutoksia tehtäessä on varmistuttava järjestelmän toimivuudesta päivitysten ja muutosten jälkeen. Virtualisointialustan päällä toimiva hypervisor-kerros on yksi rajapinta lisää, josta on myös paikattava tietoturva-aukot. Vasta hypervisor-kerroksen päällä toimivat itse virtuaalipalvelimet. [2]

Palvelimien hallinta

Palvelimia hallitaan keskitetysti järjestelmäkohtaisella hallintakonsolilla. Keskitetty hallinta helpottaa yksittäisten palvelimien ylläpitoa ja seurantaa. Keskitetyn hallinnan kautta päästään toimintavarmuuden kasvuun ja parantuneeseen palvelujen saavutettavuuteen. Palvelimien virtualisointi myös tuo helpotusta päivitettäessä yksittäisiä palvelimia koska mahdollisissa vikatilanteissa päästään palaamaan ennen päivitystä olevaan versioon varsin helposti. Tämä tietysti edellyttää, että ennen päivitystä on hallintaohjelmistolla luotu palautuspiste johon voidaan palata.

Hallintakonsolia käytettäessä voidaan hyödyntää erilaisia itse tehtyjä palvelinmalleja, kun luodaan uusia virtuaalipalvelimia. Mallipalvelimiin asennetaan tarvittavat ohjelmistot ja päivitykset valmiiksi sekä testataan toimivat tietoturva-asetukset. Uusien virtuaalipalvelimien perustaminen nopeutuu ja helpottuu, kun voidaan hyödyntää valmista mallia. Samalla inhimillisten erehdysten ja virheiden määrää vähenee, kun tarvittavat asetukset on säädetty kohdalleen.

Palvelimien hallinta ja etäyhteydet hallintaohjelmistoihin on sallittava vain tietyistä verkoista. Ratkaisuna voidaan käyttää virtuaalialustan, laitteiston (levykytkimet, tietoliikennekytkimet, palvelinkehikko, jne.) hallintaohjelmistojen ja hallintakonsolin sijoittamista omaan VLAN-verkkoon, johon rajataan pääsyä. Niin kuin kaikessa muussakin toiminnassa on pääkäyttäjien tunnuksista ja salasanoista huolehdittava erityisen suurella huolellisuudella. [3]

Yhteenveto

Pelkkä virtualisointi ei poista olemassa olevia uhkia. Edelleen voidaan tehdä samalla tavalla hyökkäyksiä palvelimiin kuin fyysisiin palvelimiinkin. Rajapinnoissa piilee riskejä niin kuin kaikissa muissakin ohjelmistoissa. Myös palvelinlaitteiston ohjelmistoissa on riskejä ja epäyhteensopivuuksia, jotka aiheuttavat ongelmia. Päivitettäviä ohjelmistoja on useita itse laitteiston kuin virtualisointialustan osalta.

On myös huomioitava mahdollinen murtautuminen hyperivisor-kerrokseen ja sitä kautta pääsy niin yläpuolella oleviin palvelimiin tai itse alustaan. Tai vaihtoehtona jokin haittaohjelma pääsee virtuaalipalvelimeen tai palvelinalustaan ja sitä kautta saastuttaa koko järjestelmän [4]. Tällä tavoin voidaan toteuttaa myös palvelunestohyökkäykset, mikäli verkon tietoturvaan ei kiinnitetä tarpeeksi huomiota ja estetä suoraa liikennettä palvelinalustaan.

Suurimpia hyötyjä on palvelimien helpottunut hallittavuus keskitetyn ratkaisun myötä. Samalla siitä seuraa myös selkeästi parantunut toimintavarmuus, kun virtuaaliset palvelimet pystytään siirtämään mahdollisissa vikatilanteissa automaattisesti toimivalle alustalle. Uusien palvelimien käyttöönoton yksinkertaisuus tulee hyvin esille, kun tarvitaan uusia palveluja tai ohjelmistoja käyttöön. Uutta palvelinlaitteistoa ei tarvitse hankkia, asentaa ja testata vaan luodaan uusi palvelin valmiiksi testatusta mallista. Eikä tarvitse asentaa tarvittavia ohjelmistoja tai palveluja olemassa oleville palvelimille ja näin kuormittaa niitä lisää. Palvelimien virtualisointi mahdollistaa sen, että eri ohjelmistoille tai palveluille voidaan luoda omat palvelimet, jolloin myös riskit pienevät. Ohjelmistojen väliset konfliktit vähenevät, kun eri ohjelmistot on asennettuna eri palvelimilla. Palvelinrikkojen vaikutukset vähenevät, kun yhden palvelimen toiminta ei vaikuta kaikkiin palveluihin.

IBMn raportti käsittelee myös virtuaalipalvelimien tietoturvaa ja haavoittuvuuksia. Siinä suurimmaksi tietoturvahaasteeksi nostetaan virtualisoitujen palvelimien lisäksi myös pilvipalvelut. Virtualisoidussa palvelinympäristössä tietoturvariskejä syntyy siksi, että samassa palvelimessa suoritetaan toistaan turvallisuusvaatimuksiltaan poikkeavia tehtäviä. Raportin mukaan kolmannes haavoittuvuuksista kohdistuu valvontajärjestelmään. [5]

Omasta useamman vuoden kokemuksesta voin sanoa palvelimien toimintavarmuuden ja palvelujen saavutettavuuden kasvaneen, kun virtuaalisia palvelinratkaisuja on käytetty. Sitä kautta voidaan katsoa myös tietoturvan parantuneen vaikka se ei pelkästään johdu palvelimien virtualisoinnista, vaan myös laitteistoympäristön paremmasta toimivuudesta ja vikasietoisuudesta.

Lähdeluettelo

[1] http://h20195.www2.hp.com/v2/GetPDF.aspx/4AA3-2591ENW.pdf: iSCSI and FCoE? for the P6000 EVA family (US English)


[2] http://www.vmware.com/technical-resources/security/overview.html: Secure Your Virtual Infrastructure


[3] http://www.vmware.com/pdf/vsphere4/r41/vsp_41_esxi_server_config.pdf: ESXi Configuration Guide


[4] http://technet.microsoft.com/en-us/security/bulletin/MS07-049: Vulnerability in Virtual PC and Virtual Server Could Allow Elevation of Privilege


[5] ftp://public.dhe.ibm.com/common/ssi/ecm/en/wgl03003usen/WGL03003USEN.PDF: IBM X-Force 2010 Mid-Year Trend and Risk Report

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmisteilla
Tyyppi Ydin
Luokitus Toimet
Mitä Useita
Miltä Useita
Missä Järjestelmä
Kuka Titu-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
Print version |  PDF  | History: r7 < r6 < r5 < r4 | 
Topic revision: r7 - 01 Dec 2011 - 21:54:15 - KariVekka
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback