安全扫描:目标使用过期的TLS1.0 版协议问题

发布于:2025-08-06 ⋅ 阅读:(17) ⋅ 点赞:(0)

在 Nginx 中禁用过期的 TLS 1.0 协议,可以通过配置 ssl_protocols 指令来实现,确保只允许更安全的 TLS 版本。以下是具体步骤:

1. 找到 Nginx 配置文件

需要修改的配置文件通常位于:

  • 主配置文件:/etc/nginx/nginx.conf
  • 站点独立配置:/etc/nginx/conf.d/[站点名称].conf/etc/nginx/sites-available/[站点名称]

2. 配置禁用 TLS 1.0

在 HTTPS 对应的 server 块中(通常包含 listen 443 ssl),找到或添加 ssl_protocols 指令,移除 TLSv1,仅保留 TLS 1.1 及以上版本(推荐直接保留 TLS 1.2 和 1.3,安全性更高)。

示例配置:

server {
    listen 443 ssl;
    server_name yourdomain.com;  # 替换为你的域名

    # SSL 证书配置(替换为实际路径)
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;

    # 禁用 TLS 1.0,仅允许 TLS 1.2 和 TLS 1.3(推荐)
    ssl_protocols TLSv1.2 TLSv1.3;

    # 可选:配置安全的加密套件(配合高版本 TLS 使用)
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
    ssl_prefer_server_ciphers on;  # 优先使用服务器端指定的加密套件
}
  • 关键说明ssl_protocols 指令用于指定允许的 TLS 协议版本,删除 TLSv1 即表示禁用 TLS 1.0。

3. 验证配置并生效

  1. 检查配置语法是否正确(避免因错误导致服务异常):

    sudo nginx -t
    

    若输出 nginx: configuration file /etc/nginx/nginx.conf test is successful,表示配置无误。

  2. 重新加载 Nginx 使配置生效

    sudo nginx -s reload
    

4. 验证 TLS 1.0 是否已禁用

可以通过以下方式确认:

  • 在线工具:使用 SSL Labs SSL Test 检测域名,在“Protocols”部分确认 TLS 1.0 已显示为“Disabled”。
  • 命令行验证:使用 openssl 尝试通过 TLS 1.0 连接,若失败则表示已禁用:
    openssl s_client -connect yourdomain.com:443 -tls1
    
    禁用成功时,会返回 handshake failure(握手失败)。

注意事项

  • 兼容性影响:禁用 TLS 1.0 后,使用旧设备(如 Windows XP、Android 4.3 及以下)的用户可能无法访问网站,需根据业务需求评估。
  • 安全建议:现代环境中,建议仅保留 TLSv1.2TLSv1.3,这两个版本安全性更高,且能兼容绝大多数现代设备和浏览器。

通过以上配置,可有效禁用不安全的 TLS 1.0 协议,提升 HTTPS 连接的安全性。


网站公告

今日签到

点亮在社区的每一天
去签到