Certificato autofirmato per il server VPN SSTP

1

Sto sviluppando una soluzione VPN personalizzata che deve supportare SSTP per i client Windows. Per questo, il mio server deve autenticarsi utilizzando un certificato durante l'handshake SSL. Come al solito, Windows controllerà il suo set locale di certificati affidabili e deciderà se accettare o rifiutare la connessione.

Poiché al momento questo progetto non ha il budget per pagare un certificato ufficiale (da Verisign o da chiunque), mi piacerebbe usare un autofirmato per ora. Sfortunatamente, questo significa che dovrò chiedere ai miei utenti di installare questo certificato in modo che Windows possa autenticare con successo il mio server.

Ho due domande specifiche su questo scenario:

  • Se chiedo agli utenti di installare questo certificato autofirmato nelle loro "Autorità di certificazione radice attendibili", ciò rappresenta un rischio per la sicurezza (di QUALSIASI tipo!) per loro? Ad esempio, se qualcuno dovesse ottenere una sospensione della chiave privata del mio certificato, potrebbe utilizzarlo per impersonare qualsiasi altra entità (come Google o Facebook o una banca) semplicemente firmando il proprio certificato per tali nomi e facendo in modo che punti a il mio certificato di origine o potrebbero impersonare solo il mio server?

  • In tal caso, c'è un modo per dire a Windows di usare il mio certificato solo per autenticare il mio server SSTP, ma non per autenticare altri https o altre connessioni? Preferibilmente, si tratterebbe di un'azione che gli utenti possono facilmente eseguire o verificare piuttosto che solo alcune impostazioni all'interno del certificato.

posta Markus A. 29.07.2017 - 01:23
fonte

2 risposte

1

Non si desidera creare una distribuzione di un certificato CA. Questo ti farebbe prendere troppe responsabilità mentre qualcuno ti mette le mani sulla tua chiave privata CA sarà in grado di intercettare la maggior parte delle comunicazioni TLS da tutti i tuoi clienti falsificando i certificati di terze parti al volo.

Ciò che si desidera distribuire è solo un certificato autofirmato dell'utente finale con il nome comune che corrisponde al nome host visualizzato dai clienti. Tale certificato sarà sicuro da distribuire in quanto sarà utilizzabile solo per garantire la comunicazione con il tuo server.

Ovviamente, distribuisci solo il tuo certificato pubblico (solitamente questo è un file .pem o .crt ), mantieni private le tue chiavi private.

    
risposta data 29.07.2017 - 11:50
fonte
1

A meno che non includiate la vostra chiave privata o qualcosa come parte del pacchetto di certificati per un certificato di certificazione CA attendibile che distribuite agli host di Windows; la chiave privata sarebbe probabilmente compromessa in qualche altro modo.

Detto questo, se si tratta di un certificato di riferimento intermedio o CA interno; qualcuno che catturi un certificato di firma potrebbe usarlo ed eseguire un man-in-the-middle per fare decifrazione ssl "trusted" sulla rete della vittima o creare siti di phishing falsificati o altri contenuti dannosi per i tuoi utenti.

Se il tuo certificato autofirmato è puramente un certificato pubblico solo per l'autenticazione fiduciaria; in generale dovresti stare bene finché un utente malintenzionato decide di non prenderlo e rovinare il tuo server web.

In entrambi gli scenari, se questo sta accadendo in un ambiente test / dev per una dimostrazione di concetto, probabilmente hai problemi più grandi di cui preoccuparti riguardo alla tua sicurezza informatica.

Se sei davvero paranoico sull'autenticazione alternativa; è possibile aggiungere requisiti per i client affinché dispongano di un certificato sul lato client di cui il server è a conoscenza (autenticazione reciproca) tramite TLS. Esistono anche controlli compensativi in cui la vostra infrastruttura di sicurezza di rete consente solo l'accesso a SSTP su traffico SSL / TLS su una VLAN specifica o su un accoppiamento IP / MAC statico.

    
risposta data 29.07.2017 - 06:59
fonte

Leggi altre domande sui tag