Amazon Web Services-beveiliging: top 10 fouten en de bijbehorende oplossingen

Abonneer je gratis op Techzine!

Met een aandeel van meer dan dertig procent in de wereldwijde cloudmarkt is Amazon Web Services (AWS) een gigant in de cloudsector. Hoewel AWS verantwoordelijk is voor de beveiliging ván de cloud, is de beveiliging ín de cloud de verantwoordelijkheid van de klant. Het is belangrijk dat beveiligingsteams begrijpen wat hun rol is in dit model van gedeelde verantwoordelijkheid. Klanten kiezen welke beveiliging zij implementeren om hun eigen content, platform, applicaties, systemen en netwerken te beschermen. Dat is eigenlijk niet anders als wanneer de applicaties en data zich in een on-site datacenter zouden bevinden.

Organisaties zitten allemaal in verschillende fasen van de overstap naar de public cloud en hebben uiteenlopende mogelijkheden op het vlak van cloud maturity. Het volwassenheidsniveau van een organisatie, gecombineerd met de innovatiesnelheid van Amazon, vergt focus op configuraties die in een specifieke context zijn te gebruiken.

Benieuwd naar de top tien meest gemaakte AWS-beveiligingsfouten en hoe je ze voorkomt? Ik zet ze hieronder op een rij.

1. De rootaccount gebruiken voor dagelijkse activiteiten

Je rootaccount, ook wel bekend als de root- of supergebruiker, heeft volledige controle over de account, inclusief de mogelijkheid om de account en alles wat daarop staat te verwijderen. Dit toegangsniveau is nodig voor bepaalde taken en kan in sommige gevallen worden gebruikt.

Dagelijkse taken kun je laten uitvoeren door gebruikersaccounts met beperkte bevoegdheden om het volgende te voorkomen:

  • Overmatig gebruik van de rootaccount, met als gevolg onbedoelde veranderingen aan bevoegdheden, policy’s, instellingen en meer. Veel gebruikers, met name in grotere organisaties, kunnen hun taken ook uitvoeren met beperktere autoriteit.
  • Een overgenomen rootaccount die een aanvaller vrij spel geeft om met je data te knoeien of je data te verwijderen. Bij grotere organisaties vergroot het omvangrijke aantal gebruikers het risico dat dit gebeurt.  

Het goede nieuws is dat AWS je de flexibiliteit biedt om rolbevoegdheden op te delen en te bepalen. Ook kun je oplossingen van derden gebruiken om activiteiten van rootgebruikers te auditen en je te waarschuwen in het geval van slechte gewoonten, zoals regelmatig gebruik van een rootgebruiker in een AWS-account.

2. Geen onderscheid maken tussen gebruiker- en rolbevoegdheden

Een best practice voor AWS-beveiliging op het vlak van bevoegdheden is de gebruiker alleen toegang geven tot de zaken die hij of zij nodig heeft om zijn of haar werk te kunnen doen. Deze beperkte, op rollen gebaseerde toegang kost misschien wat moeite om juist af te stemmen, maar uiteindelijk beperkt deze methode de blootstelling van je data. Bekijk bijvoorbeeld wie nieuwe Amazon EC2-instances kan stopzetten, starten of creëren in je AWS-omgeving. Als een specifieke gebruiker af en toe behoefte heeft aan meer toegang dan dat hij of zij normaal gesproken heeft, kun je extra bevoegdheden toekennen zolang een bepaalde taak wordt uitgevoerd en de instellingen daarna herstellen.

Met speciale software zijn fijnmazige bevoegdheden toe te kennen voor gebruikers; de bevoegdheden die ze nodig hebben om hun werk te doen. Ook ontvangen ze hiermee waarschuwingen als ze aanpassingen willen doen waar ze de toestemming niet voor hebben. Je krijgt meer inzicht in je omgeving, beheert gebruikers met toegangsbeheer en voorkomt dat risicovolle activiteiten plaatsvinden.

3. Wereldwijd toegang geven tot Amazon S3 Buckets

