Article ID: 123160, created on Oct 20, 2014, last review on Mar 31, 2016

  • Applies to:
  • Plesk Automation 11.5
  • Plesk for Linux/Unix
  • Plesk for Windows

Informations

L'équipe de sécurité Google a identifié la vulnérabilité CVE-2014-3566 dans le protocole SSLv3. OpenSSL a également publié un livre blanc (en anglais) qui décrit cette vulnérabilité.

Vous pouvez vérifier si vous êtes vulnérable en utilisant le script suivant. Indiquez l'IP de votre serveur pour le paramètre  :

# wget http://kb.sp.parallels.com/Attachments/kcs-40007/poodle.zip
# unzip poodle.zip
# chmod +x poodle.sh
# for i in `echo 21 587 443 465 7081 8443 993 995 `; do /bin/sh /root/poodle.sh <IP> $i; done

Résolution

L'attaque décrite ci-dessus requiert une connexion SSL 3.0. C'est pourquoi la désactivation du protocole SSL 3.0 dans le client ou le serveur (ou les deux) déjoue une attaque potentielle.

Les fournisseurs de systèmes d'exploitation (OS) ont publié les recommandations de sécurité suivantes pour pallier plusieurs vulnérabilités OpenSSL récentes :

Debian

RedHat

Ubuntu

CentOS

Remarque : les mises à jour répertoriées ici ne corrigent pas la vulnérabilité POODLE. Elles utilisent seulement l'option TLS_FALLBACK_SCSV pour éviter de déclencher une attaque via SSLv3 et corrigent plusieurs autres vulnérabilités.

Nous vous recommandons de mettre à jour le pack openssl.

La meilleure solution consiste à désactiver la prise en charge de SSLv3.

Vous pouvez utiliser les scripts spéciaux ci-dessous pour désactiver SSLv3 pour tous les services :

  • Pour Linux : désactive Apache, Nginx, ProFTPD, Courier-IMAP, Qmail, Postfix, Dovecot, le moteur de serveurs Plesk (pour la version 11.5 et les versions ultérieures).
  • Pour Windows : désactive SSLv3 pour l'ensemble du service (AVERTISSEMENT : le serveur devra être rebooté).

Consultez les instructions ci-après pour désactiver le protocole SSLv3 pour chaque service. Ces instructions sont également valables si votre serveur a déjà été patché avec pci_compliance_resolver.

Service Parallels Plesk

Étant donné que Plesk utilise le même moteur SSL, le service sw-cp-server doit également être configuré pour être protégé contre la vulnérabilité SSLv3.

Plesk 11.5 et les versions ultérieures

Modifiez /etc/sw-cp-server/config. Dans la section http, ajoutez :

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Redémarrez :

    sudo service sw-cp-server restart

Plesk 11.0

Modifiez /usr/local/psa/admin/conf/ssl-conf.sh. Ajoutez echo 'ssl.use-sslv3 = "disable"' après la directive echo 'ssl.use-sslv2 = "disable"'. Le fichier doit être similaire à :

    echo 'ssl.engine = "enable"'
    echo 'ssl.use-sslv2 = "disable"'
    echo 'ssl.use-sslv3 = "disable"'

Redémarrez :

    sudo service sw-cp-server restart

Parallels Plesk 9.x et 10.x :

La solution pour le backend sw-cp-server dans Plesk 10.x consiste à modifier la liste des CHIFFREMENTS dans le fichier usr/local/psa/admin/conf/cipher.lst pour qu'elle soit similaire à (remarque : il n'y a pas de retours à la ligne) :

ECDHE-ECDSA-CAMELLIA256-SHA384 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-RSA-CAMELLIA256-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA DHE-DSS-CAMELLIA256-SHA DHE-DSS-AES256-GCM-SHA384 DHE-DSS-AES256-SHA256 DHE-DSS-AES256-SHA DHE-RSA-CAMELLIA256-SHA DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA256 DHE-RSA-AES256-SHA ECDHE-ECDSA-CAMELLIA128-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA ECDHE-RSA-CAMELLIA128-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA

