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

Информация

Специалисты Google обнаружили уязвимость в протоколе SSLv3, которой был присвоен идентификатор CVE-2014-3566. Описание этой уязвимости также доступно на сайте OpenSSl.

Наличие уязвимости можно проверить с помощью следующего скрипта. Вместо <IP> укажите IP-адрес своего сервера:

# 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

Решение

Описанная выше атака требует установки соединения SSL 3.0, поэтому для защиты от подобных атак достаточно отключить протокол SSL 3.0 на стороне клиента или сервера (или и там и там).

Производители ОС опубликовали следующие советы по безопасности, связанные с последними уязвимостями в OpenSSL:

Debian

RedHat

Ubuntu

CentOS

Обратите внимание, что перечисленные здесь обновления не устраняют POODLE, а только предотвращают откат на SSLv3 с помощью опции TLS_FALLBACK_SCSV, а также защищают от некоторых других уязвимостей.

Мы настоятельно рекомендуем обновить пакет openssl.

Лучший вариант - это оключить поддержку SSLv3.

Чтобы отключить SSLv3 для всех служб, можно использовать специальные скрипты:

  • для Linux - отключает SSLv3 для Apache, nginx, proftpd, courier-imap, qmail, postfix, dovecot, Plesk server engine (для версий 11.5 и выше);
  • для Windows - отключает SSLv3 для всего сервера.

Смотрите следующие инструкции по отключению SSLv3 отдельно для каждой службы. Эти же инструкции применимы к серверам, на которых уже установлено исправление pci_compliance_resolver

Apache

Если вы пользуетесь Apache, измените свой конфигурационный файл Apache:

RedHat/CentOS /etc/httpd/conf/httpd.conf

Debian/Ubuntu /etc/apache2/conf.d/

SuSE /etc/apache2/ssl-global.conf

Добавьте в список SSL-директив в вашем конфигурационном файле Apache следующую строку:

SSLProtocol All -SSLv2 -SSLv3

Выполните следующую команду, чтобы изменить настройки SSL в шаблоне 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

Затем перезапустите веб-сервер Apache:

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

Nginx

Если вы пользуетесь Nginx, добавьте в конфигурационный файл /etc/nginx/nginx.conf следующую строку:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Кроме того, для всех сайтов в Parallels Plesk 11.0 для 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

для всех сайтов в Parallels Plesk 11.5 для 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

для всех сайтов в Parallels Plesk 12.0 для 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

Затем перенастройте Apache и Nginx:

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

Справка: документация Nginx

Dovecot

Добавьте следующую строку в /etc/dovecot/dovecot.conf:

ssl_protocols = !SSLv2 !SSLv3

Перезапустите службу:

    sudo service dovecot restart

Courier

Откройте следующие файлы:

/etc/courier-imap/pop3d-ssl

/etc/courier-imap/imapd-ssl

Добавьте или измените директивы TLS_PROTOCOL и TLS_CIPHER_LIST, чтобы они выглядели следующим образом:

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" 

Перезапустите службы:

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

Postfix

Для 'оппортунистического SSL' ничего менять не нужно. Даже SSLv2 лучше, чем открытый текст, поэтому если вы хотите защитить свой сервер, вам в любом случае следует использовать режим 'mandatory SSL'.

Если вы все равно хотите отключить SSLv3 для оппортунистического шифрования, добавьте/измените:

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

Если режим 'mandatory SSL' уже настроен, просто добавьте/измените параметр smtpd_tls_mandatory_protocols. Добавьте следующую строку в файл /etc/postfix/main.cf:

smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3

Перезапустите Postfix.

sudo service postfix restart

Чтобы проверить, отключен ли SSLv3, используйте следующую команду:

openssl s_client -connect  localhost:465 -ssl3

Если уязвимости нет (SSLv3 отключен), результат будет примерно такой:

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:

Если уязвимость есть, вы увидите обычные сведения о подключении, включая следующую строку:

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

Qmail

Создайте (или отредактируйте) файл /var/qmail/control/tlsserverciphers, чтобы он выглядел так:

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

Сервер ProFTPD

Создайте и измените файл /etc/proftpd.d/60-nosslv3.conf, добавив следующие строки:

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

Перезапустите службу:

service xinetd restart

Microsoft Internet Information Services

В базе знаний Microsoft есть официальная статья об отключении отдельных протоколов в IIS: Отключение протоколов PCT 1.0, SSL 2.0, SSL 3.0 и TLS 1.0 в службах IIS

Microsoft Windows Server хранит информацию о различных защищенных протоколах, поддерживаемых Windows Server. Эта информация хранится в разделе реестра.

  1. Нажмите Пуск > Выполнить, введите regedt32 или regedit и нажмите OK.

  2. В редакторе реестра найдите следующий раздел:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server
    
  3. В меню Правка выберите Добавить значение.

  4. В списке Тип данных нажмите DWORD.

  5. В поле Имя значения введите Enabled и нажмите OK.

    Примечание. Если это значение уже существует, дважды щелкните по нему, чтобы изменить его.

  6. Введите 00000000 в двоичном редакторе, чтобы сделать значение нового раздела равным "0".

  7. Нажмите OK. Перезапустите компьютер.

Так как Plesk использует такой же SSL-движок, то для защиты от уязвимости SSL также необходимо настроить службу sw-cp-server.

Parallels Plesk 11.5 и выше

Откройте '/etc/sw-cp-server/config'. В разделе http добавьте:

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Перезапустите:

    sudo service sw-cp-server restart

Parallels Plesk 11.0

Откройте /usr/local/psa/admin/conf/ssl-conf.sh, добавьте echo 'ssl.use-sslv3 = "disable"' после echo 'ssl.use-sslv2 = "disable"': Этот файл должен выглядеть так:

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

Перезапустите:

    sudo service sw-cp-server restart

Parallels Plesk 10.4.4 и выше

В случае с sw-cp-server в Plesk 10.x нужно изменить список доступных шифров в файле /usr/local/psa/admin/conf/cipher.lst, чтобы он выглядел следующим образом (без переносов строки):

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

После изменения файла /usr/local/psa/admin/conf/cipher.lst перезапустите sw-cp-server:

    sudo service sw-cp-server restart

33a70544d00d562bbc5b17762c4ed2b3 caea8340e2d186a540518d08602aa065 e0aff7830fa22f92062ee4db78133079 56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8

Email subscription for changes to this article
Save as PDF