Artikel top billede

(Foto: Computerworld)

Hvor sikker er virtualisering?

Udviklingen går fra fysiske servere til virtualiserede servere. Men hvad er sikkerhedsrisikoen?.

Af Tom Madsen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

I de seneste år har vi set, at udviklingen går fra fysiske servere til virtualiserede servere. En udvikling der er eksploderet med implementeringen af skyen uanset, om der er tale om en privat eller offentlig sky. At virtualisere et datacenter giver god mening fra både et ressource og et økonomisk synspunkt, men hvad med sikkerheden i vores implementationer af virtualiserede infrastrukturer?

Vi har i de seneste år set, at der er sårbarheder i den virtualiseringssoftware, vi bruger i vores datacentre, uanset om vi bruger software fra VMWare, Microsoft eller Citrix. I denne artikel vil vi kort gøre rede for de udfordringer, der er for sikkerheden i en virtualiseret infrastruktur og de konsekvenser, det kan have, hvis ikke sikkerheden er tænkt ind i implementeringen.

Sikkerhedsfordele ved virtualiseret infrastruktur
Der er mange, der tror, at en virtualiseret infrastruktur er mere sikker end den traditionelle, fordi de har hørt, at med virtualisering er maskinerne, der kører på en fysisk host, isoleret fra hinanden. Der er absolut sikkerhedsfordele ved at virtualisere vores servere. Du kan se et udsnit af dem i boksen til højre med fordele ved VM’er. Som med alle andre ting, så kræver det dog, at implementeringen er konfigureret korrekt fra begyndelsen, hvis vi skal have fordel af disse ting. Har vi bare installeret den virtuelle maskine (VM) på en fysisk maskine og er begyndt at installere virtuelle maskiner på den, er vi godt på vej til at male os selv op i et hjørne.

Udfordringer ved virtualisering
På trods af sikkerhedsfordelene ved virtualisering er der også et par udfordringer, og i boksen med ulemper kan du se nogle af udfordringerne i et virtualiseret datacenter.
En af de ting fra boksen med ulemper, jeg gerne vil uddybe her, er det faktum, at en virtuel maskine er et stykke software. Det, at den er software, betyder, at den er lige så sårbar som al anden software overfor sårbarheder i koden. Patch-management, altså det at sørge for at vores systemer får installeret de patches, som vores softwareleverandører frigiver, er derfor en helt central del af det at have en sikker infrastruktur. Det betyder, at en virtuel maskine også skal patches med jævne mellemrum. Alle leverandører af virtualiseringssoftware frigiver jævnligt opdateringer til deres software.

Det er lige så vigtigt at patche virtualiseringssoftwaren, som det er at patche operativsystemet jævnligt. Hvis vores virtualiseringssoftware bliver kompromitteret af en angriber, så betyder det, at angriberen nu har fuld kontrol med vores datacenter, og angriberen vil kunne lukke maskiner ned eller spinne nye maskiner op efter for godt befindende. Angribere kan derved nemt skaffe sig adgang til operativsystemer på de forskellige virtuelle maskiner i vores datacenter, og de data der er på dem!

Deling af administrative opgaver
At en angriber har førnævnte adgang betyder selvfølgelig, at vores systemadministratorer er nødt til også at have adgang som en del af deres arbejde. Det bringer mig videre til det, der på moderne dansk hedder ’Separation of Duties’. Hvor vigtig denne del er, afhænger af størrelsen på virksomheden.

I ”gamle” dage i større virksomheder var de administrative byrder delt imellem dem, der administrerede netværket og dem, der administrerede serverne. Med virtualisering er en masse netværksfunktionalitet flyttet ind i softwaren, der kører forskellige virtuelle maskiner. Derfor udfører både netværksadministratorerne og serveradministratorerne nu deres arbejde fra det samme interface, på den samme software. Det kan være et problem for de virksomheder, der skal overholde nogle retningsbestemmelser eller har en sikkerhedspolitik, der siger, at adgangen for de to grupper skal være forskellig.

