Jump to section

Sicurezza delle API

Copia URL

Sicurezza delle API significa proteggere l'integrità delle API, sia quelle di cui sei proprietario che quelle di altri fornitori e che utilizzi. Ma cosa significa esattamente?

L'Internet of Things (IoT), ovvero la potenza di elaborazione che connette ogni nostro oggetto di utilizzo quotidiano, è un concetto di cui, con molta probabilità, tutti abbiamo sentito parlare. Una cena improvvisata non ci trova più impreparati. Grazie all'IoT possiamo collegare il telefono al frigorifero e sapere esattamente cosa comprare al supermercato quando usciamo dal lavoro. Sei invece un esperto dell'IoT se fai parte di un team DevOps, che usa microservizi e container per compilare e distribuire le applicazioni esistenti e cloud native in modo rapido e iterativo. I microservizi e i container comunicano tra loro usando soprattutto le API, esattamente come i sistemi e le applicazioni. L'integrazione e l'interconnettività sono diventati elementi sempre più essenziali e altrettanto significativo è il ruolo delle API.

La sicurezza delle API web si occupa del trasferimento di dati attraverso API collegate a Internet. OAuth (Open Authorization) è lo standard open che regola la delega all'accesso, consentendo agli utenti di concedere a terzi l'accesso alle risorse web senza dover fornire delle password. OAuth è, in pratica, lo standard tecnologico che ti permette di condividere un video sul tuo social network preferito premendo semplicemente il pulsante "condividi".

La maggior parte delle implementazioni di API si divide in REST (Representational State Transfer) e SOAP (Simple Object Access Protocol).

Le API REST usano il protocollo HTTP e supportano la crittografia Transport Layer Security (TLS). TLS è uno standard che consente di mantenere privata una connessione Internet e che controlla che i dati inviati tra due sistemi, ad esempio due server o tra un server e un client, siano crittografati e non modificati. Questo standard impedisce a un hacker di leggere e di modificare le informazioni relative alla tua carta di credito sottraendole a un sito web. Se l'URL di un sito web inizia con "HTTPS" (Hyper Text Transfer Protocol Secure) significa che è protetto con TLS. 

Le API REST usano anche JavaScript Object Notation (JSON), un formato file che semplifica il trasferimento dei dati tramite browser web. Le API REST, a differenza delle API SOAP che non usano HTTP e JSON, sono molto più rapide perché non hanno bisogno di archiviare o raggruppare i dati.

Le API SOAP usano Web Services Security (WS Security). protocolli integrati che definiscono un set di regole basato sulla riservatezza e sull'autenticazione. Le API SOAP supportano set definiti dai due principali organismi di normalizzazione internazionali, l'Organization for the Advancement of Structured Information Standards (OASIS) e il World Wide Web Consortium (W3C). Per verificare l'autenticazione e l'autorizzazione adottano una combinazione di crittografia XML, firme XML e token SAML. Al maggiore livello di sicurezza che offrono le API SOAP corrisponde però una maggiore complessità gestionale. È proprio per questo motivo che la scelta delle API SOAP è consigliata alle organizzazioni che trattano dati sensibili.

In genere, si preferisce affidare i propri risparmi a un'entità sicura che adotti metodi separati di autorizzazione e autenticazione dei pagamenti, anziché custodirli sotto al materasso. La sicurezza delle API funziona in modo molto simile. Occorre un ambiente sicuro che disponga di criteri di autenticazione e autorizzazione.

Queste sono alcune delle prassi più comuni che contribuiscono a irrobustire la sicurezza delle tue API:

  • Implementa i token. Definisci delle identità affidabili e quindi controlla l'accesso ai servizi e alle risorse assegnando loro dei token.  
  • Adotta la crittografia e le firme. Crittografa i tuoi dati usando un metodo come TLS (leggi sopra). Per assicurarti che chi sta decrittografando e modificando i tuoi dati sia un utente autorizzato, richiedi la firma.
  • Identifica le vulnerabilità. Tieni costantemente monitorati il tuo sistema operativo, la tua rete, i tuoi driver e le tue API. Controlla il funzionamento di tutti i componenti e individua eventuali vulnerabilità che potrebbero essere sfruttate per accedere alle tue API. Avvaliti di sniffer per rilevare la presenza di problemi di sicurezza e tenere traccia delle perdite di dati.
  • Adotta processi basati su quote e throttling. Applica delle quote al numero di chiamate delle API per monitorarne la cronologia d'uso. Se le chiamate sono superiori alla media, potrebbe essersi verificata una violazione o un errore di programmazione (che causa, ad esempio, un ciclo infinito di chiamate). Crea delle regole di throttling per proteggere le API da picchi e attacchi Denial-of-Service.
  • Usa un gateway API. I gateway API sono il principale punto di coordinamento del traffico API. Oltre ad autenticare il traffico, un gateway efficace ti permette anche di controllare e analizzare le modalità di utilizzo delle API.

