image-cybersecurity-axi
07/08/2023

8 inspirerende best practices voor API Security

De integratie engineers van AXI delen de 8 meest inspirerende best practices rond API Security graag met jullie. Van data-encryptie over strikte validatieregels, HTTP security headers tot shadow API’s. Samen streven we naar maximale ondersteuning op het vlak van API Security voor jouw organisatie.

1. Heb je al nagedacht over het belang van encryptie voor jouw data?

 

Om data onleesbaar te maken voor derden is encryptie ideaal. Over het algemeen wordt er een onderscheid gemaakt tussen 2 verschillende vormen van encryptie, namelijk encryptie op transportniveau en op berichtniveau. 

 

Bij encryptie op transportniveau gebruikt de API een versleutelde netwerkverbinding om gegevens uit te wisselen. Dit verhindert man-in-the-middle attacks waarin een hacker gaat meeluisteren naar de berichten die uitgewisseld worden tussen de cliënt en de API. Om dit te realiseren maken we gebruik van Transport Layer Security (TLS) met veiligheidscertificaten uitgegeven door een erkende instantie.

 

Alle voorgaande toepassingen van encryptie worden al als redelijk standaard beschouwd, maar wij raden toch ook wel encryptie op berichtniveau aan. Dit is vooral interessant wanneer je met gevoelige data werkt bvb. medische gegevens, financiële informatie en andere persoonlijke informatie waarop ook de GDPR-wetgeving van toepassing is. Hierbij kunnen organisaties (bvb. ziekenhuizen, financiële instanties, enz.) ervoor kiezen om de inhoud van de berichten zelf te versleutelen. Dit verzekert hen ervan dat de data die opgeslagen wordt, enkel leesbaar is voor wie die de overeenkomstige sleutel heeft om de data te decrypteren.  

 

2. Beveiligingsaudits en updates zijn crucialer dan je denkt 

 

Software zoals een Web Application Firewall of een API Gateway beschermen tegen heel wat bedreigingen. De security wereld staat echter niet stil, integendeel, alles evolueert razendsnel - er worden steeds nieuwe bedreigingen ontdekt waartegen bedrijven zich moeten beschermen. Het is een feit dat encryptiesleutels die vandaag als veilig beschouwd worden, dit morgen mogelijk al niet meer zijn. Het is daarom van cruciaal belang om steeds de laatste security-updates en patches te installeren in jouw organisatie. 

 

We raden ook aan om minstens 1x per jaar jouw API te laten doorlichten met een API security audit. Regelmatige audits zijn noodzakelijk omdat er voortdurend nieuwere methodes gevonden worden om API’s van organisaties te ontwrichten. In zo’n audit wordt eerst gekeken welke oplossingen er momenteel gebruikt worden binnen de organisatie. Er wordt een maturiteitsniveau op het vlak van API security bepaald, waarbij er rekening gehouden wordt met de toekomstige integratiecapaciteit die nodig is om de business te ondersteunen. Op basis hiervan worden aanbevelingen geformuleerd voor de aanpak van beveiligingsvraagstukken met betrekking tot API-architectuur, -technologie en -organisatie.

3. Herken bepaalde patronen door goede API monitoring & logging 

 

Het is belangrijk om het gebruik van de API's van jouw organisatie goed op te volgen. Een systematische aanpak via automatisatie geniet sterk de voorkeur. Een aanval van een hacker kan dan misschien wel gestopt worden door de Web Application Firewall of API Gateway, maar wanneer die aanval niet gedetecteerd wordt, geeft dat de hacker meer tijd om zijn volgende aanval voor te bereiden. Met een goede monitoring kan je aanvalspogingen herkennen en de aanvaller bijvoorbeeld door middel van IP blacklisting verhinderen om nieuwe aanvallen te proberen. 

 

AI en machinelearning kunnen nu ook bepaalde patronen van een mogelijke aanval herkennen. Hierdoor kunnen er automatisch beschermingsmaatregelen genomen worden.

4. Nadenken over het design van je API om overmatige blootstelling van data te voorkomen 

 