Une fois que le fichier /usr/local/psa/admin/conf/cipher.lst est modifié, redémarrez le backend :

    sudo service sw-cp-server restart

Parallels Plesk 8.6.0 et les versions antérieures

Parallels Plesk 8.6 utilise Apache en tant que backend pour le panneau de contrôle.

Ajoutez la ligne suivante au fichier "/usr/local/psa/admin/conf/httpsd.conf" :

SSLProtocol All -SSLv2 -SSLv3

Puis, redémarrez le panneau de contrôle :

sudo service psa restart

Serveur HTTPD Apache

Si vous exécutez Apache, modifiez votre fichier de configuration Apache (ci-dessous se trouve la liste des emplacements par défaut) :

Red Hat/CentOS : /etc/httpd/conf.d/ssl.conf

Debian/Ubuntu : /etc/apache2/mods-available/ssl.conf

SUSE : /etc/apache2/ssl-global.conf

Incluez ou modifiez la ligne ci-dessous dans votre fichier de configuration Apache parmi les autres directives SSL :

SSLProtocol All -SSLv2 -SSLv3

Exécutez la commande ci-après pour modifier les paramètres SSL dans le template PCI Compliance.

# mkdir -p /usr/local/psa/admin/conf/templates/custom/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/server/
# cp /usr/local/psa/admin/conf/templates/pci_compliance/server/PCI_compliance.php /usr/local/psa/admin/conf/templates/custom/server/
# sed -i 's/SSLProtocol -ALL +SSLv3 +TLSv1/SSLProtocol All -SSLv2 -SSLv3/g' /usr/local/psa/admin/conf/templates/custom/server/PCI_compliance.php

Puis, redémarrez le serveur Web Apache :

/usr/local/psa/admin/bin/websrvmng -r

Serveur Nginx

Si vous exécutez Nginx, incluez la ligne suivante dans votre configuration parmi les autres directives SSL dans le fichier /etc/nginx/nginx.conf :

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Pour tous les sites dans Plesk 11.0 pour Linux :

# mkdir -p /usr/local/psa/admin/conf/templates/custom/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/
# cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/

# sed -i 's/ssl_protocols               SSLv2 SSLv3 TLSv1;/ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php

Pour tous les sites dans Plesk 11.5 pour Linux :

# mkdir -p /usr/local/psa/admin/conf/templates/custom/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/
# cp /usr/local/psa/admin/conf/templates/default/nginxWebmailPartial.php /usr/local/psa/admin/conf/templates/custom/
# cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/

# sed -i 's/ssl_protocols               SSLv2 SSLv3 TLSv1;/ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/nginxWebmailPartial.php
# sed -i 's/ssl_protocols               SSLv2 SSLv3 TLSv1;/ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php

Pour tous les sites dans Plesk 12.0 pour Linux :

# mkdir -p /usr/local/psa/admin/conf/templates/custom/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/server/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/
# cp /usr/local/psa/admin/conf/templates/default/nginxWebmailPartial.php  /usr/local/psa/admin/conf/templates/custom/
# cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/
# cp /usr/local/psa/admin/conf/templates/default/server/nginxVhosts.php /usr/local/psa/admin/conf/templates/custom/server/
# sed -i 's/ssl_protocols               SSLv2 SSLv3 TLSv1;/ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/nginxWebmailPartial.php
# sed -i 's/ssl_protocols               SSLv2 SSLv3 TLSv1;/ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
# sed -i 's/ssl_protocols               SSLv2 SSLv3 TLSv1;/ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/server/nginxVhosts.php

Reconfigurez Apache et Nginx :

# /usr/local/psa/admin/bin/httpdmng --reconfigure-all

Référence : Documentation Nginx

Serveur IMAP/POP3 Dovecot

