====== Sécuriser le service SSL/TLS ====== Le protocole de chiffrement **SSL/TLS** est présent partout sur le web. Ce protocole a été victime de failles sévères (voir très sévères). Pour assurer une sécurité accrue des données passant par votre site web, il convient avant tout de s'assurer que votre site présente le moins de risque possible. Sur //Debian//, c'est //Jessie// la plus vulnérable, vérifier donc si votre serveur est à jour avec la commande aptitude update aptitude safe-upgrade ===== La faille Heartbleed ===== **Heartbleed** est la faille qui a marqué le monde du **SSL/TLS**, car cette faille permet de révéler le contenu d'un message ou d'un envoi sécurisé (comme un numéro de CB par exemple) et le jeu de clés SSL (primaire et secondaire) sans laisser la moindre trace. Dès la publication de la faille, **OpenSSL** et les principales distributions Linux ont publiées un correctif. Pour s'en prémunir, il suffit de vérifier la version de **openSSL**. ===== La faille Poodle ===== **Poodle** est une faille du protocole **SSLv3**, a l'heure actuelle la seule méthode pour se protéger est de, tout simplement, désactiver **SSLv3**. Nous verrons le moyen de désactiver **SSLv3** sur //Apache2//, //dovecot// et //postfix//, cela doit être la même procédure pour les autres services web. ==== Apache 2 ==== Ouvrez le fichier // /etc/apache2/mods-available/ssl.conf // Vérifiez et modifiez,si nécessaire, la ligne commençant par //SSLProtocol all //. Elle doit ressembler à ceci (située presque à la fin du fichier). SSLProtocol all -SSLv2 -SSLv3 ensuite suffit de relancer //Apache2// comme ceci : service apache2 restart ==== Dovecot ==== Dans le fichier// /etc/dovecot/dovecot.conf //, rechercher la ligne suivante et y apportez les modifications, si nécessaire : ssl_protocols = !SSLv2 !SSLv3 ==== postfix ==== Dans le fichier// /etc/mpostfix/main.cf //,vérifier la présence de cette ligne et apportez y les modifications nécessaires : smtpd_tls_protocols = !SSLv2,!SSLv3 ===== Faille dite RC4 ===== Pour s'en prémunir, il vous suffit de modifier ou adapter les signes suivantes dans// /etc/apache2/mods-available/ssl.conf // SSLHonorCipherOrder on SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS" ensuite, il faut configurer **openSSL** openssl ciphers -V 'EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA256 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EDH+aRSA EECDH RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS' Vous obtiendrez quelque chose se rapprochant : 0xC0,0x2C - ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD 0xC0,0x2B - ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD 0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD 0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD 0xC0,0x23 - ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256 0xC0,0x27 - ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256 0xC0,0x11 - ECDHE-RSA-RC4-SHA SSLv3 Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1 0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD 0x00,0x6B - DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256 0x00,0x39 - DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1 0x00,0x88 - DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1 0x00,0x9E - DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD 0x00,0x67 - DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256 0x00,0x33 - DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1 0x00,0x9A - DHE-RSA-SEED-SHA SSLv3 Kx=DH Au=RSA Enc=SEED(128) Mac=SHA1 0x00,0x45 - DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1 0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384 0xC0,0x24 - ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384 0xC0,0x14 - ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1 0xC0,0x0A - ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1 0xC0,0x13 - ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1 0xC0,0x09 - ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1 0xC0,0x07 - ECDHE-ECDSA-RC4-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=RC4(128) Mac=SHA1 0xC0,0x0C - ECDH-RSA-RC4-SHA SSLv3 Kx=ECDH/RSA Au=ECDH Enc=RC4(128) Mac=SHA1 0xC0,0x02 - ECDH-ECDSA-RC4-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=RC4(128) Mac=SHA1 0x00,0x05 - RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1 ===== Le petit plus ===== Il existe plusieurs outils pour tester l'efficacité de la sécurité de votre protocole SSL/TLS, il y a [[https://www.ssllabs.com/ssltest/analyze.html|celui-ci]] par exemple. ===== Auteurs et sources ===== * Auteur : [[:user:montuy337513]] * Sources : [[https://www.openssl.org/~bodo/ssl-poodle.pdf|This POODLE bites: exploiting the SSL 3.0 Fallback (Pdf)]], [[https://community.qualys.com/blogs/securitylabs/2013/08/05/configuring-apache-nginx-and-openssl-for-forward-secrecy|Qualys Blog]] ===== Navigation ===== * [[:accueil|Accueil]] * [[:serveur-debian-securite]] * [[:serveur-debian-general]] * [[:serveur-debian-automatisation]] * [[:serveur-debian-file]] * [[:serveur-debian-log]] * [[:serveur-debian-user-groupe]] * [[:serveur-debian-apache2]] * [[:serveur-debian-postfix]] * [[:serveur-debian-mysql]] * [[:serveur-debian-divers]]