2010-09-23 23 views
13

J'utilise la fonction SSL_CTX_set_cipher_list pour définir les chiffrements pris en charge pour la connexion SSL. Quel argument à transmettre à SSL_CTX_set_cipher_list pour désactiver les chiffrements faibles.désactiver les chiffrements faibles dans la connexion SSL

J'ai essayé passer ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH

mais il ne semble pas fonctionner.

Mon outil pour détecter les rapports de chiffrement faibles pour les éléments suivants comme étant activé encore

 
** 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 ** 

Quel argument pour passer à SSL_CTX_set_cipher_list pour désactiver les chiffrements ci-dessus?

Répondre

12

ÉLEVÉ:! DSS:! ANULL @ STRENGTH devrait fonctionner.

OpenSSL chiffrements -v « HIGH: DSS: Anull @ RESISTANCE » imprime la liste suivante de chiffrements:

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 

Pour une liste complète des chaînes de chiffrement OpenSSL et leur signification jeter un oeil à : http://www.openssl.org/docs/apps/ciphers.html

+0

Cependant, je ne sais pas pourquoi votre outil détecte tous ces chiffrements faibles. OpenSSL ne liste qu'un seul des chiffrements faibles signalés lorsque votre liste de chiffrements est utilisée et je ne pense pas que DES-CBC3-MD5 soit faible. Avez-vous désactivé SSLv2 au cas où il n'est pas désactivé par défaut? Vous pouvez essayer d'ajouter SSLv2 à la liste des chiffrements si vous souhaitez supprimer tous les chiffrements SSLv2. –

+0

Comment supprimer DES-CBC3-SHA chiffrement faible? – Natim

+3

Ajoutez simplement ':! DES-CBC3-SHA' à la liste de chiffrement afin de l'enlever. –

1

Quel argument pour passer à SSL_CTX_set_cipher_list pour désactiver les chiffrements faibles

Cela dépend de qui est la définition de faible que vous utilisez. En 2015, vous devez dépasser efficacement HIGH:!aNULL parce que les navigateurs modernes rejettent certains des chiffres inclus avec HIGH. Si vous autorisez MD5 et/ou RC4, vous obtenez le obsolete cryptography warning.

HIGH:!aNULL:!MD5:!RC4 

L'appel ressemblerait à ceci:

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

Vous devez également désactiver SSLv2, SSLv3 et probablement la compression. Vous le faites comme ceci:

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 ne retourne pas une valeur, donc il n'y a rien à tester pour assurer l'appel réussit.

+0

l'auteur n'a pas demandé une certaine année :) – jitter

+0

Je ne sais pas ce que vous voulez dire jitter. C'est ce que c'est. 'HIGH' est haut, mais c'est la définition de quelqu'un d'autre. En 2014 et 2015, les navigateurs se sont déplacés contre MD5, RC4, SHA1 et 1024 bits FF-crypto et IF-crypto. FF est *** F *** inite *** F *** ield (comme Diffie-Hellman), et IF est *** I *** nteger *** F *** l'actorisation (comme RSA). – jww

+0

@jitter - Je ne blâme personne pour rien. Je ne prétends rien est sûr ou insécurité.Je ne pense pas que nous puissions faire cette détermination basée sur des termes comme «faible» et «fort» ou «élevé»; nous aurions plutôt besoin d'un modèle ou d'exigences de menace. Encore une fois, je ne me soucie pas de votre réponse, et je me fiche de la comparaison. Vous êtes libre de faire ce que vous voulez. Je ne prétends pas non plus être un expert, bien que j'aie une certaine expertise en la matière. Quel est le but de toute cette randonnée? – jww