Incluez la ligne suivante : /etc/dovecot/dovecot.conf

ssl_protocols = !SSLv2 !SSLv3

Redémarrez le service.

    sudo service dovecot restart

Courier-IMAP

Modifiez les lignes suivantes :

/etc/courier-imap/pop3d-ssl

/etc/courier-imap/imapd-ssl

Ajoutez ou modifiez les directives TLS_PROTOCOL et TLS_CIPHER_LIST, afin qu'elles soient similaires à :

TLS_PROTOCOL=TLSv1+
TLS_CIPHER_LIST="ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS" 

Redémarrez les services :

    sudo service courier-imaps restart
    sudo service courier-pop3s restart

SMTP Postfix

Pour "opportunistic SSL" (où la politique de chiffrement n'est pas renforcée et le texte brut acceptable), vous n'avez rien à modifier. Même SSLv2 est plus sûr que le texte brut. Par conséquent, si vous voulez sécuriser votre service, vous devez utiliser le mode "mandatory SSL".

Si toutefois vous voulez désactiver SSLv3 pour le chiffrement "opportunistic SSL", ajoutez/modifiez :

smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3

Si le mode "mandatory SSL" est déjà configuré, ajoutez/modifiez le paramètre smtpd_tls_mandatory_protocols. Ajoutez la chaîne suivante dans le fichier /etc/postfix/main.cf :

smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3

Redémarrez Postfix :

sudo service postfix restart

Vous pouvez vérifier si SSLv3 est désactivé à l'aide de la commande suivante :

openssl s_client -connect  localhost:465 -ssl3

Si vous n'êtes pas vulnérable (SSLv3 désactivé), le résultat devrait être similaire à :

CONNECTED(00000003)
139808606107464:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1257:SSL alert number 40
139808606107464:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:

Si vous êtes vulnérable, vous verrez un résultat de connexion normal. Ce résultat peut inclure la ligne :

CONNECTED(00000003)
220 mail.example.com ESMTP Postfix
DONE

MTA QMail :

Créez (ou modifiez) le fichier /var/qmail/control/tlsserverciphers afin qu'il soit similaire à :

ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:+HIGH:+MEDIUM

Serveur ProFTPD

Créez et modifiez le fichier /etc/proftpd.d/60-nosslv3.conf en ajoutant les lignes suivantes :

TLSProtocol TLSv1 TLSv1.1 TLSv1.2
TLSCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:!SSLv3

Puis, redémarrez le service daemon :

service xinetd restart

Internet Information Services Microsoft

Voici le lien vers l'article officiel de la base de connaissances Microsoft pour désactiver un protocole IIS spécifique : Comment désactiver PCT 1.0, SSL 2.0, SSL 3.0 ou TLS 1.0 dans Internet Information Services.

Microsoft Windows NT Server enregistre les informations sur différents protocoles de canal sécurisés pris en charge par Windows NT Server. Ces informations sont stockées dans la clé de Registre suivante :

  1. Cliquez sur Démarrer > Exécuter, puis saisissez regedt32 ou regedit. Cliquez sur OK.

  2. Dans l'éditeur de registre, localisez la clé de registre suivante :

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server
    
  3. Dans le menu Modifier, cliquez sur Ajouter une valeur.

  4. Dans la liste Data Type, cliquez sur DWORD.

  5. Dans la case Value Name, saisissez Enabled. Puis, cliquez sur OK.

    Remarque : si cette valeur est présente, double-cliquez sur la valeur pour l'éditer.

  6. Saisissez 00000000 dans l'Éditeur binaire pour définir la valeur de la nouvelle clé sur "0".

  7. Cliquez sur OK. Redémarrez l'ordinateur.

33a70544d00d562bbc5b17762c4ed2b3 caea8340e2d186a540518d08602aa065 e0aff7830fa22f92062ee4db78133079 56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8

Email subscription for changes to this article
Save as PDF