Perché e come proteggere l’endpoint API?

Come stai proteggendo la tua API?


È l’era dell’esplosione dell’economia digitale e enormi carichi di dati vengono convogliati attraverso le API. Affari, giochi, educazione, scienza, arte. . . lo chiami, tutto funziona su API. Per un mondo fondamentalmente dipendente dalle API, c’è sorprendentemente poca attenzione alla sicurezza.

Per gli sviluppatori, i valori predefiniti dei loro framework sono sufficienti; o peggio ancora, quando non vengono utilizzati framework, pensano di seguire pratiche sicure. Per gli amministratori di sistema, la sicurezza predefinita offerta dalla loro infrastruttura o dal fornitore di servizi è ciò su cui si basano.

Non è affatto uno spettacolo, se me lo chiedi.

Fonte: developer.ibm.com

Inutile dire che c’è in ballo molto, che realizziamo solo quando qualcosa veramente terribile succede.

Ma prima le cose principali. ��

Perché proteggere gli endpoint API?

Questo deve essere un gioco da ragazzi, giusto? Dobbiamo proteggere gli endpoint perché, beh, da questo dipende l’azienda.

Mentre questo è un argomento abbastanza forte in sé, voglio ampliare un po ‘il punto di vista ed evidenziare altre conseguenze correlate, ma ugualmente mortali.

Perdita di affari

Questo è ovvio. Se qualcuno riesce a pasticciare con i tuoi endpoint API, tutto si fermerà. Le violazioni della sicurezza possono anche richiedere molto tempo per riprendersi, il che si traduce in suicidio in termini commerciali. Sebbene sia vero che la maggior parte delle attività commerciali probabilmente non subiranno un’ora o due di downtime, per alcuni non è consentito.

Immagina un cambio di valuta in calo per alcuni minuti!

Problemi di conformità

Non proteggere correttamente le tue API può metterti in seria difficoltà, a seconda delle aree geografiche o delle industrie con cui hai a che fare. Ad esempio, se stai servendo il settore bancario (soprattutto nell’UE), il costo di essere scoperto al servizio di API non sicure comporterà enormi problemi legali e di conformità. Tanto che potrebbe addirittura segnare la fine della tua attività.

Perdita di reputazione

Essere hackerati è abbastanza doloroso in sé, ma se la notizia viene diffusa in pubblico, ci sarà una perdita irrecuperabile per l’immagine del tuo marchio. Ad esempio, la Sony è stata hackerata molto male alcune volte ormai, e nei circoli di sicurezza, la società è una zimbello di sorta.

Anche se non si verifica alcuna perdita effettiva di dati o denaro, buona fortuna cercando di convincere i tuoi clienti in affanno. ��

Fatture infrastrutturali gonfiate

Quando l’API viene eseguita su un’infrastruttura, consuma risorse (larghezza di banda, CPU e memoria, principalmente). Ad esempio, dove l’API non è protetta in modo appropriato e gli estranei malintenzionati sono in grado di interagire con esso, è possibile per loro forzare l’API a continuare a svolgere un sacco di lavoro inutile (eseguendo query di database pesanti, ad esempio), che possono sparare le tue fatture per motivi.

Su piattaforme in cui è abilitato il ridimensionamento automatico delle risorse (come AWS), i risultati possono essere scioccanti (fuori tema, ma se mai vieni coinvolto in una zuppa come questa su AWS, sono abbastanza comprensivi della situazione e prontamente rinunciano al conto gonfiato – almeno per iscritto!).

Il morale della squadra

Quindi, potresti pensare, la squadra che ha permesso a questi compromessi perderà morale su di loro? Beh, non proprio. È possibile che i compromessi siano dovuti alla debole sicurezza delle infrastrutture, che scoraggerà gli sviluppatori o viceversa.

Se questo dovesse accadere abbastanza tempo, avrai una cultura a portata di mano che ti pentirai di aver sviluppato.

I guadagni della concorrenza

Quindi supponiamo che ci sia stata una violazione ma che non ci siano state perdite effettive. Tuttavia, i tuoi concorrenti useranno l’incidente per potenziare la propria API e affermare quanto è più sicura la loro (anche se non lo è!). Ancora una volta, buona fortuna cercando di convincere il mercato. ��

