Per proteggere la sua pubblica API HTTP (il cosiddetto REST), il mio cliente mi chiede di implementare un semplice proxy inverso HTTP che verificherà (OAuth 2.0) i token di accesso e inoltrerà le richieste HTTP ai servizi Web interni per l'elaborazione.
L'idea è che il mio cliente abbia una "strong" sicurezza a livello di rete: le varie applicazioni web poste dietro il proxy non comporterebbero alcun vincolo di sicurezza dato che non possono essere accessibili dall'esterno. Vogliono mantenere il debug facile quando più servizi interni si chiamano a vicenda. Semplice http per chiamate interne, nessun TLS.
Penso che sia una pessima idea lasciare le applicazioni interne "spalancate" perché qualsiasi attaccante che riesca ad entrare nella rete ha sostanzialmente libero accesso ai dati sensibili (chiari) dei clienti ... e la storia sembra dimostrare che succede molto Da un punto di vista operativo, sarà difficile applicare vincoli a grana fine come ACL da un proxy (ambiti OAuth / corrispondenza URL) e mantenere aggiornata la configurazione quando vengono distribuiti nuovi servizi.
Ragazzi, vedete qualcosa che mi manca? Qualsiasi argomento aggiuntivo per l'implementazione della sicurezza a livello di applicazione?
EDIT: alcuni dettagli importanti che non ho menzionato / illustrato chiaramente:
- Le applicazioni web di cui sto parlando (nascondendosi dietro solo un proxy di sicurezza) sono tutti i servizi Web.
- Le applicazioni Web con interfacce utente ("siti" pubblici / interni) si trovano in un'altra zona di rete e offrono una sicurezza decente a livello di applicazione rispetto ai servizi Web in questione.
La sicurezza di rete "strong" che ho menzionato riguarda tutte le zone, gli utenti finali (e gli addetti ai lavori non autorizzati) non possono teoricamente accedere ai servizi web direttamente (solo attraverso il proxy). Suppongo che gli ops possano ancora offrire un qualche tipo di percorso quando accedono alle macchine, come indicato nelle risposte.