如何保护您的 Debian 或 Ubuntu 服务器免受 Logjam 攻击如何保护您的 Debian 或 Ubuntu 服务器免受 Logjam 攻击如何保护您的 Debian 或 Ubuntu 服务器免受 Logjam 攻击如何保护您的 Debian 或 Ubuntu 服务器免受 Logjam 攻击
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何保护您的 Debian 或 Ubuntu 服务器免受 Logjam 攻击

本教程描述了保护您的 Ubuntu 或 Debian Linux 服务器免受最近检测到的 Logjam 攻击所需采取的步骤。 Logjam 是针对 Diffie-Hellman 密钥交换的攻击,该密钥交换用于流行的加密协议,如 HTTPS、TLS、SMTPS、SSH 等。可以在此处找到详细说明 https://weakdh.org/。

本教程与 Debian 和 Ubuntu 上的 ISPConfig 3 设置兼容。

必须以 root 用户身份在 shell 上执行以下步骤。

生成唯一的 DH 组

保护您的服务器的第一步是使用 openssl 命令生成一个唯一的 DH 组。我将在 /etc/ssl/private/ 目录中创建该文件。如果您的服务器上没有此目录,请使用以下命令创建它:

mkdir -p /etc/ssl/private
chmod 710 /etc/ssl/private

现在我将创建 dhparams.pem 文件并设置安全权限:

cd /etc/ssl/private
openssl dhparam -out dhparams.pem 2048
chmod 600 dhparams.pem

阿帕奇

首先,我将根据 weakdh.org 的建议添加一个安全密码套件。使用编辑器打开文件 /etc/apache2/mods-available/ssl.conf:

nano /etc/apache2/mods-available/ssl.conf

并更改或添加这些行:

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on

请注意 SSLCipherSuide 只是一长行,所以不要添加换行符!

第二部分是在apache中设置DH组。 SSLOpenSSLConfCmd 配置选项仅适用于 apache 2.4.8 或更新版本,它还需要 openssl 1.0.2 或更新版本,因此我们必须先测试我们的 apache 和 openssl 版本是否支持它:

apache2 -v

我的 Debian 7 服务器上的输出是:

:/etc/apache2# apache2 -v
Server version: Apache/2.2.22 (Debian)
Server built: Dec 23 2014 22:48:29

现在我将测试 openssl:

openssl version

我系统上的输出是:

:/# openssl version
OpenSSL 1.0.1e 11 Feb 2013

所以我无法在此服务器上设置 DH 组。第一部分和第二部分相互独立,第一部分已经禁用弱密码来保护您的服务器,并且它可以在没有 DH 组的情况下工作。如果您想安装最新的 OpenSSL 表单源,请查看本指南。如果您的 apache 版本 > 2.4.8 且 OpenSSL > 1.0.2,则再次编辑 /etc/apache2/mods-available/ssl.conf 文件:

nano /etc/apache2/mods-available/ssl.conf

添加行:

SSLOpenSSLConfCmd DHParameters "/etc/ssl/private/dhparams.pem"

并重新启动apache:

service apache2 restart

Nginx

编辑 Nginx 配置文件 /etc/nginx/nginx.conf

nano /etc/nginx/nginx.conf

在 httpd { .... } 部分中添加或替换以下设置:

ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/private/dhparams.pem;

并重启 Nginx:

service nginx restart

后缀

运行这些命令以设置安全密码套件和 DH 组:

postconf -e "smtpd_tls_mandatory_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA"
postconf -e "smtpd_tls_dh1024_param_file = /etc/ssl/private/dhparams.pem"

并重新启动后缀:

service postfix restart

鸽舍

编辑 dovecot 配置文件 /etc/dovecot/dovecot.conf

nano /etc/dovecot/dovecot.conf

并添加以下行:

ssl_cipher_list=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

在 ssl_protocols 行之后。

对于其他参数,我们需要知道 dovecot 版本。运行此命令以获取 shell 上的 dovecot 版本信息:

dovecot --version

当版本为 2.2.6 或更高版本时,添加以下附加行:

ssl_prefer_server_ciphers = yes

当版本为 2.2.7 或更高版本时,添加第三行:

ssl_dh_parameters_length = 2048

最后重启鸽舍

service dovecot restart

纯ftpd

在 Debian 和 Ubuntu 上保护 pure-ftpd 有点复杂,因为 /usr/sbin/pure-ftpd-wrapper 脚本不支持开箱即用的 -J 开关,pure-ftpd 使用它来设置 SSL 密码套件.第一步是在包装脚本中添加对 -J 选项的支持。打开文件:

nano /usr/sbin/pure-ftpd-wrapper

并向下滚动到该行:

'TLS' => ['-Y %d', \&parse_number_1],

现在立即添加此新行:

'TLSCipherSuite' => ['-J %s', \&parse_string],

然后使用 nano 创建(或编辑)文件 /etc/pure-ftpd/conf/TLSCipherSuite:

nano /etc/pure-ftpd/conf/TLSCipherSuite

并输入以下密码列表:

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

当文件已经存在并包含一些密码时,将密码替换为上面的密码。然后保存文件并重启 pure-ftpd:

service pure-ftpd-mysql restart

链接

  • https://weakdh.org/

©2015-2025 艾丽卡 support@alaica.com