With the growing need for enterprises to expose data, services and functionalities and the rise of microservices architectures in modern software development, APIs adoption has increased, becoming a frequent attack vector in security breaches. In this context the role of API gateways has gained importance in the process of securing APIs. API gateways are an API management tool that act as an entry point to manage all traffic and decouple clients from the target services they expose, offering different kind of functionalities that go from simply routing requests to providing foundational security features like authentication and authorization, rate limiting, encryption, request validation and logging, as well as other capabilities that go beyond security aspects. KrakenD is an open-source, stateless API gateway designed to be performant, easily extensible and pluggable with external services. The presented work aims to explore the role of API gateways in the field of API security and the advantages and limitations that characterize KrakenD with its stateless architecture, analyzing the steps that are needed to employ it in common scenarios: routing traffic to an existing API, integrating with an Identity Provider, configuring rate limiting mechanisms, achieving high availability with multiple independent instances and analyzing aspects related to its deployment.

Con la sempre maggiore necessità di esporre dati, servizi e funzionalità da parte delle aziende e l’aumento delle architetture a microservizi nello sviluppo software moderno, l’utilizzo delle API è aumentato, diventando un frequente vettore di attacco nelle violazioni di sicurezza. In questo contesto il ruolo degli API gateway ha acquisito importanza nel proteggere le API. Gli API gateway sono uno strumento di gestione delle API che funge da punto di ingresso per gestirne tutto il traffico e disaccoppiare i client dai servizi di destinazione che espongono, offrendo diversi tipi di funzionalità che vanno dal semplice instradamento delle richieste alla fornitura di funzionalità di sicurezza fondamentali come autenticazione e autorizzazione, limitazione del traffico, cifratura, validazione delle richieste e logging, nonché altre funzionalità che vanno oltre gli aspetti legati alla sicurezza. KrakenD è un API gateway stateless open source progettato per essere performante, facilmente estendibile e collegabile a servizi esterni. Il lavoro presentato mira ad esplorare il ruolo degli API gateway nel campo della sicurezza delle API e i vantaggi e i limiti che caratterizzano KrakenD con la sua architettura stateless, analizzando i passaggi necessari per impiegarlo in scenari comuni: instradare il traffico verso un’API esistente, integrarsi con un Identity Provider, configurare meccanismi di limitazione del traffico, ottenere un’elevata disponibilità con più istanze indipendenti e analizzare aspetti relativi al suo deployment.

A practical approach to enhance web APIs security using a stateless, open-source, pluggable API gateway

Dei Cas, Federico
2022/2023

Abstract

With the growing need for enterprises to expose data, services and functionalities and the rise of microservices architectures in modern software development, APIs adoption has increased, becoming a frequent attack vector in security breaches. In this context the role of API gateways has gained importance in the process of securing APIs. API gateways are an API management tool that act as an entry point to manage all traffic and decouple clients from the target services they expose, offering different kind of functionalities that go from simply routing requests to providing foundational security features like authentication and authorization, rate limiting, encryption, request validation and logging, as well as other capabilities that go beyond security aspects. KrakenD is an open-source, stateless API gateway designed to be performant, easily extensible and pluggable with external services. The presented work aims to explore the role of API gateways in the field of API security and the advantages and limitations that characterize KrakenD with its stateless architecture, analyzing the steps that are needed to employ it in common scenarios: routing traffic to an existing API, integrating with an Identity Provider, configuring rate limiting mechanisms, achieving high availability with multiple independent instances and analyzing aspects related to its deployment.
COLLI, GIANMARIO
MOSCATO, ANDREA
PETRELLA, MARIO
ING - Scuola di Ingegneria Industriale e dell'Informazione
5-ott-2023
2022/2023
Con la sempre maggiore necessità di esporre dati, servizi e funzionalità da parte delle aziende e l’aumento delle architetture a microservizi nello sviluppo software moderno, l’utilizzo delle API è aumentato, diventando un frequente vettore di attacco nelle violazioni di sicurezza. In questo contesto il ruolo degli API gateway ha acquisito importanza nel proteggere le API. Gli API gateway sono uno strumento di gestione delle API che funge da punto di ingresso per gestirne tutto il traffico e disaccoppiare i client dai servizi di destinazione che espongono, offrendo diversi tipi di funzionalità che vanno dal semplice instradamento delle richieste alla fornitura di funzionalità di sicurezza fondamentali come autenticazione e autorizzazione, limitazione del traffico, cifratura, validazione delle richieste e logging, nonché altre funzionalità che vanno oltre gli aspetti legati alla sicurezza. KrakenD è un API gateway stateless open source progettato per essere performante, facilmente estendibile e collegabile a servizi esterni. Il lavoro presentato mira ad esplorare il ruolo degli API gateway nel campo della sicurezza delle API e i vantaggi e i limiti che caratterizzano KrakenD con la sua architettura stateless, analizzando i passaggi necessari per impiegarlo in scenari comuni: instradare il traffico verso un’API esistente, integrarsi con un Identity Provider, configurare meccanismi di limitazione del traffico, ottenere un’elevata disponibilità con più istanze indipendenti e analizzare aspetti relativi al suo deployment.
File allegati
File Dimensione Formato  
2023_10_Dei_Cas.pdf

accessibile in internet per tutti

Dimensione 1.76 MB
Formato Adobe PDF
1.76 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/208974