Dovremmo abilitare TLS sulla connessione back-end dopo il proxy inverso? [duplicare]

1

Ho un proxy inverso (ad esempio nginx, nghttpx, haproxy) che trasmette la connessione a un servizio in esecuzione sullo stesso server fisico. Penso che il modo più comune per configurare questa configurazione è di abilitare TSL solo sul frontend e lasciare la connessione back-end non protetta. In altre parole, il proxy inverso è il punto di terminazione TLS.

Perché non ci sono problemi di sicurezza quando si lascia il back-end non protetto?

Se un client malevolo conosce l'indirizzo / la porta di un servizio di back-end, non può collegarsi direttamente senza un certificato valido e questo non rappresenta un enorme rischio per la sicurezza?

    
posta sh0731 27.06.2018 - 05:02
fonte

2 risposte

3

Le connessioni al server back-end dovrebbero essere rifiutate quando provengono da un indirizzo esterno, cioè da qualche altra macchina al di fuori della macchina / sottorete sicura. Questo si ottiene configurando il server back-end e / o il sistema operativo. Se questo non è impostato correttamente, sì, potrebbe portare a una grave violazione della sicurezza.

Le connessioni generalmente protette non richiedono però un certificato client. Di solito il certificato dimostra l'autenticità del server piuttosto che il client (ma ci sono alcune eccezioni). Per autenticare il client è necessario un altro meccanismo (ad es. Autenticazione di base, cookie, OAuth).

    
risposta data 27.06.2018 - 08:38
fonte
1

La configurazione oltre il punto di terminazione TLS, in genere, è tale che verranno accettate solo le connessioni da determinati indirizzi IP interni (in genere lo stesso server). Ad esempio, se Nginx è configurato come proxy inverso e terminatore TLS, e proxy_passes php richiede ad Apache sulla porta 8080, qualcuno al di fuori della rete non dovrebbe essere in grado di connettersi direttamente ad Apache - solo il proxy inverso dovrebbe essere in grado di passare richieste ad esso. Un firewall dovrebbe essere configurato per bloccare tutte le richieste alla porta 8080 sul server con sia il proxy inverso che l'entità back-end su di esso.

Potresti usare anche qualcosa chiamato SSL upstream , che fa crittografa il traffico oltre il proxy inverso. Questo di solito accade quando il traffico viene inoltrato a un server in un'altra posizione (su un protocollo non protetto).

    
risposta data 27.06.2018 - 05:25
fonte

Leggi altre domande sui tag