È necessario abilitare SSL per client e server eseguiti nella stessa macchina?

2

Ho un server HTTP REST in ascolto sulla porta localhost e un client HTTP viene eseguito localmente e parla con il server. Il client può inviare informazioni sensibili (credenziali, ecc.) Al server e le credenziali vengono crittografate / decodificate dall'API di Windows.

In questo caso, devo avvolgere il server HTTP con SSL (per essere server HTTPS)?

    
posta Lee 01.08.2016 - 23:49
fonte

2 risposte

4

No. Non è affatto necessario. Primo, perché l'acquisizione / modifica dei pacchetti richiede diritti di amministratore. In secondo luogo, con i diritti di amministratore, sei anche in grado di modificare altri processi che non possiedi, quindi puoi modificare / leggere la RAM per il client o il server prima che i dati vengano crittografati dal livello SSL o dopo essere decodificati dal SSL layer.

Quindi SSL non contribuirà né comprometterà nulla in termini di sicurezza, avrà un effetto zero. Potrebbe avere effetto sulle prestazioni.

Inoltre, poiché la chiave privata per il certificato deve essere memorizzata sullo stesso computer, l'utente malintenzionato potrebbe rubare quella chiave e utilizzarla per leggere / modificare il traffico locale.

Quindi SSL renderà solo il debug più difficile e non aggiungerà nulla.

    
risposta data 02.08.2016 - 00:19
fonte
1

Vale la pena tenere a mente che solo perché un server è collegato all'interfaccia di loopback non preclude al codice malevolo l'esecuzione di richieste del server da qualsiasi altra parte del tuo computer anche senza accesso amministrativo per sniffare il traffico di altri client che interagiscono con il server . Vedi la serie di vulnerabilità richiamate alla fine dello scorso anno: link

Questo non significa che tu abbia bisogno di SSL / TLS; significa che dovresti tenerlo a mente durante la progettazione del server locale.

    
risposta data 02.08.2016 - 04:35
fonte

Leggi altre domande sui tag