Salta al contenuto principale
Sicurezza delle API: Come Proteggere le Interfacce di Programmazione del Tuo Sito Web e delle Web App | FAQ NEO WEB

Le API (Application Programming Interface) sono il sistema nervoso delle applicazioni web moderne: connettono il sito al gestionale, l'app mobile al backend, i form di contatto al CRM, il checkout al gateway di pagamento. Ogni connessione API è anche un potenziale punto di accesso per gli attaccanti — e molte aziende non ne sono consapevoli fino a quando non subiscono una violazione.

Secondo il report Gartner, le API sono diventate il vettore di attacco più frequente per le applicazioni web. Il motivo è strutturale: le API spesso espongono direttamente i dati del database, gestiscono autenticazioni e transazioni, e vengono sviluppate con pressioni sui tempi che lasciano vulnerabilità non risolte.

Le vulnerabilità API più comuni (OWASP API Security Top 10)

OWASP — l'organizzazione di riferimento per la sicurezza delle applicazioni web — ha pubblicato una lista specifica per le API, distinta dall'OWASP Top 10 generale:

  • Broken Object Level Authorization (BOLA/IDOR): l'API non verifica che l'utente autenticato abbia il diritto di accedere allo specifico oggetto richiesto. Esempio: cambiando l'ID nell'URL da /api/ordini/1234 a /api/ordini/1235 si accede all'ordine di un altro cliente.
  • Broken Authentication: token deboli, JWT senza scadenza, password senza rate limiting, refresh token non invalidati al logout.
  • Excessive Data Exposure: l'API restituisce più dati del necessario (es. l'intera riga del database invece dei soli campi necessari), lasciando al frontend il compito di filtrare — ma i dati sono già stati trasmessi.
  • Lack of Rate Limiting: nessun limite alle richieste per IP o utente, abilitando brute force su credenziali, scraping del catalogo o abuso di endpoint costosi.
  • Security Misconfiguration: CORS mal configurato, debug mode attivo in produzione, stack trace esposte nelle risposte di errore, metodi HTTP non necessari abilitati.

Best practice per la sicurezza delle API

Autenticazione e autorizzazione

  • Usa OAuth 2.0 per l'autorizzazione e OpenID Connect per l'autenticazione su API esposte a terze parti
  • Implementa JWT (JSON Web Token) con scadenza breve (15-60 minuti) e refresh token rotanti
  • Valida i permessi a livello di oggetto, non solo a livello di endpoint: l'utente A non deve poter accedere ai dati dell'utente B
  • Usa chiavi API con scope limitati per le integrazioni machine-to-machine

Protezione degli endpoint

  • Rate limiting: limita il numero di richieste per IP, per utente e per endpoint specifico
  • Input validation: valida e sanitizza ogni parametro in input — tipo, lunghezza, formato — lato server, mai solo lato client
  • HTTPS obbligatorio: nessuna API deve essere accessibile via HTTP non cifrato
  • CORS configurato correttamente: definisci esplicitamente i domini autorizzati, mai wildcard (*) su API con dati sensibili

Visibilità e monitoraggio

  • Logga tutte le richieste alle API con timestamp, IP, utente, endpoint e response code
  • Imposta alerting su pattern anomali: picchi di richieste, errori 401/403 ripetuti, accessi da geografie insolite
  • Esegui vulnerability assessment periodici specifici per le API, distinti dagli audit generali del sito

API gateway: il layer di sicurezza centralizzato

Per applicazioni con molti endpoint API, un API gateway centralizza autenticazione, rate limiting, logging e routing in un unico punto di controllo, riducendo la complessità della sicurezza nei singoli microservizi o endpoint. Soluzioni come Kong, AWS API Gateway o Azure API Management sono i riferimenti del settore.

NEO WEB sviluppa web app e integrazioni API seguendo le linee guida OWASP API Security, con revisione della sicurezza integrata nel processo di sviluppo. Se hai dubbi sulla sicurezza delle API del tuo sito o applicazione, contattaci per un'analisi tecnica.