参考资料

  1. 什么是私有Bucket回源?
  2. 常见CDN启用防盗链的参数设置
  3. 支持分段内容 设置教程
  4. GSLB (全局服务器负载均衡) 详解
  5. 详细讲解CDN:重写规则
  6. 跟随CDN服务 与 跟随源站有什么区别
  7. 单IP最大并发连接数 的详细讲解与设置教程:
  8. 修改入站响应头

启用HTTPS的 SSL/TLS深度配置指南

以下是关于启用HTTPS的 SSL/TLS深度配置指南,涵盖证书管理、协议优化、安全加固等核心环节,以Nginx为例进行技术解析:


一、证书配置流程

1. 证书类型选择

类型特点适用场景
DV证书域名验证,快速签发个人博客/基础网站
OV证书组织验证,显示企业信息企业官网
EV证书扩展验证,浏览器显示绿色公司名金融/电商平台
通配符证书*.domain.com 覆盖所有子域多子域系统
SAN证书单证书包含多个域名多域名统一管理

2. 证书部署步骤

# 证书链合并(中间证书+域名证书)
cat domain.crt intermediate.crt > fullchain.pem

# Nginx配置
ssl_certificate     /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/private.key;

二、协议与算法强化

1. TLS版本控制

# 禁用不安全协议,强制TLS1.2+
ssl_protocols TLSv1.2 TLSv1.3;

# 兼容旧客户端降级攻击防护
ssl_session_tickets off;

2. 加密套件优化

# 优先使用前向保密算法
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

# 服务器主导算法选择
ssl_prefer_server_ciphers on;

推荐套件优先级

  1. TLS 1.3 原生套件

  2. ECDHE + AES-GCM

  3. DHE + AES-GCM


三、性能与安全增强

1. HTTP/2 & HTTP/3启用

# HTTP/2 (需HTTPS)
listen 443 ssl http2;

# HTTP/3 (需Nginx 1.25.0+)
listen 443 http3 reuseport;
listen [::]:443 http3 reuseport;

# 响应头声明HTTP/3支持
add_header Alt-Svc 'h3=":443"; ma=86400';

2. OCSP Stapling配置

# 启用OCSP装订
ssl_stapling on;
ssl_stapling_verify on;

# 指定证书链验证
ssl_trusted_certificate /etc/nginx/ssl/ca-bundle.pem;

# 设置DNS解析器
resolver 8.8.8.8 1.1.1.1 valid=300s;

3. HSTS强制安全传输

# 启用HSTS (31536000秒=1年)
add_header Strict-Transport-Security 
    "max-age=31536000; includeSubDomains; preload" always;

四、客户端证书认证

1. 双向认证配置

# 要求客户端提供证书
ssl_verify_client on;

# 指定信任的CA证书
ssl_client_certificate /etc/nginx/ssl/client-ca.crt;

# 验证深度(证书链层级)
ssl_verify_depth 2;

2. 证书验证策略

参数作用
ssl_verify_clienton(必需)/optional(可选)
ssl_crl证书吊销列表检查
ssl_verify_depth中间CA验证深度

五、高级安全配置

1. 密钥交换优化

# 自定义Diffie-Hellman参数(2048位+)
openssl dhparam -out dhparam.pem 2048
ssl_dhparam /etc/nginx/ssl/dhparam.pem;

2. 会话复用配置

# 会话票据减少TLS握手开销
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets on;

3. 抗BEAST/CRIME攻击

# 禁用TLS压缩(防御CRIME)
ssl_compression off;

# 启用TLS1.3 0-RTT防护
ssl_early_data off;

六、完整配置示例

http {
    # 全局SSL参数
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 24h;
    ssl_session_tickets off;
    ssl_dhparam /etc/nginx/dhparam.pem;
    
    server {
        listen 443 ssl http2;
        listen 443 http3 reuseport;
        server_name example.com;
        
        # 证书配置
        ssl_certificate     /etc/ssl/fullchain.pem;
        ssl_certificate_key /etc/ssl/private.key;
        ssl_trusted_certificate /etc/ssl/ca-bundle.pem;
        
        # 安全扩展
        ssl_stapling on;
        ssl_stapling_verify on;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
        add_header Alt-Svc 'h3=":443"; ma=86400';
        
        # 客户端证书认证(可选)
        # ssl_verify_client on;
        # ssl_client_certificate /etc/ssl/client-cas.crt;
        
        # 应用配置
        root /var/www/html;
        location / {
            try_files $uri $uri/ =404;
        }
    }
}

七、验证与测试工具

  1. 协议支持检测

    openssl s_client -connect example.com:443 -tls1_3
  2. 证书链验证

    openssl verify -CAfile ca-bundle.pem fullchain.pem
  3. 在线检测平台


八、最佳实践总结

  1. 证书管理

    • 使用ACME自动化续签(如Certbot)

    • 证书有效期≤90天(符合行业趋势)

  2. 安全基线

    • 强制TLS 1.2+,禁用TLS 1.0/1.1

    • 启用PFS(前向保密)算法套件

  3. 性能优化

    • OCSP Stapling减少验证延迟

    • HTTP/3提升高丢包网络性能

  4. 防御增强

    • HSTS阻止SSL剥离攻击

    • 双向认证保护敏感接口

  5. 监控维护

    • 部署证书过期监控(如Nagios)

    • 每季度更新DH参数

注:配置后执行 nginx -t 测试语法,systemctl reload nginx 热重载服务。生产环境建议分阶段灰度启用新协议。