Tijdens het API design is het belangrijk dat je goed nadenkt over welke data je beslist beschikbaar te stellen via de API. Daarbij gaat het niet enkel over welke velden je aan de response toevoegt, maar ook dat je bijvoorbeeld vermijdt dat een cliënt de data van een andere partij kan opvragen door de input parameters van het request te wijzigen. 

 

Een kwalitatief goede API design-tool stelt je in staat om te zien wat de API effectief zal terugsturen in zijn response. Zo krijg je op een snelle en eenvoudige manier een handig overzicht van zaken waar eventueel nog verbetering mogelijk is. De echt geavanceerde tools voorkomen ook proactief designfouten en voorspellen de mogelijke impact ervan op de werking van je API.

'Het is van cruciaal belang om steeds de laatste security-updates en patches te installeren in jouw organisatie'

 

 

Steve Van der Vliet, Integration Engineer bij AXI

5. Kiezen voor de juiste HTTP security headers

 

Wanneer een API een antwoord terugstuurt naar een cliënt, kan die bepaalde parameters meegeven in de HTTP response headers. Deze parameters verhinderen klanten om acties uit te voeren die deel kunnen uitmaken van een aanval. Voorbeelden van zulke parameters zijn het forceren van een HTTPS-verbinding (HSTS), het verhinderen van cross-site scripting (XSS) en het vermijden van content-type sniffing.

 

Voor de keuze en het gebruik van security headers laat je je best begeleiden door een expert hierin. Het foutief gebruik kan namelijk hackers toelaten tot bijvoorbeeld cross-site scripting (XSS) of content-type sniffing. 

6. Inputs tegenhouden die je applicaties kunnen platleggen 

 

Wanneer je API een lijst van inputs toelaat maar je beperkt de grootte van die lijst niet, dan kan dat een heel grote load op jouw backend-applicaties veroorzaken. Daarom is het belangrijk dat je gebruikmaakt van strikte validatieregels die dat soort uitzonderlijke inputwaarden tegenhoudt nog voor ze jouw backend bereiken.

7. Voorkom shadow API’s

 

Shadow API's zijn onbeveiligde API's die vaak leiden tot grote inbreuken en storingen in softwaresystemen. Ze bieden kwaadwillenden gemakkelijk toegang tot gevoelige gegevens en kunnen zo schade veroorzaken door ongewild toegang te geven tot privé-gebruikersaccounts en niet gewenste wijzigingen in gebruikersinformatie. Om shadow API's te identificeren, kunnen monitoring, loganalyse en code scans worden toegepast. Het is belangrijk om binnen de organisatie strikte standaarden en richtlijnen te implementeren en gebruik te maken van tools om shadow API's effectief te bestrijden.

Overweeg ook zeker om je te laten begeleiden in het optimaliseren en professionaliseren van de API-architectuur van jouw organisatie. Eén van de mogelijkheden die vaak worden aangereikt is het oprichten van een Center of Excellence (CoE). Dit is een centrale governance structuur met als doelstelling de kwaliteit van integratieoplossingen te garanderen en continu te verbeteren. 

8. Waarborg de beveiliging van jouw data door API-authenticatie 

 

API-authenticatie is het proces van het verifiëren van de identiteit van gebruikers die toegang willen krijgen tot een API. Het is van vitaal belang om de beveiliging van API's te waarborgen en ongeautoriseerde toegang te voorkomen. Er zijn verschillende best practices voor API-authenticatie. Een daarvan is het gebruik van tokens, zoals OAuth-tokens, voor het verifiëren van de identiteit van gebruikers. Het is ook belangrijk om HTTPS (TLS) te gebruiken om de communicatie met de API te versleutelen en gevoelige informatie te beschermen. Tot slot is het aanbevolen om een sterk wachtwoordbeleid toe te passen, zoals het vereisen van complexe wachtwoorden en het implementeren van mechanismen zoals multi-factor authenticatie om extra beveiligingslagen toe te voegen aan het authenticatieproces van de API.

Benieuwd hoe we jouw organisatie kunnen ondersteunen op het vlak van API Security? Schrijf je in voor onze Masterclass API Security

 

In de tweede kennissessie van onze API Security Masterclass demonstreren we een handige tool die controleert of de inlogprocedure van uw website voldoet aan de OAuth 2.0 standaarden en de laatste nieuwe security aanbevelingen.