[Plesk] CVE-2014-3566: атака POODLE, использующая откат на SSL 3.0

Создана:

2016-11-16 13:20:39 UTC

Изменена:

2017-08-16 16:44:25 UTC

9

Помогла ли вам статья?


Есть вопросы?

Отправить запрос

[Plesk] CVE-2014-3566: атака POODLE, использующая откат на SSL 3.0

Applicable to:

  • Plesk for Linux/Unix
  • Plesk for Windows
  • Plesk Automation 11.5

Информация

Специалисты 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

Вложения:

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 9 из 22
Еще есть вопросы? Отправить запрос
Войдите в службу, чтобы оставить комментарий.