In ultima analisi, spesso per garantire la sicurezza delle API è necessario che siano gestite in maniera ottimale. Molte piattaforme di gestione delle API supportano tre tipologie di schemi di sicurezza:

  • Una chiave API composta da una singola stringa di token, ovvero un piccolo dispositivo hardware che fornisce informazioni di autenticazione univoche.
  • Autenticazione di base (ID APP/Chiave APP) composta da due stringhe di token, ovvero nome utente e password.
  • OpenID Connect (OIDC), un semplice livello di identità in aggiunta al framework OAuth che verifica l'identità dell'utente ottenendo informazioni di base sul profilo e usando un server di autenticazione.

Per determinare la scelta del gestore API, è fondamentale conoscere il tipo e il numero di schemi di sicurezza che è in grado di gestire e disporre di una strategia di adozione delle prassi per la sicurezza delle API, come quelle indicate sopra.

Red Hat ti aiuta a prevenire le violazioni di dati consolidando i tuoi sistemi di sicurezza. L'efficacia delle API è garantita solo se sono protette Red Hat pubblica un rapporto annuale sui rischi per la sicurezza dei prodotti Red Hat, che descrive in dettaglio le vulnerabilità della sicurezza globale che interessano il software aziendale e le soluzioni Red Hat per i nostri prodotti. Molto dipende dall'attuazione di misure di sicurezza continue, ovvero porre le domande giuste, sapere quali aree richiedono attenzione e utilizzare un gestore API affidabile. E noi siamo qui per questo.

In Red Hat, consigliamo l'uso del pluripremiato Red Hat 3scale API Management, che include:

  • Un gestore API che si occupa della gestione di API, applicazioni e ruoli degli sviluppatori
  • Un gestore del traffico (un gateway API) che applica i criteri stabiliti dal gestore API
  • Un hub di provider di identità (IDP) che supporta un'ampia gamma di protocolli di autenticazione

Red Hat 3scale API Management decodifica i token con marca temporale in scadenza a livello del gateway API, controlla che l'identificazione del client sia valida e conferma la firma usando una chiave pubblica.

Keep reading

ARTICOLO

Cos'è la metodologia DevSecOps?

Per sfruttare tutta l'agilità e la reattività di un approccio DevOps, occorre tenere conto anche di un altro elemento cruciale dell'intero ciclo di vita delle tue applicazioni: la sicurezza IT.

ARTICOLO

La sicurezza nel cloud

I problemi di sicurezza hanno un impatto sia sui sistemi IT tradizionali che su quelli cloud. Scopri perché la sicurezza nel cloud è differente.

ARTICOLO

Cosa si intende con SOAR?

L'acronimo SOAR indica 3 capacità chiave utilizzate dai team che si occupano di sicurezza: gestione dei casi e dei flussi di lavoro, automazione delle attività e sistema centralizzato di accesso, query e condivisione dei dati di intelligence sulle minacce.

Scopri di più sulla sicurezza

Prodotti

Un framework di sicurezza progettato per gestire le identità utente e garantire la privacy delle comunicazioni.

Una soluzione, Kubernetes native ed enterprise ready, per la sicurezza dei container che permette di creare, distribuire ed eseguire applicazioni cloud native in modo più sicuro.

Un servizio di analisi predittiva per identificare e contrastare le minacce a sicurezza, prestazioni e disponibilità della tua infrastruttura Red Hat.

Una soluzione che permette di controllare cluster e applicazioni Kubernetes da una singola console dotata di criteri di sicurezza integrati.

Risorse