Mi sono appena reso conto che gli attacchi man-in-the-middle SSL sono molto più comuni di quanto pensassi, specialmente negli ambienti aziendali. Ho sentito parlare di me stesso e ho visto diverse aziende che dispongono di un server proxy SSL trasparente. Tutti i client sono configurati per fidarsi del certificato di questo proxy. Ciò significa fondamentalmente che il datore di lavoro in teoria può intercettare anche il traffico crittografato SSL senza che vengano visualizzati avvisi nel browser. Come accennato in precedenza, i client arrivano con il certificato di fiducia. Questo può essere rivelato solo convalidando manualmente il certificato che viene utilizzato.
Per me, sembra che il datore di lavoro utilizzi la sua posizione superiore per spiare il traffico SSL del dipendente. Per me, questo rende l'intero concetto di SSL inaffidabile. Io stesso ho testato con successo una configurazione simile usando mitmproxy e sono stato in grado di leggere la comunicazione tra il client e il mio server bancario elettronico. Questa è un'informazione che non dovrebbe essere rivelata a nessuno.
Pertanto, la mia domanda è piuttosto semplice: come posso convalidare la catena di fiducia sul lato server? Voglio assicurarmi che il client usi il certificato del mio server e solo una catena di fiducia. Mi chiedo se ciò può essere ottenuto con la configurazione SSL di Apache? Ciò sarebbe conveniente in quanto potrebbe essere facilmente applicato a molte applicazioni. Se ciò non è possibile, qualcuno conosce un modo per farlo in PHP? O hai altri suggerimenti?