Het landschap van cloud native technologieën is zeer breed en divers. Zo bieden tientallen aanbieders hun tools aan die je op allerlei manieren ondersteunen. Hoe vind je je weg in deze tools? Engineers en architecten van True helpen je op weg. In deze serie delen we onze kennis met je over verschillende Kubernetes tools. 💡 Tip: lees ook de blog De Cloud Native Trail Map van CNCF (en welke aanvullingen True daarop heeft) voor het begin van je reis naar cloud native.
Wat is Trivy?
Trivy is een scanner voor onder meer containerimages. De tool licht een container volledig door en brengt eventuele aanwezige kwetsbaarheden in kaart. Hierdoor kun je gerichte maatregelen nemen, zodat je de veiligheid van je container naar een hoger niveau tilt. Trivy is lichtgewicht en eenvoudig in gebruik.
Wat zijn de voordelen van Trivy?
Hoewel security een onmisbaar element is van iedere applicatie, krijgt het helaas niet altijd voldoende aandacht. Met behulp van Trivy kun je het identificeren van kwetsbaarheden onderdeel uitmaken van het uitrollen van iedere container. Zo weet je altijd zeker dat een uitgerolde container veilig is.
Wat maakt het veilighouden van container-images lastig?
De zekerheid op veiligheid is belangrijk, omdat het veilig houden van container-images niet eenvoudig is. Zo bestaat een container vaak uit een breed scala aan componenten, die ieder hun eigen kwetsbaarheden kunnen omvatten. Deze beveiligingsproblemen kunnen ook impact hebben op de veiligheid van de rest van een container-image. Het is dan ook van groot belang de security van de componenten waaruit een container bestaat, goed in het oog te houden. Dit is echter niet eenvoudig. Zo is lang niet altijd duidelijk uit welke componenten een container bestaat. Ook kan een softwarecomponent veilig lijken op het moment dat je deze implementeert, maar later toch een kwetsbaarheid blijken te bevatten.
Ook het correct configureren van containers is van cruciaal belang. Zo kan een misconfiguratie verregaande gevolgen hebben voor de veiligheid van een container. Trivy zoekt daarom niet alleen naar kwetsbaarheden, maar ook naar fouten in configuraties die de veiligheid aantasten.
Welke bekende bedrijven gebruiken Trivy?
Een bekende partij die Trivy inzet, is GitLab. Dit DevOps-platform helpt ontwikkelaars bij het bouwen, integreren en verifiëren van hun code. Het platform ondersteunt zowel grootzakelijke organisaties als kleine bedrijven door het integreren en automatiseren van allerlei functionaliteiten op dit vlak. GitLab wilde de securitymogelijkheden van zijn DevOps-platform naar een hoger niveau tillen. Het voerde hiervoor een uitgebreid onderzoek uit, waarbij diverse tools voor het geautomatiseerd scannen van containers zijn vergeleken.
De keuze is vanwege diverse redenen op Trivy gevallen. Zo levert de tool GitLab-gebruikers snelle en nauwkeurige data zodra zij een scan uitvoeren. Ook biedt de tool ondersteuning voor zogeheten air-gapped omgevingen, die fysiek niet zijn verbonden met de rest van het netwerk. Daarnaast is ondersteuning voor het scannen van distroloze images beschikbaar, iets wat GitLab voorheen niet aanbood. Dankzij de ingebouwde ondersteuning voor Aqua Starboard kan GitLab in de toekomst uitbreiden naar het scannen van containers die in productieomgevingen draaien.
Wanneer & hoe kun je Trivy gebruiken?
Trivy kent diverse gebruiksscenario’s. We zetten de belangrijkste use cases uiteen:
Geautomatiseerd kwetsbaarheden opsporen in containers
Een container-image omvat vaak een breed scala aan softwarecomponenten, waaronder opensource-componenten. Deze kunnen allen beveiligingsproblemen bevatten. Door de nauwe integratie van microservices kan een kwetsbaarheid in een klein onderdeel van een gecontaineriseerde applicatie ook van invloed zijn op de veiligheid andere onderdelen van de webapplicatie. Het geautomatiseerd scannen van containerimages helpt bij het opsporen van bekende kwetsbaarheden, zodat je deze gericht kunt aanpakken. Trivy integreert in de CI-pipeline, met integraties met onder meer CircleCI en Travis CI.
Creëren van een ‘software bill of materials’
Een bill of materials is een term die afkomstig is uit de maakindustrie. Een dergelijke stuklijst geeft exact weer uit welke componenten een bepaald product is opgebouwd. Zo kunnen eventuele problemen onder meer worden teruggeleid naar de bron. Een software bill of materials (SBOM) is de softwarematige variant van zo’n stuklijst. Dankzij een SBOM weet je tot in details uit welke softwarecomponenten een containerimage bestaat. Dit inzicht is van groot belang, onder meer met het oog op de veiligheid van een gecontaineriseerde applicatie. Een goed voorbeeld is Apache Log4j, een component waarin in december 2021 een ernstige kwetsbaarheid is ontdekt. Log4j is een component dat in een groot aantal webapplicaties is verwerkt. Om adequaat op de kwetsbaarheid in Log4j in te kunnen spelen, moet je echter wel weten of deze software onderdeel uitmaakt van jouw container-images.
Misconfiguraties detecteren en voorkomen
Trivy is ook inzetbaar voor het opsporen van misconfiguraties. Belangrijk, aangezien een kleine fout in de configuratie van een gecontaineriseerde applicatie ernstige gevolgen kan hebben. Is een standaardwachtwoord bijvoorbeeld niet gewijzigd of staat een poort onbedoeld open? Dan kan dit aanvallers vrij spel geven en toegang verstrekken tot de webapplicatie. Trivy bevat ingebouwde policies voor het detecteren van configuratiefouten in onder meer Kubernetes.
Werking en mogelijkheden van Trivy in een video
In de onderstaande video legt Liz Rice, voormalig vice president of Open Source Engineering bij Aqua Security, in enkele minuten de werking en mogelijkheden van Trivy uit.
Waarom zijn wij fan van Trivy?
Binnen True zetten we Trivy in voor het scannen van containers. Trivy identificeert eventuele kwetsbaarheden die je container omvat en geeft deze in een lijst weer. Je kunt Trivy bijvoorbeeld koppelen aan je CI/CD-pipeline. Iedere keer dat je een container-image naar productie pusht, kun je deze door de tool laten scannen. Dit biedt diverse voordelen. Zo ben je je veel bewuster van de componenten die deel uitmaken van je container. Ook weet je direct welke kwetsbaarheden aanwezig zijn, in welk component deze zitten en hoe ernstig de kwetsbaarheden zijn. In een CVE-database (Common Vulnerabilities and Exposures) kan je vervolgens meer informatie vinden over de beveiligingsproblemen en deze gericht aanpakken. Zo houd je de veiligheid van je containers in de hand. De experts van True ondersteunen je hierbij uiteraard.
We koppelen Trivy standaard aan iedere Kubernetes-omgeving die we voor klanten uitrollen. Klanten kunnen vervolgens zelf met de tool aan de slag. Wij hebben Trivy gekoppeld aan Harbor, een open source registry die helpt bij het opslaan en managen van images. Harbor omvat een mechanismen voor het scannen van containers, waarvoor je verschillende tools kunt inzetten. Wij kiezen voor het gebruik van Trivy. Prettig aan de integratie met Harbor is onder meer dat Harbor de informatie die Trivy verzamelt op een overzichtelijke, grafische wijze weergeeft.
Samenwerken aan je ambities met Kubernetes?
Steeds meer ontwikkelteams verkennen containerisatie en microservices. Het levert veel voordelen op maar kan ook complex zijn. Fully Managed Kubernetes van True helpt ontwikkelteams met meer efficiëntie en zorgvuldigheid te ontwikkelen.