Autorizzazione IP per chiavi API
Uccello
19 ago 2015
1 min read

Conclusioni principali
Le chiavi API sono potenti credenziali — se compromesse, gli aggressori possono inviare email, rubare dati o impersonare il tuo marchio.
Forzare una chiave esadecimale di 40 caratteri è praticamente impossibile; le vere minacce provengono dall'esposizione (attacchi MITM, repository di codice non sicuri, credenziali trapelate).
Usa sempre HTTPS e convalida i certificati SSL per prevenire l'intercettazione delle tue chiavi API.
La whitelist degli IP aggiunge un livello critico di protezione limitando l'uso di una chiave a IP specifici o intervalli di IP.
Anche se un aggressore ruba la tua chiave API, non può usarla a meno che non si stia collegando da un IP approvato.
Il supporto CIDR rende facile autorizzare intere reti senza elencare ogni server.
Evita di incorporare chiavi API nel codice — usa invece variabili d'ambiente o soluzioni di gestione dei segreti sicure.
Crea più chiavi API a campo ristretto invece di una singola chiave “do-everything” — ciascuna con permessi limitati e la propria whitelist.
Per integrazioni di terze parti, crea chiavi dedicate con concessioni e IP limitati.
Abilita l'autenticazione a due fattori sul tuo account poiché le chiavi API possono essere create solo tramite l'interfaccia utente.
Rivedi, ruota e ritira regolarmente le chiavi per mantenere una forte sicurezza operativa.
Q&A Highlights
Che cos'è il whitelisting IP?
È una funzione di sicurezza che limita l'uso della chiave API a indirizzi IP specifici o a intervalli di IP.
Perché SparkPost/Bird utilizza le chiavi API per l'autenticazione?
Le chiavi API sono semplici, ampiamente adottate e funzionano perfettamente con le API REST e SMTP.
Cosa succede se qualcuno ruba la mia API key?
Potrebbero inviare email per tuo conto, scaricare elenchi di destinatari, modificare modelli o inviare phishing/spam che danneggiano il tuo brand.
Le chiavi API possono essere attaccate con forza bruta?
Praticamente impossibile. Una stringa esadecimale di 40 caratteri ha ~1,46e48 combinazioni — attaccarla con la forza bruta richiederebbe più tempo dell'età dell'universo.
Quindi come fanno gli attaccanti normalmente a ottenere le chiavi API?
Attacchi man-in-the-middle (se SSL non è verificato), chiavi esposte in repository pubblici di GitHub, o log che perdono accidentalmente le chiavi.
Come aiuta l'IP whitelisting?
Anche se un aggressore ruba la tua chiave, non funzionerà a meno che non si stiano connettendo da un IP approvato.
Posso inserire nella whitelist intere reti?
Sì, tramite la notazione CIDR — ideale per server bilanciati, VPN o intervalli di uffici statici.
Il whitelisting si applica sia a REST che a SMTP?
Sì, l'IP della richiesta in arrivo deve corrispondere alla tua whitelist.
Quanti IP o intervalli posso mettere nella whitelist?
Quanti ne hai bisogno — più IP individuali o blocchi.
Dovrei utilizzare un solo API key per tutto?
No. Crea chiavi separate per diversi sistemi, team o fornitori. Questo migliora la sicurezza e rende le chiavi più facili da ruotare o revocare.
Dove dovrei conservare API keys?
Utilizzare le variabili di ambiente — non inserire mai direttamente le chiavi nei file sorgente o nei repository pubblici.
Ulteriori best practice di sicurezza?
Attiva sempre la 2FA sul tuo account SparkPost/Bird e crea chiavi dedicate per terze parti con autorizzazioni minime e le loro whitelist.



