2010-09-23 23 views
13

Sto usando la funzione SSL_CTX_set_cipher_list per impostare le cifre supportate per la connessione SSL. Quale argomento passare a SSL_CTX_set_cipher_list per disabilitare i cifrari deboli.disabilita i cifrari deboli nella connessione SSL

ho provato passando ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH

ma non sembra funzionare.

mio strumento per rilevare i rapporti di cifratura deboli per quanto segue come abilitato ancora

 
** SSLv3:DES-CBC-SHA - ENABLED - WEAK 56 bits ** 

** TLSv1:DES-CBC-SHA - ENABLED - WEAK 56 bits ** 

** SSLv2:RC4-MD5 - ENABLED - WEAK 128 bits ** 
** SSLv2:RC2-CBC-MD5 - ENABLED - WEAK 128 bits ** 
** SSLv2:RC4-64-MD5 - ENABLED - WEAK 64 bits ** 
** SSLv2:DES-CBC-MD5 - ENABLED - WEAK 56 bits ** 
** SSLv2:EXP-RC4-MD5 - ENABLED - WEAK 40 bits ** 
** SSLv2:EXP-RC2-CBC-MD5 - ENABLED - WEAK 40 bits ** 
** SSLv2:DES-CBC3-MD5 - ENABLED - WEAK 168 bits ** 

Quale argomento da passare al SSL_CTX_set_cipher_list per disabilitare le cifre di cui sopra?

risposta

12

ALTO:! DSS:! ANULL @ STRENGTH dovrebbe funzionare.

cifrari OpenSSL -v 'ALTA: DSS: aNULL @ FORZA' stampe il seguente elenco di cifre:

DHE-RSA-AES256-SHA  SSLv3 Kx=DH  Au=RSA Enc=AES(256) Mac=SHA1 
AES256-SHA    SSLv3 Kx=RSA  Au=RSA Enc=AES(256) Mac=SHA1 
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH  Au=RSA Enc=3DES(168) Mac=SHA1 
DES-CBC3-SHA   SSLv3 Kx=RSA  Au=RSA Enc=3DES(168) Mac=SHA1 
DES-CBC3-MD5   SSLv2 Kx=RSA  Au=RSA Enc=3DES(168) Mac=MD5 
DHE-RSA-AES128-SHA  SSLv3 Kx=DH  Au=RSA Enc=AES(128) Mac=SHA1 
AES128-SHA    SSLv3 Kx=RSA  Au=RSA Enc=AES(128) Mac=SHA1 

Per un elenco completo di OpenSSL stringhe di cifratura e il loro significato dare un'occhiata a : http://www.openssl.org/docs/apps/ciphers.html

+0

Tuttavia, non sono sicuro del motivo per cui il tuo strumento rileva tutti quei cifrari deboli. OpenSSL elenca solo uno dei cifrari deboli segnalati quando viene utilizzato l'elenco di crittografie e non penso che DES-CBC3-MD5 sia debole. Hai disabilitato SSLv2 nel caso in cui non fosse disabilitato di default? Puoi provare ad aggiungere! SSLv2 all'elenco di cifrari se vuoi rimuovere tutti i cifrari SSLv2. –

+0

Come rimuovere la cifratura debole DES-CBC3-SHA? – Natim

+3

Basta aggiungere ':! DES-CBC3-SHA' all'elenco di codici per rimuoverlo. –

1

Quale argomento da passare al SSL_CTX_set_cipher_list disattivare cifrari deboli

Dipende da chi è la definizione di debole che stai usando. Nel 2015, è necessario eseguire il dump da efficacemente HIGH:!aNULL perché i browser moderni rifiutano alcune delle cifre incluse con HIGH. Se autorizzi MD5 e/o RC4, otterrai il obsolete cryptography warning.

HIGH:!aNULL:!MD5:!RC4 

La chiamata sarà simile modo:

rc = SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!MD5:!RC4"); 
ASSERT(rc >= 1); 

si dovrebbe anche disabilitare SSLv2, SSLv3 e probabilmente la compressione. Lo si fa in questo modo:

const long flags = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION; 
SSL_CTX_set_options(ctx, flags); 

SSL_CTX_set_options non restituisce un valore, quindi non c'è nulla da testare per assicurare la chiamata riesce.

+0

l'autore non ha chiesto un determinato anno :) – jitter

+0

Non sai cosa intendi per jitter. È quello che è. 'HIGH' è alto, ma la definizione di qualcun altro. Nel 2014 e 2015, i browser si sono mossi contro MD5, RC4, SHA1 e 1024-bit FF-crypto e IF-crypto. FF è *** F *** inite *** F *** ield (come Diffie-Hellman), e IF è *** I *** nteger *** F *** actorization (come RSA). – jww

+0

@jitter - Non sto incolpando gli altri per niente. Non sto sostenendo che nulla è sicuro o insicuro.Non penso che possiamo fare quella determinazione basata su termini come "debole" e "forte" o "alto"; invece, avremmo bisogno di un modello di minaccia o di requisiti. Ancora una volta, non mi interessa la tua risposta, e non mi interessa come si confronta. Sei libero di fare ciò che vuoi. Inoltre non pretendo di essere un esperto, anche se ho qualche esperienza in materia. Qual è il punto di tutto questo vagante? – jww

Problemi correlati