Elasticsearch 安全加固:禁用弱 RSA 算法实战记录

事件背景

近日,某客户通过内部安全扫描发现我们的 Elasticsearch 9200 端口支持较弱的 RSA 密钥交换算法,被标记为二级高危漏洞。尽管该端口主要用于内网通信且已启用证书认证,但客户要求严格遵守安全规范:”只要探测到支持弱 RSA 密钥交换协议就必须修复”。

无奈的挑战

面对这一要求,我们需要在不破坏现有功能的前提下解决问题。经过多次尝试,终于找到了简单有效的解决方案。

修复步骤

1. 定位配置文件

vi /etc/elasticsearch/elasticsearch.yml

2. 添加强化配置

# 严格限定密码套件白名单
xpack.security.http.ssl.cipher_suites:
  # 优先选择 ECDHE 密钥交换(前向保密)
  - "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
  - "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
  - "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
  - "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
  - "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
  - "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"

  # 备选 DHE 密钥交换(同样具备前向保密)
  - "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
  - "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"

  # TLS 1.3 现代化套件
  - "TLS_AES_128_GCM_SHA256"
  - "TLS_AES_256_GCM_SHA384"
  - "TLS_CHACHA20_POLY1305_SHA256"

3. 应用变更

systemctl restart elasticsearch

修复效果

命令确认支持的密钥交换算法命令:

nmap --script ssl-enum-ciphers -p 9200 localhost

修复前:

修复后确认:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注