Difference: Virtuaalipalvelinturvallisuus (r7 vs. r6)

r7 - 01 Dec 2011 - 21:54 - KariVekka r6 - 03 Nov 2011 - 23:30 - KariVekka

Johdanto

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?

Palvelimien virtualisoinnissa korostetaan useasti kustannussäästöjä, kun palvelimet voidaan sijoittaa hyödyntämään tehokkaammin samaa muistia, prosessoreita ja levyratkaisua. Tällä päästään kompaktimpaan 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?

Virtualisoinnissa toki päästään edellä mainittuihin asioihin ja sitä kautta myös uusien palvelimien perustaminen nopeutuu ja helpottuu, kun voidaan käyttää valmiita malleja pohjana uusille palvelimille. Malleja luomalla voidaan säästää aikaa ja myös sitä kautta inhimillisten erehdysten määrää uusien palvelimien asennuksissa voidaan vähentää. Luomalla palvelinmalli johon on asennettu valmiiksi kaikki tarvittavat ohjelmistot, päivitykset ja määrittelemällä tietoturva-asetukset kuten myös muut asetukset kohdalleen. Määritysten ja testausten jälkeen luodaan mallipohja jonka perusteella uudet koneet luodaan.

Palvelimien luonnin helppoudella päästään myös siihen, että uusia palveluja tai ohjelmistoja tarvittaessa ei hankita uutta palvelinrautaa tai asenneta uusia palveluja vanhoihin koneisiin, joissa jo on muita palveluja asennettuna. Tämä mahdollistaa sen, että eri ohjelmistoille tai palveluille luodaan omat palvelimet, jolloin myös riskit pienevät monessa suhteessa. Ohjelmistojen väliset konfliktit vähenevät, kun asennukset ovat eri palvelimilla. Palvelinrikkojen vaikutukset vähenevät, kun yhden palvelimen toiminta ei vaikuta kaikkiin palveluihin.

  

Palvelinlaitteistot

Palvelinratkaisut (rauta)

  

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ä.

Itse rautaratkaisu on usein myös yksittäistä palvelinta järeämpi ratkaisu. Toki palvelinvirtualisointi ei vaadi normaalista poikkeavia palvelinratkaisuja raudan osalta toimiakseen. Isommissa ratkaisuissa kuitenkin käytetään useasti niin sanottuja palvelinkehikoita joihin hankitaan kolmesta palvelimesta ylöspäin korttipalvelimia. Tällaisissa ratkaisuissa pyritään aina siihen, että kaikki osat ovat vähintään kahdennettuja. Kahdennuksella pystytään luomaan jo vikasietoisia ratkaisuja palveluiden saatavuudelle. Raudan osalta tällainen ratkaisu koostuu usein palvelinkehikosta, 3-8 korttipalvelinta, 2 kpl 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 häiriintymättä.

  

Levyjärjestelmät

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.

Tallennuskapasiteetti on toteutettu usein isoilla levyjärjestelmillä, joissa on 8-12 levyä/hylly. Levyjärjestelmät voidaan konfiguroida eri tavoin ja eri vikasietoisuustasoille riippuen käyttötarpeesta. Vikasietoisuustasoina käytetään samoja RAID-tasoja kuin yksittäisissä palvelimissa. Usein valitaan RAID5-taso, jolla saavutetaan vikasietoisuutta ja levynopeutta. Levyjärjestelmissä levyn lukunopeus kasvaa mitä enemmän levyjä järjestelmään kuuluu, koska data jaetaan kaikille levyille.

Tietoturvaa voidaan parantaa myös kun sovellusten käyttämät datat sijaitsevat eri paikassa kuin itse sovellukset jolloin mahdollisesti vikaantuvalta palvelimelta voidaan siirtää virtuaalipalvelimet lennossa toiselle palvelimelle ja jatkaa normaalia toimintaa. Mitä enemmän on dataa siirrettävänä niin sitä kauemmin siirto luonnollisesti kestää.

  

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

  

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 pohjalla muokattua Linux-ratkaisua ja Microsoft käyttää alustana Windows 2008 R2 server –ratkaisua. Pääperiaatteena on kuitenkin, että laitteiston päällä on virtualisointialusta, jolla yhdistetään käytettävissä olevat palvelimet, prosessorit, muistit, verkkokortit, levyt yhdeksi kokonaisuudeksi, josta voidaan valita virtualisoiduille palvelimille tarvittavat komponentit. Tätä kokonaisuutta hallitaan erillisellä hallintaohjelmalla. Virtualisointialustan päälle asennetaan virtualisoidut palvelimet. Kun rajapintojen määrä kasvaa, kasvaa myös riskit. Virtualisointialustana toimiva käyttöjärjestelmä on jo sinällään yksi riskitekijä lisää, jonka päivityksistä on huolehdittava ja joka on konfiguroitava tietoturvalliseksi. Virtualisointialustan päällä toimiva hypervisor-kerros on yksi rajapinta lisää, josta on paikattava tietoturva-aukot. Vasta hypervisor-kerroksen päällä toimivat itse virtuaalipalvelimet. Palvelimilla on omat ns. hiekkalaatikkonsa joissa ne toimivat, eikä näin ollen pitäisi päästä häiritsemään toisia palvelimia tai suoraan kosketuksiin alemman tason järjestelmien kanssa.

Näissä kaikissa edellä mainituissa rajapinnoissa piilee riskejä niin kuin kaikissa muissakin ohjelmistoissa. Mitä jos virtualisointialustaan päästään murtautumaan? Entä jos hyperivisor-kerrokseen päästään kiinni ja sitä kautta niin yläpuolella oleviin palvelimiin tai itse alustaan? Entä jos hiekkalaatikko vuotaa ja se vuotaa alas asti. Mitä jos päästään käsiksi hallintaohjelmistoon ja sitä kautta muuhun järjestelmään? Voidaanko koko järjestelmä kaataa palvelunestohyökkäyksellä alustaa kohti?

  

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.

Lähdeluettelo

  

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.

Tietokone-lehti 2/2008: Virtuaaliset uhat ovat todellisia

  

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]

http://www.petri.co.il/secure-vmware-esx-server.htm: Best Practices for Securing VMware ESX Server

  

Palvelimien hallinta

http://www.petri.co.il/virtualization.htm: Network & Server Virtualization: VMware & Microsoft Hyper-V

  

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.

The Center for Internet Security: Security Configuration Benchmark For VMware ESX 3.5

  

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
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
r7 - 01 Dec 2011 - 21:54 - KariVekka r6 - 03 Nov 2011 - 23:30 - KariVekka

View topic | View difference interwoven | History: r7 < r6 < r5 < r4 | More topic actions
 
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