Geschreven door Erwin van den Berg, Co-Owner / IT Consultant.

Erwin van den Berg heeft meer dan 25 jaar ervaring in IT-consultancy, met een focus op het strategisch afstemmen van technische oplossingen op zakelijke doelen.

Erwins achtergrond in cloudoplossingen biedt inzicht in de evaluatie van providervoorstellen voor API-gateways en aangepaste wrappers voor legacy-beveiliging.

Afkadering: Erwins expertise richt zich op de strategische evaluatie van technologieoplossingen, niet op specifieke beveiligingsclaims.

Wrappers zijn betrouwbaar wanneer ze aantoonbaar nodig zijn voor niet-standaard legacy-interacties, zoals propriëtaire protocollen, binaire RPC, complexe transformaties of stateful sessies, én wanneer hun code, foutafhandeling, verkeersgedrag, netwerkroute, beheer en herstel zijn vastgelegd en getest. Ze vormen een risico wanneer ze interne autorisatie- of datamodelfouten moeten maskeren, ongedocumenteerde afhankelijkheden toevoegen, onzekere mutaties automatisch opnieuw uitvoeren, de backend of

Kernpunten van dit artikel

Een providervoorstel is geloofwaardig als het helder afbakent wat een tussenlaag wel beschermt, welke risico’s in de applicatie blijven bestaan en hoe de oplossing onder storing, belasting en herstel blijft functioneren.

  • Beoordeel eerst of de bestaande communicatie past bij standaard perimetercontroles of werkelijk een applicatiespecifieke vertaling vereist.
  • Maak onderscheid tussen toegangsbeveiliging vóór de applicatie en fouten in objectautorisatie, datamodellen en interne verwerking die herstel in de applicatie zelf vragen.
  • Toets of de tijdelijke integratieoplossing later vervanging ondersteunt in plaats van een extra, slecht begrepen afhankelijkheid te worden.
  • Vraag hoe piekverkeer, time-outs en herhaalde mutatieverzoeken worden beheerst, zodat een trage backend niet leidt tot cascadeproblemen of dubbele verwerking.
  • Controleer dat de interne route naar de legacy-kern niet buiten de centrale toegangslijn om bereikbaar is en dat herstel geen onbeveiligde directe toegang opent.
  • Verlang vooraf inzicht in feitelijke afhankelijkheden, duidelijke verantwoordelijkheid voor onderhoud en aantoonbaar gedrag bij fouten en terugvalscenario’s.

Wanneer een API-gateway volstaat en wanneer een tussenlaag niet genoeg is

Een standaard API-gateway past binnen de beveiliging van een legacy-applicatie wanneer de applicatie al via HTTP/REST of standaard SOAP communiceert en de gevraagde bescherming aan de buitenrand ligt. Denk daarbij aan perimeter-authenticatie, centrale tokenvalidatie en globale rate-limiting. Dat zijn afgebakende functies: de gateway vormt een centraal punt waar deze controles voor het verkeer naar de applicatie kunnen worden toegepast. In zo’n situatie is de kernvraag niet of een gateway de legacy-applicatie verandert, maar of het aanwezige protocol en de gewenste perimetercontroles bij die intermediaire laag passen.

Die begrenzing maakt een voorstel beter toetsbaar. Wanneer een aanbieder een gateway presenteert als antwoord op een API-vraag, hoort duidelijk te zijn dat de claim betrekking heeft op centraal verkeer en niet op iedere regel, iedere autorisatiebeslissing of ieder gegevensverband in de bestaande applicatie. Een gateway kan de toegang vóór de applicatie organiseren; daarmee is niet automatisch vastgesteld dat de interne verwerking van een geaccepteerd verzoek juist is.

De grens ligt bij fouten die in het datamodel of in de autorisatielogica zelf zijn verweven. BOLA is daarvan een voorbeeld: als een applicatie een objectrelatie of autorisatie op fundamenteel niveau verkeerd beoordeelt, kan dat probleem niet worden geïsoleerd op uitsluitend netwerk- of berichtniveau. Een correct gevalideerd token aan de rand bewijst dan niet dat een gebruiker in de applicatie ook voor het betreffende object geautoriseerd is. Hetzelfde geldt wanneer het datamodel zelf geen scheiding ondersteunt die de gewenste toegangsregel vereist.

