Punti chiave
Il software moderno vive sempre più online, utilizzando interfacce di programmazione dell’applicazione o API, per importare ed esporre dati, rimanere aggiornati e in generale lavorare in modo più efficace. Le API sono grandi acceleratori di attività con migliaia di usi, dal disegno di un file di ricette per un sito Web di cucina, al collegamento di un sistema di pagamento sicuro a un rivenditore online, all’aggiunta di funzionalità all’infrastruttura IT esistente.
Man mano che crescono in popolarità, tuttavia, si spostano anche nel mirino dei cattivi attori, diventando un nuovo obiettivo per le minacce alla sicurezza.
Non è un problema quando sono gestiti e configurati correttamente (in realtà, sono una parte importante di un solido livello di sicurezza aziendale). Il problema è proprio che quasi tutte le aziende ora devono vivere online, utilizzando le API esistenti all’interno e all’esterno del firewall aziendale. Ciò significa che i vecchi tempi di mettere un perimetro sicuro attorno alle risorse IT sono finiti. Agire come se non lo fossero è la vera minaccia.
In che modo le organizzazioni possono utilizzare moderne tecniche di sviluppo basate su API per alimentare le proprie attività mantenendo al sicuro l’ambiente? Passando da un modello perimetrale di rete a qualcosa che applica sicurezza e protezione in ogni punto di interazione. Ecco cinque importanti tecniche per aiutare.
1. Equilibrare la protezione con facilità di accesso
La migliore sicurezza è bloccare tutto senza dare alcun accesso. Tuttavia, affinché le API forniscano valore aziendale, devono accedere a informazioni e funzionalità utili, come i dati dei clienti, le informazioni di inventario e le applicazioni legacy. Ciò significa che ogni API è un potenziale punto di accesso che deve essere protetto.
Il trucco è mantenere le API sicure lasciando che le persone che costruiscono esperienze digitali con loro si muovano il più rapidamente possibile, evitando politiche pesanti e un accesso altamente restrittivo che possa far deragliare l’innovazione.
La risposta sono gli strumenti di gestione delle API, che possono mediare l’accesso alle API, monitorarne l’utilizzo e automatizzare l’iscrizione, l’onboarding, l’autenticazione e l’istruzione degli sviluppatori. Tuttavia, è ancora troppo comune per le aziende applicare queste precauzioni solo ad alcune delle loro API. Ciò può essere dovuto a una serie di motivi, tra cui la governance irregolare delle API, le scorciatoie adottate per raggiungere scadenze di sprint aggressive, la convinzione che le API su misura non destinate al riutilizzo non richiedano la gestione o una combinazione di molti altri scenari possibili. Sebbene comprensibile, è come mettere delle serrature su alcune finestre, lasciando le porte spalancate. Tutte le API dovrebbero essere protette, il che significa che tutte le API dovrebbero essere gestite.
2. Autenticare gli utenti giusti
Le API adeguatamente protette dovrebbero fornire l’autenticazione sia per gli utenti finali che per le applicazioni. Lo standard aperto di fatto per la sicurezza API, chiamato OAuth, consente l’autenticazione e l’autorizzazione basate su token. Ciò consente agli utenti finali e alle applicazioni di ottenere il giusto livello di accesso a una risorsa protetta senza richiedere all’utente di rivelare le proprie credenziali di accesso. OAuth consente a un client che effettua una chiamata API di scambiare alcune credenziali per un token, il che consente al client di accedere all’API.
OAuth utilizza un token che identifica in modo univoco una singola applicazione o utente su un singolo dispositivo, mantenendo segrete le password. I token hanno portata; sono un meccanismo per limitare l’accesso di un’applicazione all’account di un utente. È molto meglio che usare una password con ampio accesso. Inoltre, l’ambito e la durata del token stesso possono essere facilmente limitati. È un’ottima soluzione, ma per essere sicuri, i team API devono avere familiarità con le capacità di OAuth e le migliori pratiche di autenticazione correnti.
Il monitoraggio delle API e altre funzionalità di gestione aiutano anche a proteggere le API. Ad esempio, alcune aziende applicano funzionalità come il controllo degli accessi in base al ruolo (RBAC), che assegna diversi livelli di accesso API e privilegi in base ai tipi di utenti integrati.
3. Mantenere il controllo con un’efficace gestione del traffico
Qualsiasi API potrebbe essere soggetta ad un attacco di brute force in qualsiasi momento. I cattivi potrebbero utilizzare un software automatizzato per generare un gran numero di ipotesi consecutive nel tentativo di ottenere l’accesso ai dati protetti o mettere a dura prova i back-end invocando le API a un throughput oltre a quello per cui sono state distribuite. Tali attacchi sono probabilmente inevitabili per le imprese digitali di successo: in un certo senso, sono i costi per fare affari. Pertanto, i team API dovrebbero sempre considerare l’utilizzo di limiti e quote per ulteriore sicurezza API.
Quando si verificano questi attacchi, i limiti di accesso e le quote ti aiutano a mantenere il controllo delle risorse digitali della tua organizzazione e proteggere le esperienze e la privacy dei tuoi clienti. Le piattaforme di gestione API che supportano i limiti di velocità consentono ai team API di stabilire soglie alle quali vengono attivati gli spike arresti, contribuendo a evitare che i back-end vengano colpiti da attività impreviste. Ad esempio, un team API potrebbe stabilire che nessuno dovrebbe chiamare un’API più di 500 volte al secondo o che a un’applicazione è assegnato solo un determinato numero di chiamate API al giorno.
4. Generare approfondimenti tramite analisi e monitoraggio
Le esperienze connesse uniscono risorse digitali che potrebbero essere effettivamente distribuite in una vasta gamma di aree geografiche, cloud pubblici e privati e provider di API. Un obiettivo di un’efficace gestione e sicurezza delle API è controllare questa architettura distribuita in modo unificato.
L’integrità di un programma API si basa spesso su effettivi handoff tra team di sicurezza e operativi. Se le capacità di reporting non possono essere chiaramente dimostrate quando una situazione richiede una squadra rispetto all’altra, può essere difficile facilitare un’efficace collaborazione di sicurezza.
Ciò rende importante valutare non solo se una piattaforma di gestione API fornisce funzionalità di monitoraggio e analisi, ma anche se l’integrazione di queste funzionalità acceleri effettivamente le soluzioni ai problemi aziendali.
A livello di funzionalità, ciò significa che report e dashboard efficaci dovrebbero fornire informazioni a colpo d’occhio, nonché la possibilità di eseguire il drill down per dettagli più dettagliati. Dovrebbe essere semplice vedere i cambiamenti nel traffico, anche di giorno in giorno, di settimana in settimana e così via; visualizzare gli schemi nei periodi di tempo scelti; accedere alle informazioni sulla gestione dei cambiamenti e sui dati di governance; e visualizzare i dati di configurazione dei criteri su base per API e per proxy.
5. Non dimenticare le basi
Proprio come nei giorni di sicurezza del firewall, condurre codice e revisioni della sicurezza aumenta la probabilità di trovare vulnerabilità prima che colpiscano i clienti. Aiuta anche a garantire che i difetti di sicurezza prodotti in una parte di un programma API siano documentati e non vengano ripetuti altrove.
I professionisti IT dovrebbero anche essere consapevoli del fatto che molti utili utenti API hanno riscontrato molti problemi di sicurezza. Un’altra best practice, quindi, è quella di stabilire canali per gli utenti per segnalare problemi, disporre di un programma per sviluppare correzioni e portarle in produzione e verificare con la persona che ha presentato il bug per confermare che il problema è stato veramente risolto.
Andando avanti
Nel mondo complesso di oggi, i perimetri di rete non contengono più tutte le esperienze e le interazioni che guidano il business. Per tenere conto di questo cambiamento fondamentale, le aziende dovrebbero considerare ogni API come un potenziale punto di leva aziendale e un possibile punto di vulnerabilità. Fatto bene, un’azienda può diventare ancora più sicura di quanto non fosse quando si nascondeva dietro un firewall e sperava nel meglio.