Een Amazon S3 bucket is een public-cloud-storagedienst beschikbaar in AWS Simple Storage Services (S3), een object-storage-oplossing. Hierin zijn vertrouwelijke persoonlijke gegevens op te slaan, zoals de facturatiegegevens van klanten. AWS-gebruikers vergeten de toegang tot deze buckets soms te beperken, waardoor iedereen die de juiste naam van deze containers kan raden, erbij kan.

Zonder goede toegangspolicy’s zijn de gegevens in Amazon S3 mogelijk kwetsbaar. Je kunt meer structuur aanbrengen in Amazon S3-toegang door buckets te verwijderen die voor iedereen vrij toegankelijk zijn. Oplossingen van derden kunnen je laten weten welke buckets dit zijn en hoe je ze op de juiste manier beveiligt. Het verifiëren van openbare toegang voor Read/Write vergt diepgaande expertise van Amazon S3 Access Control Lists (ACL’s); ook hier zijn oplossingen van derden in te zetten om verkeerde instellingen op te sporen.

4. Geen gebruikmaken van multi-factorauthenticatie

Veel datalekken zijn het gevolg van wachtwoorden die onvoldoende bescherming bieden. Eén soort authenticatie is tegenwoordig niet meer genoeg om je data te beveiligen; multi-factorauthenticatie (MFA) is een must. Door gebruikers te vragen eerst met hun accountwachtwoord in te loggen en ze zich vervolgens op een tweede manier te laten authentiseren, beperk je de risico’s voor je bedrijf. Een aantal veelvoorkomende voorbeelden van MFA zijn:

  • OTP (one-time passwords): het versturen van OTP’s naar de gebruiker via smartphone of e-mail om hun identiteit te bevestigen voordat ze daadwerkelijk inloggen.
  • USB-hardwaretokens: een USB gebruiken die een OTP genereert om de gebruiker te authentiseren alvorens toegang te geven.

AWS-gebruikers die MFA willen introduceren zonder nog een post toe te voegen aan hun beveiligingsbudget kunnen gebruikmaken van gratis tools als Google Authenticator. Als algemene regel geldt dat je moet controleren of best practices zoals MFA worden gevolgd en dat je een doorlopende beveiligingsbeoordeling van je omgeving moet uitvoeren om snel risico’s te identificeren en te verhelpen. Deze extra stappen zijn relatief snel en pijnloos en zijn essentieel om gegevens veilig te bewaren.

5. Data-at-rest niet versleutelen

AWS heeft een sleutelbeheerservice waarmee je encryptiesleutels beheert. Deze service is te gebruiken om data-at-rest te versleutelen, maar veel gebruikers weten niet dat die mogelijkheid bestaat. Best practices op het gebied van encryptie zijn het specificeren van een encryptiesleutel en wie deze kan gebruiken, en vervolgens de sleutel beveiligen. Hoewel encryptie geen datalek kan voorkomen, wordt je data wel beschermd als er een lek plaatsvindt.

6. Geen netwerk-ACL’s gebruiken

Poortscans zijn een zeer populaire methode voor het vinden van de zwakste schakel om zo een netwerk binnen te dringen. Zonder de juiste bescherming bestookt een hoop onnodig, ongewenst en mogelijk onveilig verkeer je beveiligingsgroepen. Deze groepen fungeren vaak als firewall op het instance-niveau, maar hoe meer verkeer ze te verwerken krijgen, hoe moeilijker het is om effectief te monitoren op mogelijke bedreigingen. Het gebruik van de standaard netwerk-ACL laat een hoop verkeer binnen en dat genereert weer een groot aantal alerts, waardoor de signaal-ruisverhouding wordt vergroot.

Door specifiekere netwerk-ACL’s te gebruiken, beperk je dit verkeer en verminder je de ruis. Als je bijvoorbeeld SSH alleen toestaat vanuit een bepaalde IP-block binnen de ACL’s, ontvang je geen blocknotificaties in de VPC-flow-logs van de instances zelf. Hierdoor zijn aangetaste inloggegevens niet te gebruiken vanaf andere IP-adressen en worden je instances niet bestookt met SSH scanning.