In zulke gevallen is broncode-remediatie of applicatievervanging de aangewezen grens, bovenop of in plaats van verdere intermediatie. Dat is geen argument tegen een API-gateway; het voorkomt juist dat perimeterfuncties worden verkocht als vervanging voor herstel in de applicatiekern. Een geloofwaardig voorstel benoemt daarom eerst de protocolfit, vervolgens de concrete perimetercontroles en ten slotte de fouten die buiten het bereik van die laag blijven. Pas dan is zichtbaar of de gateway een passende begrenzing van toegang biedt, of slechts een nette buitenkant rond een onopgelost autorisatie- of datamodelprobleem.

Bronnen bij deze sectie: nist.gov, wiz.io

Een snelle wrapper kan de latere vervanging duurder maken

Piekverkeer en herhaalde verzoeken overbelasten een legacy-backend achter een wrapper.

Een wrapper kan acute integratienood snel overbruggen. Dat maakt de laag aantrekkelijk wanneer een bestaande applicatie moet blijven samenwerken met nieuwe diensten, terwijl de legacy-kern nog niet direct vervangen kan worden. De korte invoertijd zegt echter weinig over de beheersbaarheid van de oplossing nadat de eerste koppeling werkt. Iedere aanvullende vertaling of uitzonderingsregel kan deel worden van de feitelijke werking rond het oude systeem.

De langetermijnprijs ontstaat vooral wanneer die werking onvoldoende is vastgelegd. Zonder documentatie blijft later onduidelijk welke afhankelijkheden door de wrapper lopen, welke vertalingen daar plaatsvinden en welke aannames de koppeling nodig heeft. De wrapper wordt dan niet alleen een tijdelijke brug, maar ook een extra laag die eerst begrepen moet worden voordat vervanging van het legacy-systeem mogelijk is. Dat vergroot de complexiteit en kosten van die vervanging, juist omdat het oude systeem en de tussenlaag samen de werkelijke integratie vormen.

Ook verkeersgedrag verdient vanaf het begin een plaats in het voorstel. Een hypothetisch scenario laat zien waarom. Moderne microservices kunnen hoogfrequente stateless calls naar een API-gateway sturen. Wanneer die gateway alle verzoeken rechtstreeks doorzet naar een backend met een beperkte connection pool, kan die backend verzadigd raken en kunnen responstijden oplopen. Geautomatiseerde retries door gateway-clients kunnen daarop volgen. In dit scenario groeit dat uit tot een retry storm die de legacy-omgeving en batchjobs platlegt. Dit is geen universele uitkomst van een gateway of wrapper, maar wel een foutpad dat niet buiten de ontwerpdiscussie hoort te vallen.

De zakelijke vraag is daardoor breder dan hoe snel een laag kan worden toegevoegd. Een voorstel heeft waarde wanneer het tegelijk zichtbaar maakt welke integratienood vandaag wordt overbrugd, hoe de laag wordt gedocumenteerd voor latere vervanging en welk gedrag optreedt wanneer de achterliggende capaciteit onder druk komt. Zonder die drie onderdelen kan snelle invoering de rekening slechts verplaatsen naar het onderhoud en de volgende migratiefase.

Bronnen bij deze sectie: martinfowler.com

Propriëtaire protocollen maken een wrapper nodig, maar retries veranderen mutaties in risico

Een maatwerk-wrapper wordt relevant wanneer de legacy-interactie niet in een standaard API-contract past. Dat kan spelen bij propriëtaire protocollen, binaire RPC, complexe payloadtransformatie of stateful sessies. De wrapper fungeert dan als applicatiespecifieke bemiddelingslaag: zij vertaalt een vorm van communicatie die niet rechtstreeks aansluit op de gewenste integratie. Het argument voor maatwerk ligt dus in de aard van de bestaande interactie, niet in de veronderstelling dat maatwerk op zichzelf meer bescherming biedt.

Bij mutaties is foutafhandeling een afzonderlijk toetsingspunt. Een timeout betekent alleen dat de wrapper binnen de beschikbare tijd geen bevestiging ontving. Daaruit volgt niet dat de mutatie niet is uitgevoerd. Die onzekerheid verandert automatische retry van een beschikbaarheidsmechanisme in een mogelijk transactierisico. Een voorstel dat retries noemt, heeft daarom ook te verduidelijken wat de betekenis van een timeout is voor de onderliggende bewerking.

