Progetto

Generale

Profilo

SSLDHParam » Cronologia » Versione 4

Simone Piccardi, 03-07-2024 16:11

1 1 Simone Piccardi
h1. Generare manualmente un parametro di Diffie-Hellman
2
3 4 Simone Piccardi
Per la maggior sicurezza possibile nell'uso di SSL, ed in particolare per la robustezza della Perfect Forward Security (la possibilità cioè di non poter decifrare dell’eventuale traffico registrato in precedenza, anche quando si venisse in possesso delle chiavi di cifratura) è importante usare un parametro di Diffie-Helman di dimensioni opportune. Il default usato è in genere di 1024 bit, che non è più considerato molto sicuro. 
4 1 Simone Piccardi
5 4 Simone Piccardi
In molti programmi è comunque possibile utilizzare un parametro di dimensioni maggiori (2048 o 4096 bit), basta fornire un file con il relativo contenuto. Un elenco delle direttive di configurazione di vari servizi che consentono di indicarlo è riportato nella tabella seguente:
6 1 Simone Piccardi
7 2 Simone Piccardi
| *Server* | *Direttiva* |
8
| OpenVPN | @dh /path/dhparam.pem@ |
9
| nginx | @ssl_dhparam /path/dhparam.pem@|
10
| Apache (>2.4.7)| @SSLOpenSSLConfCmd DHParameters /path/dhparam.pem@|
11
| Postfix | @smtpd_tls_dh1024_param_file =/path/dhparam.pem@|
12
| Dovecot | @ssl_dh /path/dhparam.pem@|
13
14 3 Simone Piccardi
Dato che la generazione richiede una notevole quantità di numeri casuali (generati dal kernel raccogliendo il "rumore" degli eventi di sistema) questa può risultare lenta, specialmente se  fatta su un server remoto, dove non si possono usare tecniche come quelle di premere tasti a caso sulla console per aumentare il pool di numeri casuali a disposizione del kernel (farlo su una connessione remota non servirebbe, per sicurezza gli eventi generati dalla rete non vengono presi in considerazione). Per questo è in genere assai più semplice generarlo localmente, dove si può utilizzare questo trucco, e poi spostarlo a destinazione.
15 1 Simone Piccardi
16 3 Simone Piccardi
Il comando che consente di generare in locale il parametro di Diffie-Hellman e salvarlo su un file è sempre @openssl@, con il sottocomando @dhparam@; si potrà ottenere il file @dhparam.pem@ con il parametro nella dimensione voluta (indicata in bit dall'ultimo argomento) eseguendo:
17 1 Simone Piccardi
18
<pre>
19
openssl dhparam -out dhparam.pem 2048
20
</pre>
21
22 3 Simone Piccardi
ed una volta terminata l'esecuzione sarà sufficiente poi copiare @dhparam.pem@ a destinazione.
23 2 Simone Piccardi
24 3 Simone Piccardi
Si tenga presente che un parametro di dimensione maggiore, oltre ad un tempo molto più lungo per la generazione iniziale, richiederà anche più risorse (CPU e tempo di esecuzione) nella gestione delle connessioni una volta installato; pertanto se oggi il minimo consigliato per la dimensione è di 2048 bit, non vale comunque la pena andare oltre i 4096 bit.