Tutto sommato, ci sono conseguenze per le violazioni della sicurezza che vanno oltre la perdita di denaro.

Best practice per la protezione degli endpoint API

Per fortuna, ci sono alcune pratiche facili da implementare e ben comprese che puoi applicare ai tuoi endpoint API per proteggerli. Ecco cosa consiglia la maggior parte degli esperti di sicurezza.

HTTPS sempre

Se i tuoi endpoint API consentono ai consumatori API di parlare tramite http o altri protocolli non sicuri, li stai mettendo a rischio. Password, chiavi segrete e informazioni sulla carta di credito possono essere facilmente rubate come qualsiasi attacco man-in-the-middle o lo strumento sniffer pacchetti possono leggerli come testo semplice.

Quindi, rendi sempre https l’unica opzione disponibile. Non importa quanto possa sembrare banale un endpoint, la connessione tramite http non dovrebbe nemmeno essere un’opzione. Il certificato TLS non costa molto, puoi acquistare a partire da $ 20 Archivio SSL.

Hashing password unidirezionale

Le password non devono mai essere archiviate come testo normale, poiché nel caso in cui si verifichi una violazione della sicurezza, tutti gli account utente saranno compromessi. Allo stesso tempo, la crittografia simmetrica dovrebbe essere rigorosamente evitata, poiché qualsiasi attaccante abbastanza ingegnoso e persistente sarà in grado di romperli.

L’unica opzione suggerita sono gli algoritmi di crittografia asimmetrici (o “unidirezionali”) per l’archiviazione delle password. In questo modo, né un utente malintenzionato né alcuno sviluppatore o amministratore di sistema all’interno dell’azienda potranno leggere le password dei clienti.

Autenticazione forte

Ora, quasi tutte le API hanno una forma di autenticazione, ma secondo me il sistema OAuth2 funziona al meglio. A differenza di altri metodi di autenticazione, divide il tuo account in risorse e consente solo un accesso limitato al portatore di token di autenticazione.

Allo stesso tempo, un’altra pratica molto buona per impostare i token in modo che scada ogni 24 ore, in modo che debbano essere aggiornati. In questo modo, anche il token viene trapelato, esiste la possibilità che la scadenza di 24 ore riduca l’impatto della violazione.

Applicare la limitazione della velocità

A meno che tu non abbia un’API utilizzata da milioni di persone ogni minuto, è una buona idea applicare un limite al numero di chiamate che un client può effettuare all’API in una determinata finestra temporale.

Ciò serve principalmente a scoraggiare i robot, che possono continuare a inviare centinaia di richieste simultanee ogni secondo e fare in modo che l’API diventi risorse di sistema senza motivo. Tutti i framework di sviluppo web sono dotati di un middleware che limita la velocità (e, in caso contrario, è abbastanza facile aggiungerlo tramite una libreria) che richiede solo un minuto per configurare.

Convalida input

Sembra un gioco da ragazzi, ma rimarrai sorpreso dal numero di API disponibili. Convalidare l’input non significa solo verificare che i dati in arrivo siano nel formato corretto, ma anche che non siano possibili sorprese. Un semplice esempio è l’iniezione SQL, che può cancellare i database se si lasciano passare le stringhe di query con un controllo minimo o nullo.

Un altro esempio è convalidare la dimensione della richiesta POST e restituire un codice di errore e un messaggio appropriati al client. Cercare di accettare e analizzare input ridicolmente grandi servirà solo a far saltare l’API.

Applicare il filtro dell’indirizzo IP, se applicabile

Se ti piacciono i servizi B2B e le tue API vengono utilizzate dalle aziende da determinate località, considerando l’aggiunta di un ulteriore livello di sicurezza che limita l’indirizzo IP che può accedere all’API. Per ogni nuova posizione e nuovi client, l’indirizzo IP dovrà essere verificato rispetto alla richiesta in arrivo.

Sì, aggiunge fastidio all’onboarding, ma il risultato finale è una sicurezza molto più severa di quanto non si possa ottenere altrimenti.

Strumenti per aumentare la protezione API