Een hypothetisch voorbeeld maakt dat onderscheid concreet. Een custom wrapper ervaart een netwerk-timeout bij een trage legacy-database. Als de wrapper geen ondersteuning voor idempotency-keys heeft en vervolgens automatisch hetzelfde mutatieverzoek opnieuw verstuurt, kan de legacy-kern de transactie een tweede keer uitvoeren. In dit scenario ontstaan dubbele boekingen en structurele datacorruptie in het bronsysteem. De eerste timeout was daarbij geen bewijs dat de eerste uitvoering uitbleef; hij was juist een onzekere toestand waarop de retry reageerde.

De netwerkgrens blijft daarnaast relevant wanneer authenticatie en TLS op de gateway eindigen. Die keuze vraagt aanvullende microsegmentatie en versleutelde interne tunnels, zoals IPsec of geïsoleerde VLAN's, om onbeveiligde intranet-bypasses te voorkomen. Zo bezien bestaat de beoordeling van een wrapper niet alleen uit protocolvertaling. Zij omvat ook de betekenis van onzekere transactieresultaten en de route die verkeer na de centrale toegangslijn aflegt.

Bronnen bij deze sectie: martinfowler.com

Vergelijk voorstellen op verkeersgedrag én de route om de gateway heen

Onderstaande vergelijking maakt zichtbaar welke ontwerpkeuzen een voorstel concreet behoort toe te lichten: niet alleen de externe toegang, maar ook de verwerking van pieken en de interne route naar de legacy-kern.

OnderwerpOntwerpbesluitBijbehorend risicoWat het voorstel concreet toelicht
VerkeersafhandelingSynchrone API-calls zijn eenvoudig voor clients te consumeren. Asynchrone message-queues kunnen pieken bufferen, maar vragen een complexere client-implementatie.Synchrone calls zijn gevoelig voor cascade-storingen. Een eenvoudige clientinteractie zegt daardoor niet dat de achterliggende keten onder druk dezelfde eenvoud behoudt.Of verkeer synchroon of asynchroon wordt verwerkt, hoe pieken worden opgevangen en welke complexiteit daardoor bij clients ontstaat.
Interne netwerkrouteWanneer authenticatie en TLS op de gateway eindigen, vraagt de route naar de legacy-kern aanvullende microsegmentatie en versleutelde interne tunnels, zoals IPsec of geïsoleerde VLAN's.Een hypothetisch bypassscenario ontstaat wanneer een provider alleen de externe gateway beveiligt, terwijl legacy-poorten open en ongeauthenticeerd via het lokale subnet bereikbaar blijven. Iemand met initiële interne toegang kan de gateway dan omzeilen en rechtstreeks bij de legacy-kern komen.Welke interne segmentatie en versleutelde verbindingen de route beschermen, en hoe directe toegang tot legacy-poorten wordt uitgesloten.

Bronnen bij deze sectie: nist.gov, researchgate.net

Maatwerk verschuift beheerlast, terwijl de gateway de applicatiegrens niet wegneemt

Wanneer maatwerk technisch gerechtvaardigd is, verschuift de vergelijking van productfunctionaliteit naar eigenaarschap van een extra applicatielaag. De tabel scheidt die technische noodzaak van de beheerlast en van de risico's die buiten intermediatie blijven.

BeoordelingspuntWat maatwerk verklaartGevolg voor beheerGrens die expliciet hoort te zijn
Technische passendheidEen custom wrapper kan nodig zijn bij propriëtaire communicatieprotocollen, binaire RPC-stromen, complexe payloadtransformatie of het orkestreren van stateful sessies naar stateless API-contracten.De wrapper wordt een afzonderlijk onderhoudsobject. De code kent daardoor een eigen patch- en beheerlast, naast de legacy-applicatie die zij omsluit.De technische noodzaak voor de laag hoort per interactietype benoemd te zijn, zodat maatwerk geen algemene voorkeur wordt maar een afgebakende reactie op de bestaande koppeling.
BeveiligingsgrensEen intermediaire laag kan verkeer en contracten bemiddelen, maar is geen vervanging voor de interne logica van de applicatie.Beheer van de wrapper verandert niet automatisch de fouten die al in de applicatie aanwezig zijn. Een leverancier die uitsluitend de laag beheert, draagt die resterende fouten niet weg.Het voorstel benoemt concreet welke OWASP API-kwetsbaarheden en interne datavalidatiefouten niet door de intermediaire laag worden opgelost. Daarmee blijft zichtbaar waar herstel in de applicatie zelf nodig blijft.

