In quanto indipendente dal linguaggio, la specifica OpenAPI consente ai client di comprendere e utilizzare i servizi senza la necessità di accedere al codice sorgente del server o di conoscere l'implementazione del server.
I documenti OpenAPI sono, di solito, scritti nel linguaggio JSON o YAML e sono comprensibili dall'uomo e dai computer. Con OpenAPI, i team DevOps possono automatizzare la documentazione e garantire la conformità delle API agli standard di settore, consentendo alle loro applicazioni di integrarsi facilmente con altri software e servizi.
In tal modo, risulta migliorata anche la sicurezza grazie alla possibilità per gli sviluppatori di stabilire appositi schemi, ossia una definizione globale della sicurezza che indica un metodo di autenticazione delle credenziali dei client e la concessione delle autorizzazioni per le API.
Che cos'è un'API?
Un'API (Application Programming Interface) è un insieme di protocolli e definizioni che consente ai diversi componenti e programmi software di comunicare, scambiare dati e condividere funzionalità tra loro. Definendo il modo con cui le applicazioni possono richiedere e scambiare informazioni, le API consentono ai sistemi software di interagire in modo da supportare una vasta gamma di funzioni e transazioni, dall'e-commerce ai pagamenti online fino ai social media e ai servizi cloud.
Che cos'è la sicurezza delle API?
Le API sono essenziali per le funzioni del computing moderno, inclusi servizi cloud, microservizi e sistemi senza server. Poiché rendono visibili le risorse e la logica delle applicazioni e possono includere il trasferimento di informazioni sensibili e importanti, le API sono un bersaglio molto allettante per i criminali. Le soluzioni per la sicurezza delle API aiutano ad impedire agli hacker di sfruttare le vulnerabilità presenti nelle API e ad utilizzare le API per ottenere un accesso non autorizzato ai sistemi e alle risorse IT. La sicurezza delle API richiede un approccio multilivello che può includere l'autenticazione, la protezione basata su firme, la limitazione e la regolazione della velocità, una soluzione WAF ( Web Application Firewall) e l'applicazione di policy per la sicurezza.
Quali sono le minacce alla sicurezza delle API?
Esistono diversi tipi di importanti minacce alla sicurezza delle API.
- Lo sfruttamento delle vulnerabilità trae vantaggio da una falla presente in un'API per consentire agli hacker di ottenere un accesso non autorizzato all'API in questione.
- Il processo di autenticazione può essere violato dai criminali, pertanto le API si trovano ad accettare le richieste provenienti da fonti illegittime o dannose.
- Gli errori di autorizzazione consentono ai client di interagire con un'API per accedere ad informazioni sensibili, che possono condurre ad una violazione di dati.
Gli attacchi DoS (Denial-of-Service) o DDoS (Distributed Denial-of-Service) si verificano quando i criminali sovraccaricano le attività delle API con un numero eccessivo di richieste simultanee, facendole diventare lente o non disponibili.
Che cos'è la sicurezza delle API?
La specifica OAS (OpenAPI Specification) è un sistema utilizzato dagli sviluppatori di software per creare applicazioni che possono interagire con le API REST. In precedenza nota come specifica Swagger, la specifica OpenAPI descrive come comunicare con un'API, quali tipi di informazioni possono essere richieste e quali informazioni verranno restituite. I documenti OpenAPI sono, di solito, scritti nel linguaggio JSON o YAML e sono comprensibili dall'uomo e dai computer. Con OpenAPI, i team DevOps possono automatizzare la documentazione e garantire la conformità delle API agli standard di settore, consentendo alle loro applicazioni di integrarsi facilmente con altri software e servizi.
Un documento OpenAPI consente agli sviluppatori di definire gli elementi fondamentali di un'API, tra cui:
- La presenza e le operazioni di ciascun endpoint
- I parametri di input e output di ciascuna operazione
- Le tecniche di autenticazione
- Un elenco di contatti, metadati, informazioni sui termini di utilizzo, concessione delle licenze, documenti disponibili e molto altro
In quanto sistema open-source, la specifica OpenAPI è indipendente dal linguaggio utilizzato per creare un'API. In tal modo, computer e utenti possono identificare e comprendere facilmente le funzionalità offerte da un'API senza la necessità di aggiungere ulteriore documentazione o di accedere al codice sorgente. Infine, la specifica OpenAPI semplifica i processi di sviluppo che riguardano più protocolli, ambienti e interfacce.
Che cos'è la sicurezza OpenAPI?
La specifica OpenAPI può aiutare a migliorare la protezione delle API e la sicurezza dei gateway API fornendo una documentazione facilmente accessibile e leggibile per ogni API. Se i team DevOps conoscono ogni endpoint API e le relative funzionalità, possono anticipare meglio i rischi per la sicurezza e impedire che le vulnerabilità diventino visibili. La documentazione sulla sicurezza OpenAPI, inoltre, aiuta i team addetti alla sicurezza a stabilire se un'API è conforme o meno alle policy per la sicurezza interne.
La specifica OpenAPI migliora la sicurezza offrendo agli sviluppatori la possibilità di stabilire appositi schemi, ossia una definizione globale della sicurezza che indica un metodo di autenticazione delle credenziali dei client e la concessione delle autorizzazioni per le API.
Anche se la specifica OpenAPI aiuta a documentare e comunicare i requisiti per la sicurezza, il compito di applicare e implementare le misure di sicurezza rimane di responsabilità del server e dell'infrastruttura delle API.
Quali sono i cinque tipi di sicurezza OpenAPI?
La specifica OpenAPI 3.0 offre cinque tipi di schemi di sicurezza:
- Lo schema di sicurezza delle chiavi API usa una chiave API, ossia un token di accesso fornito da un client quando effettua le chiamate API.
- L'autenticazione HTTP offre due tipi di schemi di autenticazione. L'autenticazione base usa l'intestazione di autorizzazione HTTP standard. L'autenticazione bearer utilizza un token di sicurezza denominato "token beare", una stringa cifrata generata dal server in risposta ad una richiesta di accesso.
- Lo schema di sicurezza OAuth2 è un protocollo di autorizzazione che fornisce ad un client API un accesso limitato ai dati degli utenti su un server web. Questo schema di sicurezza OpenAPI viene utilizzato da organizzazioni come Facebook, Google e GitHub.
- Lo schema di sicurezza MutualTLS utilizza un'autenticazione bidirezionale o reciproca oppure un codice di autorizzazione tra i server e i client, in cui il client genera un certificato attendibile per le richieste API.
- Lo schema OpenID Connect si basa sul protocollo OAuth 2.0 e definisce un flusso di accesso che consente ad un'applicazione client di autenticare e ottenere informazioni su un utente. Le informazioni sull'identità dell'utente vengono codificate in un token JWT (JSON Web Token) o ID sicuro.
Quali sono i problemi correlati alla sicurezza OpenAPI?
Le organizzazioni e i team addetti alla sicurezza che dipendono esclusivamente dalla sicurezza OpenAPI sono probabilmente immuni da molti rischi e minacce create dalle API.
- Tuttavia, la sicurezza OpenAPI non può proteggere da molte delle minacce più comuni. Infatti, in un file di definizione OpenAPI, non è possibile creare policy in grado di prevenire gli attacchi contro la logica delle API, che include molte delle minacce definite nell'elenco OWASP con le 10 principali vulnerabilità per la sicurezza delle API.
- Gli strumenti per la sicurezza OpenAPI non riescono a riconoscere o bloccare un criminale che effettua più tentativi per bypassare la convalida degli schemi di sicurezza OpenAPI.
- La documentazione di sicurezza OpenAPI può negare l'accesso al traffico legittimo applicando una rigida tecnica di convalida che blocca eventuali chiamate API anomale.
- Gli strumenti per la sicurezza OpenAPI possono consentire diversi tipi di chiamate API dannose per superare la convalida nel momento in cui vengono usate tecniche di convalida più permissive.
Domande frequenti (FAQ)
La specifica OpenAPI faceva inizialmente parte del sistema Swagger, poi è diventata un progetto separato nel 2016.
La specifica OpenAPI è supportata da un gran numero di aziende leader del settore e da una community di decine di migliaia di sviluppatori. Questo ampio supporto di settore offre stabilità tramite una base di codice considerevole. La specifica OpenAPI è ampiamente riconosciuta come il sistema open-source più comune per la definizione e la creazione di API RESTful.
Perché i clienti scelgono Akamai
A sostegno e protezione della vita online c'è sempre Akamai. Le principali aziende al mondo scelgono Akamai per creare, offrire e proteggere le loro experience digitali, aiutando miliardi di persone a vivere, lavorare e giocare ogni giorno. Akamai Connected Cloud, una piattaforma edge e cloud ampiamente distribuita, avvicina le app e le experience agli utenti e allontana le minacce.