Open-source OpenStack: veilig genoeg?

OpenStack is een software platform dat gebruikers een eigen cloud-infrastructuur kan bieden. 'Self-service' voor de instelling van resources maakte het platform populair, maar de beveiliging kreeg pas aandacht nadat intern gebrek eraan een serieus probleem werd.

Open-source OpenStack bestaat uit relatief nieuwe broncode. Zonder twijfel mankeert het niet aan implementatieproblemen en is de software op vele punten kwetsbaar. Gelukkig lijkt de gemeenschap van ontwikkelaars en gebruikers beveiliging heel serieus te nemen; security.openstack.org en het Security Project vatten de koe bij de horens. Verder betekent open-source dat iedereen de status van kwetsbaarheden kan volgen via onder andere bugs.launchpad.net.

Maar ook op het hoogste niveau zijn er nog steeds zwakke plekken van bedenkelijke aard, zoals authenticatiebestanden die leesbare wachtwoorden bevatten en onversleutelde RPC-communicatie. Nieuwe kwetsbaarheden kunnen ontstaan bij de configuratie van OpenStack. Bovendien spelen andere componenten een rol. Stel dat bij de implementatie een oude versie van OpenSSL wordt gebruikt - dan kan uw organisatie het slachtoffer worden van Heartbleed of soortgelijke SSL-defecten.

Zelf op de hoogte blijven

Het Security Project helpt bij een veilige implementatie, met de uitstekende Security Guide. Als een systeem gebaseerd op OpenStack eenmaal draait, is het voor de gebruiker zaak om zelf op de hoogte te blijven van nieuwe pijnpunten, onder andere via de advisories (OSSA), notes (OSSN), en een of meer van de vele mailinglijsten. Verder biedt het Security Project een procedure voor gebruikers om defecten te rapporteren zodat ze kunnen worden opgelost.

Of de OpenStack software snel genoeg wordt verbeterd om de stroom van nieuwe beveiligingsproblemen bij te houden is nog de vraag, want het is een relatief jong platform. De OpenStack Foundation doet zijn uiterste best. En de vele erbij aangesloten bedrijven - waaronder IBM, Intel, Cisco, Dell en Huawei - hebben belang bij een gezamenlijk succes. Maar net als elke vorm van publieke en hybride cloud computing is OpenStack een complex geheel bestaande uit vele lagen van in elkaar grijpende technologieën met verschillende herkomst, die vaak de grenzen van allerlei vertrouwensniveau's overbruggen. Dit zijn ideale omstandigheden voor de snelle evolutie van moeilijk oplosbare beveiligingsproblemen.

Verdediging in de diepte

OpenStack is een 'cloud'-platform. Maar uiteindelijk gaat het nog steeds om fysieke servers in echte gebouwen, aangesloten op de hardware van een reëel netwerk. De CTO/CIO van een organisatie zal een uitgebreide verdediging in de diepte daarom minstens in overweging moeten nemen: firewalls, IPS, anti-malware enzovoort. Fysieke servers en images hebben de gebruikelijke bescherming nodig. OpenStack helpt tot op zekere hoogte door API's te bieden voor toepassing van klassieke beveiligingsmethodes binnen een cloud, zoals netwerk-IPS via de networking-API. Maar een cloud maakt het oppervlak dat een aanvaller kan benutten in geen enkel opzicht kleiner. Er ontstaat slechts potentieel voor nieuwe kwetsbaarheden.

Volgens Robert Clark (beveiligingsarchitect van HP's Helion cloud en projectleider voor de beveiliging van OpenStack) is van belang dat een organisatie de hardware waar een cloud op draait kan vertrouwen. Niemand mag er ongemerkt aan kunnen sleutelen. Verder is een 'plat' netwerk met gelijke toegang voor alle gebruikers wat hem betreft een slecht idee. Beter is verdeling in minstens vier gescheiden netwerken: voor 'public' (in contact met internet), 'management' (huishoudelijk verkeer), 'guest' (contact tussen virtuele machines van eindgebruikers) en 'storage'. Alleen de netwerken voor management en storage moeten veilig zijn, de andere twee kunnen niet worden vertrouwd.

Dat is een goed begin, maar een CTO/CIO mag niet vergeten dat vele andere systemen met een OpenStack platform in verbinding staan. De Cloud Security Alliance biedt een 'cloud controls matrix', waarin de beveiliging wordt verdeeld in zestien domeinen zoals identiteits- en toegangsbeheer, mobiele beveiliging, naleving en audit, versleuteling, sleutelbeheer enzovoort. Gebruikers van OpenStack doen er goed aan om al deze domeinen en hun volledige werkgebied met zorg te evalueren.

Audit en overzicht

De beveiliging van een OpenStack-platform blijft altijd een bewegend doelwit. Een regelmatige audit is onmisbaar, om nieuwe kwetsbaarheden in het systeem als geheel tijdig aan het licht te brengen. Bij de inschatting van hun prioriteit moet rekening worden gehouden met zowel de exploiteerbaarheid als het effect dat exploitatie zou hebben op uw organisatie. Een zwakke plek die nauwelijks exploitabel is, of bij een geslaagde aanval slechts beperkte schade oplevert, hoeft immers niet hoog op de lijst te staan.

Belangrijk is ook het bijhouden van de tijd die nodig blijkt om een gat te dichten of de eventuele schade bij voorbaat te beperken. Uw team moet na verloop van tijd sneller en effectiever kunnen reageren. Mits goed beheerd is open-source OpenStack een veelbelovend platform dat voor allerlei organisaties van grote waarde kan zijn. Maar de eerste vraag is altijd weer ‘kan ik deze technologie veilig genoeg gebruiken’? Virtuele inbraken zijn dagelijks werk en de hoeveelheden data die in verkeerde handen vallen zijn haast onvoorstelbaar groot, net als de financiële schade. Bescherming van uw data moet de hoogste prioriteit hebben, maar niet elke CTO/CIO is een beveiligingsexpert. Gelukkig betekent de populariteit van OpenStack dat de juiste partners gemakkelijk te vinden zijn.

Corey Nachreiner is Chief Technology Officer (CTO) bij WatchGuard Technologies