Container-technologie, wat zijn de risico’s?

Uit onderzoek van Adam Iwaniuk en Boryus Poplawski en Tripwire bleek onlangs dat container-technologie niet veilig genoeg geacht wordt en dat veel IT-securityprofessionals zich zorgen maken over de beveiliging ervan. Container-technologie is relatief nieuw, maar is bij een groot aantal organisaties al wel in productie. De technologie wordt veel gebruikt omdat het flexibiliteit biedt en ontwikkelaars in staat stelt om applicaties snel in productie te krijgen. Vanwege de toenemende aandacht voor de technologie is het belangrijk om aandacht te besteden aan de voordelen van deze technologie, waar de security-risico’s vandaan komen en hoe de toekomst eruit ziet voor deze technologie.

Wat zijn de voordelen van container-technologie?

Het gebruik van container-technologie heeft meerdere voordelen. De eerste is wat in het Engels rapid CI/CD wordt genoemd. CI/CD staat voor continuous integration/continuous delivery. Dat houdt in dat ontwikkelaars snel veranderingen kunnen aanbrengen in applicaties en daar snel een container image voor aan kunnen maken, zonder zich druk te maken over het onderliggende besturingssysteem. Zo kan je snel applicaties in productie krijgen. Een ander voordeel is de snelheid. Omdat je niet afhankelijk bent van monolithische applicaties kan je makkelijk applicaties bouwen op containers en applicaties met behulp van containers sneller uitrollen voor gebruik.

Het upgraden van een applicatie kan door container-technologie ook sneller, omdat er veel geautomatiseerd kan worden. Voorheen kon het ontwikkelen van een uitrolplan voor een applicatie zes tot negen maanden duren. Container images gebruiken tenslotte ook minder memory en storage. Ze kunnen snel opgespind en neergehaald worden, waardoor het gebruik van datacentervoorzieningen aanzienlijk daalt. Hetgeen weer een kostenvoordeel heeft.

Wat zijn de security-risico’s die komen kijken bij het gebruik van container-technologie?

In werkelijkheid zijn containters net zo veilig als virtual machines als het gaat om externe bedreigingen. De echte dreiging komt echter vanuit andere containers. In plaats van het uitrollen van een applicatie over een aantal VM’s kunnen applicaties gedistribueerd worden over honderden containers. Dit vereist isolatie en strict beleid om te verzekeren dat elke container de resources krijgt die het nodig heeft en alleen communiceert met de containers en diensten die noodzakelijk zijn. Zonder beleid kan de container uit de isolatie breken. Andere security-risico’s zijn onder andere multi-tenant uitrol, ongeverifieerde container images en dataversleuteling. Data verhuist bijvoorbeeld niet mee met de container en storage is vaak gelinkt aan een host. Maar als data beweeglijker wordt moet het versleuteld worden om veilig te blijven.

Waarom is het versleutelen van containers lastig?

De hoeveelheid bewegende delen is exponentieel toegenomen. Vroeger had je monolithische applicaties met drie niveaus, waardoor je slechts drie niveaus had om te beveiligen. Vandaag de dag moet men door het gebruik van microservices tot meerdere tientallen diensten beveiligen. Containers worden bovendien uitgerold over infrastructuren die gedeeld worden. Veel security-functies voor containers staan momenteel in de kinderschoenen. Containers zijn bovendien beweeglijk. Voorheen was traditionele security gebaseerd op IP’s, maar door het gebruik van containers veranderen IP’s. Het mechanisme verandert, waardoor de security-maatregelen veranderen. Vergelijk het met een verkeerslicht, die werkt ook niet voor vliegende auto’s.

Waarom worden er dan toch security-risico’s geaccepteerd?

Organisaties worden gedwongen om snel te handelen. Ze moeten nieuwe applicaties uitrollen, nieuwe features toevoegen en updates uitvoeren. Het is gevaarlijk voor de business om langzaam te handelen. Dat leidt ertoe dat organisaties de security-risico’s op de koop toenemen om maar te zorgen dat er een snelle go-to-market gerealiseerd wordt. Security is op dit moment nog steeds een beetje een ondergeschoven kindje in de container-industrie. Het is tot op heden niet ingebouwd.

Waar moet men op letten bij gebruik van container-technologie?

Container-technologie staat dus nog in de kinderschoenen, maar wordt gebruikt om een snelle go-to-market te realiseren. Hier komen logischerwijs security-risico’s bij kijken. Het is daarom van groot belang om software te gebruiken dat monitoring en zichtbaarheid biedt in de status en het gebruik van de technologie. Daarin kunnen onregelmatigheden opvallen, zoals een piek in netwerkverkeer of andere patronen. Dit moet opgeslagen worden zodat deze logs gescand kunnen worden op ongeautoriseerde toegang. Containers hebben bovendien afwijkende privileges. Als men meer containers in gebruik neemt of een applicatie wijzigt moet het beleid worden geüpdatet. Het is aan te raden om de privileges van containers zoveel mogelijk te beperken en tevens het aantal mensen dat de containers kan wijzigen te limiteren.

Hoe nu verder?

De toekomst zal uitwijzen hoe de security van containers wordt verzorgd. Momenteel wordt daarvoor reeds Istio ingezet. Dat is een veelbelovende oplossing, maar ook die staat nog in de kinderschoenen. Het schept echter wel een goed framework voor het beveiligen van containers. Uiteindelijk moeten zowel de binnenkomende datastromen (north/south) als de stromen tussen containers (east/west) beveiligd worden. Voor een optimale mix van oplossingen die hierin (en meer) kunnen voorzien moeten organisaties onderzoek doen. Moderne application delivery controllers zijn reeds in staat applicaties te voorzien van één centrale service mesh, zowel traditioneel als in containers en zowel on-premise als in public clouds. Kortom, er is veel te doen rondom container-technologie, en we hebben er absoluut nog niet het laatste van gehoord. Wordt vervolgd.

Dit is een ingezonden bijdrage van Ides Vanneuville, Director Systems Engineering EMEA bij Avi Networks. Via deze link vind je meer informatie over de mogelijkheden van het bedrijf.