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

信息

在 SSLv3 协议中的 CVE-2014-3566 漏洞已被 Google 安全团队 发现。另外有一份 OpenSSL 的 白皮书 也介绍了此漏洞。

您可使用 curl 检查网站是否是易受攻击的:

curl -v3 -X HEAD https://www.example.com

如果不是易受攻击的,您的输出应如下所示:

curl: (35) SSL connect error

如果是易受攻击的,您将会看到正常的连接输出,可能包括:

SSL 3.0 connection using ...

解决方案

以上所描述的攻击要求建立 SSL 3.0 连接,所以在客户端或服务器(或两者)禁用 SSL 3.0 协议将阻止潜在的攻击。

Apache HTTPD 服务器

如果您正在运行 Apache,在其他 SSL 指令的配置中包含以下内容:

SSLProtocol All -SSLv2 -SSLv3

并重新启动服务器,例如

sudo service apache2 restart

Nginx 服务器

如果您正在运行 Nginx,在其他 SSL 指令的配置中包含以下内容:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

此外对于 Linux 的 Plesk 中的所有站点:

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

并重新配置 Apache:

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

参考:Nginx 文档

Dovecot IMAP/POP3 服务器

/etc/dovecot/dovecot.conf 中包含以下内容

ssl_protocols = !SSLv2 !SSLv3

重启服务:

sudo service dovecot restart

Courier IMAP

编辑以下文件:

/etc/courier-imap/pop3d-ssl

/etc/courier-imap/imapd-ssl

添加以下字符串:

TLS_CIPHER_LIST="ALL:!SSLv2:!SSLv3:!ADH:!NULL:!EXPORT:!DES:!LOW:@STRENGTH"

或只修改现有的字符串并添加 !SSLv3 至密码列表。

重启服务:

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

Postfix SMTP

对于 'opportunistic SSL'(未执行的和普通的加密政策也是可以接受的),你不需要做任何更改。甚至 SSLv2 也比普通的更强,所以如果要保证您的服务器安全,您应该使用 'mandatory SSL' 模式。

对于已配置的 '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

Microsoft Internet Information Services

Microsoft 官司方知识库文章关于在 IIS 中禁用某个协议: 如何在 Internet Information Services 中禁用 PCT 1.0、SSL 2.0、SSL 3.0 或 TLS 1.0

Microsoft Windows Server 存储了关于 Windows Server 支持不同安全增强通道协议的信息。该信息存储在注册表项。

  1. 单击开始,单击运行,输入 regedt32regedit,然后单击确定。

  2. 在注册表编辑器,找到以下注册表项:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server
    
  3. 在编辑菜单上,单击添加值。

  4. 数据类型 列表,单击 DWORD

  5. 值名称 框中,输入 已启用,然后单击确定。

    注意: 如果此值出现,双击该值以编辑其当前值。

  6. 在二进制编辑器中键入 00000000 以设置新密钥的值等于 "0"。

  7. 单击确定。重启计算机

因为 Plesk 正在使用相同的 SSL 引擎,sw-cp-server 服务也应配置以防止 SSL 攻击。

Plesk 11.5 与之后版本

编辑 '/etc/sw-cp-server/config',添加

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

重启:

    sudo service sw-cp-server restart

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

33a70544d00d562bbc5b17762c4ed2b3 caea8340e2d186a540518d08602aa065 e0aff7830fa22f92062ee4db78133079 56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8

Email subscription for changes to this article