it-swarm.it

È una cattiva pratica usare certificati SSL autofirmati?

I certificati SSL sono piuttosto costosi per le persone, soprattutto se è necessario proteggere diversi sottodomini. Sto prendendo in considerazione l'uso di certificati autofirmati, poiché il mio obiettivo principale è proteggere la connessione e non autenticarmi.

Tuttavia, diversi browser visualizzano avvisi spiacevoli quando incontrano un tale certificato. Scoraggeresti l'uso di certificati autofirmati (ad esempio per piccole applicazioni web o la pagina di amministrazione di un piccolo sito Web)? O va bene in alcuni casi?

29
Wookai

In generale è male usare un certificato autofirmato. Se lo fai, corri il rischio che le persone lascino il tuo sito quando ricevono un avviso sul fatto che il tuo certificato è cattivo. Ancora più importante, stai correndo un rischio maggiore di avere qualcuno che fa un attacco di iniezione in cui usano il proprio certificato autofirmato al posto tuo e il visitatore non lo saprà meglio.

Consulta l'articolo qui, http://www.sslshopper.com/article-when-are-self-signed-certificates-acceptable.html per qualche informazione in più su di esso.

14
Ben Hoffman

Come ha detto RandomBen, i certificati autofirmati sono generalmente disapprovati per le ragioni che ha spiegato. Ma c'è una situazione in cui stanno bene: se l'insieme di persone che hanno bisogno di inviare dati sensibili al tuo sito Web è piccolo e limitato, sono tutti in qualche modo tecnicamente competenti e sei in grado di comunicare con tutti loro. In tal caso, puoi fornire a ciascuno i dettagli del certificato, quindi può controllare manualmente il certificato quando accede al tuo sito e aggiungere un'eccezione di sicurezza, se del caso.

A titolo di esempio estremo, sul mio VPS personale ho un sottodominio amministrativo, al quale dovrei accedere sempre e solo da me. Non ci sarebbero problemi a proteggere quel dominio con un certificato autofirmato perché posso verificare manualmente che il certificato del server utilizzato per proteggere la connessione sia lo stesso che ho installato sul server.

Nei casi in cui un certificato autofirmato non funzionerà o preferiresti averne uno "reale", ti consiglio Let's Encrypt , un progetto avviato da Internet Security Research Group e supportato dai principali Internet aziende che offrono certificati SSL gratuitamente. Possono farlo perché il processo di verifica che usano è completamente automatizzato, e infatti può ottenere un web server che supporta il loro protocollo ACME (come Caddy , che attualmente uso) certificati interamente autonomi. Let's Encrypt non verifica che tu , come persona, sei quello che dici di essere; verifica solo che il tuo server web sia in grado di pubblicare contenuti sul dominio a cui afferma. Let's Encrypt è supportato da tutti i principali browser, ma è noto che la verifica è minima, quindi se stai eseguendo qualcosa come un sito di e-commerce o qualcosa in cui le persone invieranno informazioni sensibili, probabilmente dovresti spendere i soldi per ottenere un certificato con un livello superiore di convalida.

In passato raccomandavo i certificati StartSSL gratuiti da StartCom per le persone che non volevano pagare per la convalida, ma non più. StartCom è stata segretamente acquisita da WoSign nel 2016 e successivamente ha rilasciato certificati illegittimi per diversi domini. Di conseguenza, i principali browser hanno rimosso il supporto per i certificati StartCom. (Per quanto ne so, IE non li ha mai supportati comunque.) In ogni caso, Let's Encrypt è molto più conveniente.

14
David Z

È non cattiva pratica usare certificati autofirmati. I certificati autofirmati hanno molti scopi pratici per i quali semplicemente non ha senso utilizzare un certificato firmato dall'autorità di certificazione.

Ad esempio, su molti dei miei server, ho configurato l'accesso senza password. Si tratta di server a cui mi collego così frequentemente e a volte mantengo aperte più connessioni SSH, che è una seccatura digitare il mio nome utente e la mia password ogni volta.

Invece, utilizzo un certificato SSL autofirmato che genera su ciascuna delle mie macchine client (una workstation in ufficio, un laptop e la mia workstation di casa). Questo tipo di installazione mi consente di utilizzare passphrase abbastanza lunghe, sicure e completamente uniche per ciascuno dei miei server senza influire sulla produttività. E poiché ho accesso diretto ai server su cui posso installare la chiave pubblica per ciascun certificato, non ho senso utilizzare un certificato firmato dalla CA.

Io potrei configurare la mia CA principale con la quale posso firmare tutti i certificati di uso interno per la nostra azienda, e in questo modo dovrei solo installa una singola chiave pubblica su ciascun server. Tuttavia, la nostra organizzazione non è cresciuta fino a raggiungere le dimensioni che lo rendono davvero necessario e, ai fini dell'HTTP sicuro, sarebbe sempre lo stesso di avere un certificato autofirmato.

Allo stesso modo, i certificati autofirmati vengono spesso utilizzati per connessioni e-mail, firma PGP e connessioni da server a server in cui è banale pre-scambiare chiavi pubbliche. In molti di questi casi, questo è in realtà più sicuro che fare affidamento su una catena di certificati che potrebbe essere compromessa in qualsiasi punto della catena.

3
Lèse majesté

Se stai proteggendo più sottodomini, potresti voler usare certificati jolly , che (a seconda di quanti sottodomini stai proteggendo) potrebbe risultare significativamente più economico rispetto all'acquisto di uno per dominio; ad esempio RapidSSL ha il carattere jolly che diventa più economico dei singoli certificati una volta che hai quattro domini in uso.

2
Cebjyre