7. Geen monitoring- en logging-diensten gebruiken

AWS helpt gebruikers op verschillende manieren hun clouddiensten te beheren, begrijpen en finetunen voor meer beveiliging en een betere werking in het algemeen. Hoe meer je over deze methoden kan leren, hoe beter. Met name nieuwe gebruikers of gebruikers met weinig ervaring doen er goed aan om de volgende hulpmiddelen in te zetten:

  • AWS Config – helpt je de instellingen van je AWS-resources te beoordelen voor ondersteuning bij compliance-audits, troubleshooting en beveiligingsevaluaties.
  • AWS CloudWatch – laat je metrics verzamelen en volgen, logbestanden monitoren, alarmen instellen, automatisch op veranderingen reageren en meer.
  • AWS CloudTrail – maakt het mogelijk om risico’s en activiteiten te auditen, logt en monitort accountactiviteit, biedt eventgeschiedenis om beveiligingsanalyse te vereenvoudigen en meer. Via de AWS CloudTrail-dienst wordt je voorzien van inzicht in AWS-audits en -logs.

Monitor en audit je AWS-configuratie continu.

8. Afwijkende activiteit niet opmerken of negeren

Als er een verandering wordt doorgevoerd in je AWS-omgeving moet je deze opmerken en je daarna afvragen waarom die verandering is doorgevoerd. Gebruik je logs en data. Veel van de stappen in dit artikel helpen je bij het monitoren van je cloudactiviteit. Zo verminderen ACL’s ruis om ongewenst verkeer eenvoudiger op te sporen. Deze hulpmiddelen werken alleen als je gebruikmaakt van strenge processen die onmiddellijke proactieve reactie stimuleren.

Verstuur alerts en zet beschermingsmiddelen in zodra afwijkende activiteit wordt opgemerkt. Identificeer snel overgenomen inloggegevens of mogelijke pogingen om een account te hacken of andere afwijkingen door (mislukte) inlogpogingen en meer te monitoren. Maak het opsporen van afwijkingen op maat op basis van specifieke regels of gebruik machine-learned intelligence om cloudafwijkingen te identificeren. Als je geen systeem hebt om je op de hoogte te stellen van ongebruikelijk gedrag, merk je beveiligingsproblemen mogelijk te laat of zelfs helemaal niet op.

9. Niet regelmatig je beveiligingsinloggegevens (toegangssleutels) veranderen

Aangetaste beveiligingsinloggegevens geven een mogelijke indringer toegang tot je cloud-resources. Door deze inloggegevens regelmatig te veranderen, beperk je de hoeveelheid tijd dat een sleutel is te gebruiken, met minder risico als gevolg. Creëer een schema en procedure voor wisselende toegangssleutels om blootstelling aan mogelijke bedreigingen te beperken. Binnen een aantal applicaties wisselt AWS automatisch van inloggegevens, maar afhankelijk van de locatie van je applicaties zijn er mogelijk extra stappen nodig om zo’n wisselproces te creëren voor de toegangssleutels.

10. Diensten lanceren en gebruiken zonder inzicht in de beveiligingsgevolgen

Enthousiaste nieuwe gebruikers maken soms een start met AWS zonder dat ze volledig begrijpen of weten wat de beveiligingsgevolgen van de diensten zijn. Begin je net met AWS? Neem dan de tijd om erachter te komen welke gevolgen verschillende toegangsniveaus hebben en welke policy’s en procedures je moet toepassen, zodat je uiteindelijk minder risico loopt. Start eenvoudig en bouw langzaam door op de basisdiensten. Als je te snel aan de slag gaat met verschillende diensten is het lastig te begrijpen wat écht nodig is en welke beveiligingsmaatregelen moeten worden geïmplementeerd.

Dit is een ingezonden bijdrage van Harry Driedijk, Senior Sales Director Northern Europe bij Netskope. Via deze link vind je meer informatie over de mogelijkheden van het bedrijf.