API-security
Bijgewerkt op · Door Maarten van den Bos
API-security is het beveiligen van API's: de koppelingen waarmee apps, websites en systemen gegevens uitwisselen. Het doel is dat alleen bevoegde gebruikers en systemen precies bij de gegevens en functies kunnen die voor hen bedoeld zijn. Belangrijke maatregelen zijn authenticatie, autorisatie per object, versleuteling, limieten op gebruik en een actueel overzicht van alle API's.
Wat is API-security?
Een API (application programming interface) is een vaste manier waarop 2 programma’s met elkaar praten. Een bankapp haalt via een API je saldo op, een webwinkel controleert via een API of een betaling gelukt is. Gebruikers zien de API niet, maar er gaan wel gevoelige gegevens doorheen.
Het NCSC noemt 4 redenen waarom API’s aantrekkelijk zijn voor aanvallers: ze bevatten soms zwakke toegangscontrole of versleuteling, ze geven toegang tot gevoelige gegevens, veel API’s zijn vanaf het internet bereikbaar en beveiliging uit de webapplicatie is niet altijd ook in de API ingebouwd. Leveranciers leveren daarnaast standaard-API’s mee waarvan de kwetsbaarheden niet altijd bekend zijn.
API-security richt zich op 3 vragen:
- Wie doet dit verzoek? Dat is authenticatie, bijvoorbeeld met een token of een API-key.
- Mag deze gebruiker dit specifieke object of deze functie gebruiken? Dat is autorisatie.
- Is het verzoek normaal? Dat gaat over limieten, validatie van invoer en detectie van misbruik.
Het verschil met gewone webbeveiliging zit vooral in de tweede vraag. Een API geeft vaak direct toegang tot records, zoals klantnummers of ordernummers. Als de API niet per record controleert van wie het is, kan een aanvaller met een ander nummer de gegevens van iemand anders opvragen. NIST adviseert om API’s volgens zero trust-principes te beveiligen, ook als ze alleen intern worden gebruikt (bron: NIST SP 800-228, 2025).
Hoe werkt API-security en welke risico’s noemt OWASP?
OWASP, de internationale stichting voor veilige software, publiceert een lijst met de 10 grootste risico’s voor API’s. De huidige editie is van 2023 en zet Broken Object Level Authorization op plek 1 (bron: OWASP API Security Top 10, 2023). Het NCSC verwijst op zijn pagina over API security nog naar de editie van 2019.
| Nr. | Risico (OWASP 2023) | Wat gaat er mis? |
|---|---|---|
| API1 | Broken Object Level Authorization | De API controleert niet of een gebruiker bij een specifiek record mag |
| API2 | Broken Authentication | Inloggen of tokens zijn zwak ingericht |
| API3 | Broken Object Property Level Authorization | De API toont of wijzigt velden die de gebruiker niet mag zien of aanpassen |
| API4 | Unrestricted Resource Consumption | Geen limiet op het aantal of de omvang van verzoeken |
| API5 | Broken Function Level Authorization | Gewone gebruikers kunnen beheerfuncties aanroepen |
| API6 | Unrestricted Access to Sensitive Business Flows | Processen zoals bestellen of registreren zijn te automatiseren voor misbruik |
| API7 | Server Side Request Forgery | De API haalt op verzoek van een aanvaller data op bij andere systemen |
| API8 | Security Misconfiguration | Verkeerde instellingen, zoals open foutmeldingen of ontbrekende versleuteling |
| API9 | Improper Inventory Management | Oude of vergeten API’s blijven bereikbaar |
| API10 | Unsafe Consumption of APIs | De eigen applicatie vertrouwt blind op gegevens uit API’s van derden |
Hoe beveilig je een API?
- Maak een overzicht van alle API’s, ook de API’s die met software van leveranciers zijn meegekomen.
- Controleer bij elk verzoek wie de aanvrager is, met sterke authenticatie zoals OAuth 2.0.
- Controleer per object en per functie of de aanvrager toegang heeft.
- Versleutel het verkeer met actuele TLS-instellingen.
- Stel limieten in op het aantal en de omvang van verzoeken.
- Valideer invoer en uitvoer tegen een vast schema.
- Laat de API’s periodiek testen door een onafhankelijke specialist.
De eerste en de laatste stap komen direct uit het advies van het NCSC. Een WAAP of API-gateway kan stap 5 en 6 centraal afdwingen, maar vervangt de controle in de applicatie niet.
Voorbeeld uit de praktijk
De Nederlandse overheid heeft afspraken gemaakt over hoe overheidsorganisaties hun API’s bouwen. De REST-API Design Rules staan sinds 9 juli 2020 op de lijst met verplichte open standaarden van het Forum Standaardisatie, volgens het principe pas toe of leg uit. De standaard wordt beheerd door Logius; versie 2.2 is op 25 november 2025 vastgesteld (bron: Forum Standaardisatie).
De Design Rules gaan vooral over structuur en naamgeving, zodat API’s van verschillende overheden op dezelfde manier werken. Het Forum Standaardisatie noemt daarbij het NL GOV Assurance profile for OAuth 2.0 als verwante standaard voor veilige toegang. Voor security helpt die eenheid: een organisatie die weet hoe al haar API’s zijn opgebouwd, kan ze ook beter inventariseren en testen.
API-security in de praktijk van een security-professional
Een security architect ontwerpt hoe API’s worden ontsloten: via een centrale gateway, per applicatie of in een combinatie. Ontwikkelaars bouwen de autorisatiecontroles in de code. Een ethical hacker of pentester test API’s op de risico’s uit de OWASP-lijst, bijvoorbeeld door met een ander ID de gegevens van een andere gebruiker op te vragen.
In een SOC letten analisten op afwijkend API-verkeer, zoals een account dat in korte tijd duizenden records opvraagt. Identity- en access-specialisten (IAM) regelen de uitgifte en intrekking van tokens en sleutels. Wie zich in API-security wil specialiseren, begint vaak bij een opleiding in ethical hacking.
Veelgestelde vragen
Wat houdt een API in?
Een API (application programming interface) is een afgesproken manier waarop programma’s gegevens en functies met elkaar delen. Een app stuurt een verzoek naar de API, de API geeft een antwoord terug, meestal in JSON-formaat. Het NCSC vergelijkt een API met een ober die bestellingen naar de keuken brengt en het gerecht terugbrengt.
Wat zijn de 5 API-methoden?
Bij REST-API’s zijn de 5 bekendste HTTP-methoden GET (ophalen), POST (aanmaken), PUT (vervangen), PATCH (deels wijzigen) en DELETE (verwijderen). Voor security is het advies om alleen de methoden open te zetten die een API echt nodig heeft. Het NCSC raadt aan niet-benodigde methoden via de webserver of een applicatiefirewall te blokkeren.
Hoe beveilig je een API?
Begin met een overzicht van alle API’s. Controleer daarna bij elk verzoek wie de aanvrager is en of die bij het gevraagde object mag. Versleutel het verkeer, stel limieten in op het aantal verzoeken en valideer invoer. Laat API’s periodiek testen door een onafhankelijke specialist, zoals het NCSC adviseert.
Wat is de OWASP API Security Top 10?
De OWASP API Security Top 10 is een lijst van de 10 grootste beveiligingsrisico’s voor API’s, opgesteld door de internationale stichting OWASP. De huidige editie is van 2023, met Broken Object Level Authorization op plek 1. Ontwikkelaars en pentesters gebruiken de lijst als controlelijst bij het bouwen en testen van API’s.
Bronnen
Gerelateerde begrippen
- API
API staat voor application programming interface: een vaste set afspraken waarmee 2 softwareprogramma's gegevens en functies uitwisselen. Een app vraagt via een API bijvoorbeeld het weer, een adres of de status van een betaling op bij een andere dienst. Omdat API's rechtstreeks toegang geven tot gegevens, zijn ze een geliefd doelwit van aanvallers.
- API key
Een API key is een unieke geheime code waarmee een programma zich bij een API bekendmaakt. De API gebruikt de sleutel om te bepalen welke applicatie een verzoek doet, wat die applicatie mag en hoeveel verzoeken ze mag sturen. Een API key hoort geheim te blijven: wie hem in handen krijgt, kan de API gebruiken alsof hij die applicatie is.
- WAAP (web application and API protection)
WAAP staat voor web application and API protection: een beveiligingsdienst die websites en API's tegen aanvallen van buitenaf beschermt. Een WAAP combineert een web application firewall, botdetectie, DDoS-mitigatie en API-bescherming in 1 product. Meestal draait een WAAP als clouddienst tussen het internet en de applicaties van een organisatie.
- WAF (web application firewall)
WAF staat voor web application firewall: een beveiligingslaag die het HTTP-verkeer naar een website of webapplicatie controleert. Een WAF vergelijkt elk verzoek met regels en blokkeert verzoeken die lijken op bekende aanvallen, zoals SQL-injectie en cross-site scripting. Zo beschermt een WAF de applicatie ook wanneer de code zelf nog kwetsbaarheden bevat.
- IAM (identity and access management)
IAM staat voor identity and access management: het geheel van beleid, processen en systemen waarmee een organisatie bepaalt wie toegang krijgt tot welke systemen en gegevens. IAM zorgt dat elke medewerker een eigen account heeft, alleen de rechten krijgt die nodig zijn voor het werk en die rechten weer kwijtraakt bij een andere functie of vertrek.