Bronnen bij deze sectie: wiz.io, martinfowler.com

Welke onderbouwing hoort bij een wrapper die onder stress moet blijven werken?

De vraag is niet of maatwerk per definitie riskanter is dan een gateway. De relevante onderbouwing scheidt protocolfit, eigenaarschap van de code en aantoonbaar gedrag bij belasting en fouten.

  • Is een API-gateway altijd minder risicovol dan een wrapper? Niet zonder context. Een gateway biedt geteste modules voor OAuth2, WAF en rate-limiting met minimale code. Dat maakt standaardisatie passend wanneer de koppeling binnen die mogelijkheden valt. Bij binaire of COBOL-gerelateerde protocollen kan die standaardlaag echter tekortschieten en is een custom wrapper nodig om de bestaande communicatie te bemiddelen. Het verschil zit daarom niet in een absoluut oordeel over de technologie, maar in de vraag of het protocol werkelijk door de gekozen laag wordt ondersteund.
  • Welke last ontstaat zodra wrappercode wordt toegevoegd? De wrapper heeft eigen onderhouds- en patchlasten. Zij is dus niet alleen een verbindingsstuk tussen nieuw en oud, maar een component die gedurende de levensduur beheerd blijft. Een voorstel dat de wrapper als tijdelijke oplossing presenteert zonder die verantwoordelijkheid te benoemen, laat een deel van de operationele kosten en afhankelijkheid buiten beeld. De eigenaar, het patchproces en de grenzen van die code horen herkenbaar te zijn.
  • Welke documentatie maakt stressgedrag toetsbaar? Een gedetailleerd Failure Mode and Effects Analysis (FMEA)-plan biedt concrete onderbouwing wanneer het exact definieert hoe circuit breakers, piekconcurrency en 500-foutafhandeling onder stress functioneren. De waarde zit in de specificiteit: niet alleen de mededeling dat een component bestand is tegen fouten, maar de beschreven werking van deze foutpaden. Een FMEA neemt resterende applicatierisico's niet weg, maar maakt de beoogde reactie van de integratielaag controleerbaar.

Bronnen bij deze sectie: nist.gov, wiz.io

Een verdedigbaar voorstel verbindt discovery aan een beveiligd herstelpad

De kwaliteit van een voorstel blijkt vóór de definitieve architectuur wordt vastgelegd. Een onderbouwde aanpak begint met Dependency & Integration Discovery op basis van netwerkflow-analyses, NetFlow of PCAP en backend-connectiemonitoring. Die activiteiten brengen in beeld welke verbindingen en afhankelijkheden feitelijk bestaan voordat een vaste offerte of definitief ontwerp de uitgangspunten vastzet. Daarmee verschuift het gesprek van aannames over de koppeling naar zichtbaar verkeer en waargenomen backendconnecties.

Dat inzicht heeft directe gevolgen voor herstel. Een rollback- en bypass-architectuur hoort uitgewerkt én getest te zijn, zodat de integratielaag bij incidenten kan worden hersteld. De herstelroute is daarbij geen los operationeel detail. Zij bepaalt of de beveiligingsgrens ook onder druk standhoudt, of dat een incident leidt tot een tijdelijke terugkeer naar directe toegang tot de legacy-omgeving.

Een bypass is alleen verdedigbaar wanneer herstel geen kwetsbare directe legacy-poorten opnieuw openzet. Anders ontstaat een keuze tussen beschikbaarheid van de koppeling en een route die de eerder aangebrachte toegangsgrens omzeilt. Dat brengt zowel operationeel als financieel risico mee: herstel kan dan afhankelijk worden van directe verbindingen die buiten de beoogde integratielaag vallen. Discovery en herstelontwerp vormen daarom één toets: de eerste toont welke afhankelijkheden bestaan, de tweede toont of die afhankelijkheden bij een incident kunnen worden opgevangen zonder open directe legacy-poorten.

Bronnen bij deze sectie: nist.gov