Server-side request forgery (SSRF)
SSRF laat een applicatie ongewenste netwerkverzoeken vanaf haar server versturen. Het gaat om de bestemmingen die de server daadwerkelijk bereikt.
Server-side request forgery, kortweg SSRF, is misbruik van een applicatie om haar server verzoeken naar onbedoelde bestemmingen te laten sturen. De server kan andere netwerktoegang hebben dan de persoon die invoer aanlevert. Zo kunnen bijvoorbeeld interne diensten worden bereikt die van buitenaf niet rechtstreeks toegankelijk zijn.
Een documentvoorvertoning met een externe bestemming
Een fictief projectportaal haalt voor een voorvertoning een document op van het adres in het veld previewTarget. Wordt dat adres zonder passende controle overgenomen, dan kan de voorvertoningsfunctie een tussenpersoon voor ongewenste toegang worden. Het probleem zit hier in het ophalen door de server, vóór het document wordt getoond. Ook zonder teruggeven van de antwoordinhoud kunnen zulke verzoeken ongewenste effecten hebben.
In deze portaalvariant zijn voorvertoningen alleen bedoeld voor bekende documentbronnen. De applicatie kan daarom toegestane bronnen vastleggen in plaats van willekeurige bestemmingen te accepteren. Deze beperking past alleen als de functie daadwerkelijk tot bekende bronnen kan worden beperkt.
Bestemmingscontrole en netwerkgrens samen bekijken
MDN en OWASP beschrijven bescherming op applicatie- en netwerkniveau. Alleen de geschreven hostnaam controleren volstaat niet: ook de IP-adressen waarnaar de naam verwijst en de werkelijke verbinding moeten aan het toegestane bestemmingsbeleid voldoen. Omleidingen kunnen de bestemming veranderen en mogen de controle niet omzeilen.
De dienst heeft alleen de netwerktoegang nodig die zijn taak vereist. Protocol- en bestemmingsbeperkingen, gecontroleerde omleidingen en beperkte netwerkrechten werken samen. HTTPS alleen maakt een bestemming niet toegestaan. Het scenario verduidelijkt de vertrouwensgrens; het beschrijft geen uitgevoerde ophaalactie of beveiligingstest.
Bronnen
Verwante begrippen
- APIEen API legt vast hoe software functies of gegevens van andere software kan gebruiken.
- BackendDe backend verwerkt serverregels en gegevens van een toepassing. Hij omvat meer dan de database of een beheerscherm.
- WebhookEen webhook stuurt een HTTP-melding naar een ander systeem wanneer een bepaalde gebeurtenis plaatsvindt.
- DataminimalisatieDataminimalisatie beperkt persoonsgegevens tot wat passend, relevant en noodzakelijk is voor een bepaald doel.
- Bewaarbeleid voor gegevensEen bewaarbeleid bepaalt doel, begin, duur en einde van opslag. Verwijderingstaken en kopieën moeten technisch worden meegenomen.
- EnvelopversleutelingEnvelopversleuteling scheidt de gegevenssleutel van de sleutel die deze beschermt. Versleuteld bestand en verpakte gegevenssleutel horen bij elkaar.
Uw project met ASES
Beschrijf ons uw project. We nemen contact met u op met een eerste inschatting.