I langt de fleste former for virtualiseringssoftware er den adgang, der bliver givet, en fuld adgang til alle funktionerne i softwaren. Det betyder, at hvis man har et behov for at separere de adgange, som de forskellige grupper får, så skal det tænkes ind i implementeringsprojektet fra starten. Vi skal huske på, at den nemmeste adgang til et system er at stjæle et brugernavn og password fra en person, der allerede har administratoradgang til det system, man er interesseret i. Og administratorer er lige så sårbare overfor phishing-angreb, som en slutbruger er. Derudover er det nødvendigt for en administrator at logge ind på en slutbrugers computer med jævne mellemrum, og er den brugers computer blevet kompromitteret, så kan administratorens login-oplysninger blive stjålet fra denne pc.

Virus i virtuelle maskiner
Virtuelle maskiner kan også blive ramt af virus, og som det ses på figur 2, så kan den angrebne virtuelle maskine inficere de andre virtuelle maskiner, men i de fleste moderne implementationer af virtualisering vil en VM ikke køre hele tiden. De vil blive spundet op og ned alt efter behov for regnekraft m.m. Der kan opstå situationer, hvor en virusinficeret virtuel maskine bliver spundet ned, fordi der ikke lige er behov for den lige nu. I mellemtiden har administratorerne renset de andre VM’er, der er blevet inficeret af den. Nu bliver den oprindelige VM spundet op igen, fordi der er behov for den, og inficerer dermed alle de andre VM’er igen. Det er et sandsynligt scenarie, specielt i store virtualiserede datacentre og især de centre, der er meget automatiserede i deres måde at starte VM’er op, og lukke dem ned igen.

Fordele og ulemper
Konklusionen her er, at der er mange, både økonomiske og teknologiske fordele ved virtualisering, men sikkerheden skal tænkes ind i et projekt, inden man begynder at virtualisere sit datacenter. Og man kan sagtens have et lige så sikkert datacenter med virtualisering, som man kan uden. Der er dog et ekstra lag af software, som skal vedligeholdes på samme måde, som serverne skal. Det, sammen med at noget af netværket nu kører i software på virtualiseringsplatformen, vil give en øget kompleksitet i infrastrukturen, og dette er et aspekt, som man skal tage hensyn til i sikkerhedsplanlægningen og i sikkerhedspolitikkerne.

Fordele ved VM’er

Når en virtuel maskine (VM) er ordentligt isoleret, vil et nedbrud i den maskine kun gå ud over de applikationer, der kører på den.

Hvis en VM er inficeret af en virus kan den blive rullet tilbage i den tilstand, den havde før inficeringen.

Et virtualiseret miljø gør en evt. efterforskning af en sikkerhedsepisode nemmere netop, fordi maskinerne kan blive rullet frem og tilbage imellem tilstande.

Adgangen til de forskellige virtuelle maskiner kan kontrolleres meget bedre, fordi administratoradgang kan gives til kun en lille del af de forskellige VM’s.

Selve den software, der bruges til at virtualisere serverne, er meget lille, og præsenterer derfor en mindre overflade for angriberne.

 

Ulemper ved VM’er

Ved fildeling imellem host og virtuel maskine, får VM’en adgang til filsystemet på den fysiske server og kan dermed lave ændringer på dette filsystem.

Snapshotting af en VM kan rulle konfigurationer, der er lavet på VM’en tilbage, inklusiv sikkerhedskonfigurationer.

Selve den virtuelle maskine er et stykke software og er dermed lige så sårbar overfor sikkerhedshuller som al anden software.

En VM kan nemt kopieres til en USB-disk og dermed fjernes fra datacentret.

Når en VM bliver lavet, starter den typisk med en masse porte åbne og skal derfor sikkerhedskonfigureres efter at være blevet lavet.

En VM alene kan ikke bruges til noget, der skal installeres et operativsystem bagefter, som også skal sikkerhedskonfigureres. Der er derfor to stykker software, der skal konfigureres sammen for at blive sikret.

Er VM’en blevet lavet uden at isolere den fra de andre VM’er, så vil VM’en have adgang til de andre VM’er, og et sikkerhedsindbrud på en VM kan så resultere i et indbrud på alle de andre VM’er.

En virusinficeret VM kan inficere de andre VM’er på den samme fysiske server.