Applicazioni senza server front-end

2

Stiamo creando un server che verrà esposto a Internet da un fornitore che non ha un front-end ufficiale del fornitore.

Anche se questo server di applicazioni Web estrae i dati dalle risorse sql interne, temo che questo server possa essere compromesso.

Quando gli ho chiesto della sicurezza di questo, hanno detto che se volevo avrei potuto semplicemente mettere un proxy inverso come NGINX di fronte ad esso.

Abbiamo già load balancer che sto pensando di utilizzare. È accettabile semplicemente mettere questo server dietro load balancer che fondamentalmente sono proxy inversi per cominciare, o si dovrebbe caricare load balancer e nginx (cioè un double reverse proxy?)

Il server delle applicazioni è un prodotto Web che verrà pubblicato sulle porte 80 e 443. Tecnicamente, ssl vivrà sul sistema di bilanciamento.

Questo mi ha fatto pensare anche a noi, la nostra moderna webmail per lo scambio di mail server non ha un front end Microsoft ufficiale per la webmail. Microsoft non produce questo prodotto.

I giorni di DMZ sono in favore di altre offerte di sicurezza multilivello?

    
posta Tom B 22.09.2016 - 23:40
fonte

2 risposte

2

L'uso della DMZ è una strategia per "staccare" l'applicazione dalla rete più ampia, ma non affronta le vulnerabilità all'interno dell'applicazione o del suo ambiente di esecuzione.

Potresti certamente mettere in quarantena il server delle applicazioni in una DMZ come parte dei controlli di sicurezza. Come @Julian Knight dice che un proxy inverso può attenuare alcuni attacchi.

Per quanto riguarda l'introduzione di un 'altro' reverse proxy (NGINX) nell'architettura, chiedere 'quali ulteriori funzionalità di sicurezza o funzionalità fornisce?'. La semplice duplicazione delle funzionalità già fornite dai proxy inversi esistenti influisce solo sulle prestazioni e sulla manutenibilità e potenzialmente introduce ulteriori problemi di sicurezza in caso di errori di configurazione. Per non parlare del costo di gestione dei servizi / server aggiuntivi. Una domanda sfacciata da porre al fornitore della tua applicazione sarebbe: "Garantisci che la mia applicazione sarà sicura se introduco NGINX nell'architettura? :.)'

Penso che sia importante guardare alla sicurezza dell'applicazione stessa. È stato testato indipendentemente la sicurezza? Ci sono vulnerabilità note? Ci sono molte vulnerabilità che un proxy inverso non ti proteggerà da ... attacchi di iniezione, per esempio.

Oltre all'implementazione di controlli di sicurezza appropriati all'interno dell'applicazione e del relativo ambiente di esecuzione, un Web Application Firewall (WAF ) è un tipo di proxy inverso che può prevenire alcuni attacchi comuni alle applicazioni Web (ad esempio SQL / Command injection). Vale la pena controllare se i tuoi proxy esistenti hanno questa capacità.

Ma ovviamente, prima di tutto guardate al contesto aziendale dell'applicazione e all'impatto di vari attacchi riusciti. Questo dovrebbe guidare quanto sforzo dovrebbe essere posto sulla protezione dell'applicazione.

    
risposta data 23.10.2016 - 07:44
fonte
1

L'utilizzo di NGINX o altri strumenti di bilanciamento del carico aiuterà un po 'a proteggere la sicurezza dell'applicazione. Protegge dalle vulnerabilità della sicurezza delle app server e supporta la resistenza dagli attacchi DDOS.

Inoltre, l'offload del protocollo SSL sul livello proxy può aiutare a migliorare le prestazioni generali e, di nuovo, a mitigare eventuali difetti nell'implementazione SSL (TLS) dei server delle app. Essere un server comune con un sacco di sviluppo aperto tende a significare che i problemi di sicurezza vengono rilevati e risolti più rapidamente nei server web / proxy rispetto ai server delle app.

La cosa principale è che qualcosa come NGINX può essere configurato pensando alla sicurezza e fornire un ulteriore strato esterno ben supportato.

In termini di design della rete, i server Web front-end opereranno in una DMZ e quindi saranno separati da app di back-end e server di database tramite un firewall. Potresti anche scegliere di installare i server delle app in DMZ o anche di avere una DMZ interna ed esterna se hai bisogno di ulteriore sicurezza, anche se dovrai anche prendere in considerazione i problemi di prestazioni.

Se è necessaria o meno un'infrastruttura aggiuntiva, la funzione di bilanciamento del carico dipenderà anche da fattori di cui non siamo a conoscenza. Cose come le prestazioni dei server delle app, numero di connessioni client, larghezza di banda disponibile, disponibilità e prestazioni dei server (virtuali) e così via.

Come per il tuo esempio di scambio. Exchange è specificamente progettato per essere ridimensionato utilizzando molti server di commodity. Tuttavia, è più comunemente implementato dietro diversi livelli di protezione incluso e livello di trasporto edge, gestione di virus / spam, protezione dalle intrusioni e prevenzione della perdita di dati. Poiché la maggior parte di queste richiede l'ispezione del contenuto, è anche comune scaricare SSL / TLS sul perimetro.

La progettazione dettagliata dipende dal valore dei dati, dall'esposizione dei dati, dal volume, dal tipo e da molti altri fattori, nonché dalla propensione al rischio delle organizzazioni e dal fatto che stiate operando in un settore regolamentato. Dato che non ne sappiamo nulla, non possiamo commentare queste specifiche.

La DMZ non è morta ma può essere più sfumata.

    
risposta data 23.09.2016 - 01:21
fonte

Leggi altre domande sui tag