Mange av oss jobber nå med virtuelle brannmurer. Jeg gjorde et tidligere innlegg om styrker og svakheter av sikkerhet innen den virtuelle verden , men i dag vil jeg snakke om brannmursystemer muligheter med VMware. Det har vært mye spenning om VMwares relativt ny VMsafe API . Spesielt er alle desperat å opprette / distribuere raske veien brannmurer. Men er alle raske veien implementasjoner skapt like? Er det trygghet bekymringer med å gå med en rask bane løsning? La oss dykke i og se.
Fordeling av VMsafe
Med utgivelsen av VMsafe sikkerhets-API, har VMware forbedret de tilgjengelige alternativene for å implementere sikkerhet innen en vSphere miljø ved å tillate leverandører å plugge rett i hypervisoren i ring 0. VMsafe består av tre komponenter:
- VDDK - Disk blokk inspeksjon. API har blitt offentlig utgitt.
- vCompute - CPU og minne API. Har ikke blitt offentliggjort. Ukjent som tredjemann har tilgang til, hvis noen.
- vNetwork - API å overvåke / filter mellom vNIC og vSwitch. Har ikke blitt offentliggjort. Til vidt jeg vet, bare Altor Networks & Reflex Systems har tilgang (to leverandører som bistått i utviklingen av API).
Spesielt ønsker jeg å tale til vNetwork API. Ved kontroll nett trafikkflyten innenfor en ESX host, er det to mulige implementering, "slow path" og "rask sti".
Slow Sti
Slow banen er det enkleste gjennomføringen og den vi har brukt i årevis. Effektivt dette er bare en VM gjest, lik alle andre VM gjest, kjører på ESX host. Vanligvis hver gjest er koblet til en unik vSwitch, og hver av disse vSwitches er koblet til en unik vNIC på brannmuren. Dette ligner på en arv brannmur oppsett, men implementert nesten. Fordelen med å gjennomføre i sakte sti er at du kan kjøre en full blåse OS med noen biblioteker eller tjenester som kreves for å støtte brannmuren.
Rask Sti
Fast bane er effektivt en ring 0 driver som plugges direkte inn i hypervisoren kjernen. Dette gjør at en tredjepartsleverandør for å utnytte hypervisor for innsetting mellom hver vNIC / vSwitch tilkobling. Fordi en rask sti sjåfør kjører i kernel sammenheng, legger det minimal overhead til systemet. Resultatet er kode innen raske veien er betydelig raskere enn samme kode blir utført innen treg sti (derav VMware navnekonvensjon for hver sammenheng). Belastning på ESX host er minimert, slik at sluttresultatet er at du kan kjøre langt flere virtuelle gjester.
Rask Vs Slow
Så det høres ut som du ønsker å gjøre alt innenfor raske veien, men det er en rekke problemstillinger. Fast bane er en kernel driver plugge inn i en minimert hypervisor, ikke en full blås operativsystem. Dette begrenser bibliotekene og tjenestene brannmuren har tilgjengelig for å kontrollere trafikkflyt. Videre er vi plugge inn en kernel driver så det må være forsikringer om at det ikke bloat den hypervisor, øke angrepsflaten eller forstyrre andre hypervisor funksjoner. VMware utfører en kode gjennomgang på alle raske veien sjåfører før utgivelse. Så hvis jeg kunne teoretisk implementere all min kode i rask sti, vil jeg trenge VMware godkjenning før hver patch eller funksjon release.
Med dette i bakhodet, er en leverandør som hevder "raske veien" støtte faktisk kommer til å ende opp med å implementere en del av koden sin så fort sti, en del som langsom bane, og deretter opprette en kobling mellom de to. Hvor mye belastning på systemet vil avhenge av hvor mye av denne koden er implementert i raske veien og hvor mye av det er kjørt i sakte banen.
Mulige raske veien Utplasseringer
For eksempel kan en leverandør velge å skrive en rask sti driver som bare tunneler alle pakker tilbake til en langsom vei implementert brannmur. Den langsomme veien kode avgjør deretter om trafikken skal videreformidles eller droppet, med bestått pakker blir sendt tilbake til den raske veien koden for innsetting i hypervisoren kontroll kanalen. Selv om dette ville være den enkleste metoden for distribusjon raske veien, og uten tvil den tryggeste og mest sikre, ville det gi minst ytelse fordeler. System last ville sannsynligvis ikke være mye bedre enn en full treg sti gjennomføring. Jeg ser dette alternativet som meget attraktive for arv brannmurforhandlere, da det ville kreve minst mulig endring av eksisterende kode mens de fortsatt å kunne hevde "fast sti support".
Et annet alternativ ville være å bruke den langsomme veien plass til administrative funksjoner med den raske veien driveren fungerer som brannmur motoren. Så for eksempel brannmuren administrator vil skape politikken med et grensesnitt som kjører på en langsom sti VM, som da ville presse politikken ned til en rask sti driver. I dette oppsettet den raske veien sjåføren har en kopi av politikken slik at trafikk-kontroll kan iverksettes umiddelbart. Resultatet er raskere trafikk håndtering med minimal system belastning. Handelen off er bulkier kode i ring 0.
Det er også mulig å implementere en blanding av de to. For eksempel kan jeg bruke den raske veien sjåføren å gjennomføre brannmur policy, men da passere alle "akseptert" pakker tilbake til den langsomme veien system for inntrenging sjekking, er virus scanning, eller hva som trengs. Akseptable pakkene blir deretter sendes tilbake til den raske veien driveren for innsetting. Så i dette oppsettet alle "droppet" pakker håndteres via raske veien, mens aksepterte pakker samhandle med en langsom bane komponent.
Som en side notat, må du holde de ovennevnte info i tankene når de vurderer alle vNetwork implementeringer, ikke bare brannmurer. Den vNetwork API kan også brukes for håndhevelse, QoS, samling av nettverk statistikk, etc. For eksempel den aller første vNetwork implementeringen var faktisk VMwares Lab Manager. Dette verktøyet brukes for selvbetjening klargjøring og ikke inneholder en brannmur komponent (dette er implementert via VShield).
Oppsummering
Mens en VMware produkt som integreres med VMsafe kan strengt tatt være en "slow sti" gjennomføring, er det svært usannsynlig at et produkt kan betraktes bare en "rask sti" gjennomføring. Eventuelle raske veien produkt er mest sannsynlig kommer til å bli en hybrid. Det er bare et spørsmål om hvor mye kode finnes i "raske veien" plass versus "langsomme banen" plass. Når et produkt hevder rask sti-støtte, må du grave litt dypere for å analysere gjennomføringen for å identifisere noen reell ytelse fordeler.

