Microservices op OpenStack antwoord op veelvuldig gehackte websites

Business

Als een van de grootste hostingproviders in Nederland hosten we tienduizenden websites en e-commerce sites. Het gros van de sites is gecreëerd door – en wordt beheerd door onze business partner; veelal mediabedrijven en leveranciers van webshops.

Regelmatig worden we geconfronteerd met gehackte websites waarbij in het ene geval malafide code wordt uitgevoerd en in andere gevallen complete sites worden “overgenomen” en de oorspronkelijke eigenaar de controle is kwijtgeraakt met alle gevolgen van dien.

Achterstallig onderhoud vaak reden voor security breach

Bij veel  van deze security breaches ligt de oorzaak bij achterstallig onderhoud van het onderliggende platform: een achterstand in het lifecycle management. Bijvoorbeeld het gebruik van een oude PHP-scriptingtaalversie op de site of een achterstand bij het aanbrengen van (security) patches op de s/w van het CMS c.q. het upgraden van de CMS-software of onderliggend OS.

Door regelmatig proactief security scans te doen vanuit ons CERT (computer emergency response team) brengen we onze klanten op de hoogte van mogelijke security problemen met advies voor een oplossingsrichting.

Lifecycle management flinke opgaaf

Voor veel partners en klanten, die zelf hun online omgeving beheren, is het lifecycle management een flinke opgaaf. Nog los van de tijdsbesteding is gebrek aan kennis van de laatste security patches een uitdaging, maar zien we ook dat de eindklant vaak niet bereid is om die extra investering te doen om een online omgeving volledig te upgraden om met de nieuwste softwareversies verschoond te zijn van allerlei security-problemen.

Microservices biedt uitkomst

Kijkend naar de toekomst biedt de toepassing van microservices een uitkomst.  Daarbij wordt de scheiding van applicatie met alle andere platformdiensten veel scherper en kan de websitebouwer zich bezighouden met zijn CMS of de webapplicatie en de beheerder neemt alle andere diensten voor zijn rekening als het om lifecycle management gaat.

Een voorbeeld van het expliciet scheiden van applicatiecode, die gemaakt is door een developer, en het operating system dat beheerd wordt door een systeembeheerder of managed service provider is het gebruik van container technologie. Het uitrollen en uitvoeren van de applicatiecode gebeurt, in plaats van in een groot geheel, juist in kleinere iteraties met containers als standaard inpakformaat. Deze containers bevatten het minimale dat nodig is om de ‘microservice’ te kunnen leveren aan de applicatie. Denk hierbij aan het leveren van de winkelwagen of inlogfunctionaliteit van een webshop. Omdat alle benodigde afhankelijkheden van de applicatie in de container is geplaatst is het operating systeem hier niet mee belast en blijft dus “schoner” en simpeler. Hierdoor zijn de zwakke plekken nauwelijks meer aanwezig en hebben de developer en systeembeheerder nog meer grip op de veiligheid van het systeem. De combinatie containers en microservices geven dezelfde voordelen en flexibiliteit aan een applicatie en operating system zoals virtualisatie dit heeft gedaan voor fysieke hardware. Het resultaat van een dergelijke aanpak is het constant kunnen vernieuwen en updaten van het operating systeem zonder dat de applicatie hier aan onderhevig is.

Gebruik van open standaarden

Om de lifecycle van de applicatie optimaal te kunnen beheren, wil je een platform kunnen gebruiken dat niet in de weg zit en compleet is te integreren met de bestaande bedrijfsprocessen en workflow. Je wilt hier graag een open standaard voor gebruiken zodat je niet vast zit aan 1 provider - of nog beter, je de keus hebt uit de beste providers. OpenStack is een cloudplatform dat is gebaseerd op open standaarden en bekende containertechnologieën als Kubernetes, Docker en Mesos volledig ondersteunt. OpenStack integreert de hardware, de virtual machines en de containers met standaard API’s en policies en is bij uitstek geschikt om lifecycle management te vereenvoudigen en hiermee mogelijke hacks te minimaliseren.