Esistono strumenti che possono aiutarci a scansionare la vulnerabilità, o ancora meglio, offrendo la prima linea di difesa quando si tratta di proteggere le API?

Per fortuna si. Esistono diversi strumenti che puoi utilizzare, ma tieni presente che alla fine nessuna strategia di sicurezza è perfetta. Detto questo, questi strumenti possono aumentare molte volte la sicurezza dell’API, quindi sono consigliati.

Metasploit

Metasploit è un framework open source estremamente popolare per i test di penetrazione di app Web e API. Può eseguire la scansione dell’API su diversi parametri diversi ed eseguire un controllo di sicurezza completo per i diversi livelli di vulnerabilità presenti.

Ad esempio, la scansione di sicurezza condotta da Metasploit può dirti se le tue firme API forniscono o meno le tecnologie e il sistema operativo sottostanti; nascondere questo è spesso metà della battaglia vinta in termini di sicurezza API.

Mentre il framework di base open source è generalmente sufficiente, ci sono ottimi prodotti a pagamento costruiti su Metasploit che meritano una visita. Il piano professionale è ottimo se desideri un supporto premium e utilizzerà il framework in modo approfondito, ma generalmente non è necessario se il tuo team ha esperienza sufficiente.

Cloudflare

Non solo CDN ma Cloudflare offrire numerose funzionalità di sicurezza come WAF, limitazione della velocità, protezione DDoS che sarà essenziale per proteggere l’API dalle minacce online.

Netsparker

Netsparker viene fornito con un USP di “scansione basata su prove”. In termini più semplici, è spesso possibile che condizioni di rete irregolari o alcuni comportamenti API meno noti vengano interpretati come falle di sicurezza, che in seguito vengono riscontrate errate.

Ciò spreca risorse poiché tutte le vulnerabilità segnalate devono essere nuovamente sottoposte a scansione manuale per confermare che non sono falsi positivi. Netsparker afferma che lo strumento è in grado di fornire una prova del concetto abbastanza forte per i report, eliminando i dubbi sui collegamenti deboli trovati.

Con aziende come Sony, Religare, Coca-Cola, Huawei, ecc., Nella loro lista di clienti, puoi essere sicuro che queste persone stanno facendo qualcosa di giusto. �� A proposito, hanno anche un incredibile blog sulla sicurezza web che dovresti seguire.

SoapUI Pro

Costruito da SmartBear, SoapUI Pro è un modo intuitivo e semplice per creare test API e ottenere report precisi basati sui dati. Si integra perfettamente anche con la pipeline CI / CD, assicurandosi che nessuna nuova aggiunta di codice stia compromettendo la sicurezza dell’API.

SoapUI è in grado di lavorare con Swagger, OAS e altri standard API comuni, riducendo significativamente i tempi di inizio. Con clienti come Microsoft, Cisco, MasterCard, Oracle, ecc. E piani a partire da $ 659 all’anno, questo è uno strumento degno di API più sicure.

Trustwave

Trustwave è una suite di soluzioni incentrate sulla scansione di sicurezza e sulla protezione avanzata. Una delle cose uniche di questo servizio è che non solo esegue un rilevamento accurato delle minacce sulla tua API ma ti aiuta anche a capire come risolverli.

Trustwave esegue ciò che chiama scansione sensibile al contesto, il che significa che una volta rilevato un sistema operativo o un’infrastruttura sottostante, il servizio esegue una serie di controlli correlati per assicurarsi che non siano presenti brutte falle di sicurezza relative a quella piattaforma.

Vantano anche un forte team di ricercatori sulla sicurezza che aggiornano continuamente le funzionalità del servizio. Se ami la conformità, Trustwave è una buona soluzione.

Se si vive in base ai numeri e si desidera godere di funzionalità come la risposta alle minacce, la ripetizione con un clic dei test dopo le correzioni e così via, non cercare oltre!

C’è non mancano di strumenti di sicurezza API disponibili sul mercato, siano essi open source, gratuiti o commerciali o una combinazione di questi. Sentiti libero di esplorare di più e se trovi qualcosa di ancora migliore, ti preghiamo di scrivere nei commenti e saremo felici di includerlo! ��

TAGS:

  • API

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map