Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Nginx SSL/TLS 設定指南:達到 Qualys SSL Labs A+ 評級

編輯:Linux 教學

要在 Qualys SSL Labs 測試中獲得 A+ 評分,Nginx 需啟用 HTTP/2、完美前向保密(PFS)、HSTS、OCSP Stapling 等現代安全特性。以下提供一份經實測可達 A+ 的完整配置範本(以 nginx-tls.conf 為例)。

完整配置檔範例

# nginx-tls.conf
# Author: James Lau
# Date: 2024-01-15
# Desc: Nginx SSL/TLS configuration for "A+" Qualys SSL Labs rating
# Enables HTTP/2, PFS, HSTS and OCSP stapling.

# HTTP 永久導向 HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name domain.tld www.domain.tld;
    return 301 https://$host$request_uri;
}

# HTTPS 主站配置
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name domain.tld www.domain.tld;

    # 憑證與私鑰
    ssl_certificate     /etc/ssl/domain.crt;
    ssl_certificate_key /etc/ssl/domain.key;

    # DH 參數(建議 2048+ bits,使用 openssl dhparam -out dhparam.pem 2048 生成)
    ssl_dhparam /path/to/dhparam.pem;

    # 協議與加密套件
    ssl_protocols TLSv1.2 TLSv1.3;              # 僅啟用安全協議
    ssl_prefer_server_ciphers on;
    ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH:!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;

    # Session 快取與票據
    ssl_session_timeout 1d;
    ssl_session_cache shared:TLS:10m;
    ssl_session_tickets off;                    # 關閉 Session Tickets 強化 PFS

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 1.1.1.1 8.8.8.8 valid=300s;        # 可信 DNS 解析器
    resolver_timeout 5s;
    ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

    # HSTS:強制瀏覽器 365 天內僅用 HTTPS
    add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' always;

    # 安全性標頭(可選)
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header Referrer-Policy strict-origin-when-cross-origin;

    # ... 你的 location / 等業務配置 ...
}

關鍵配置解析

指令作用
ssl_protocols TLSv1.2 TLSv1.3移除 TLS 1.0/1.1,符合 PCI-DSS 與現代瀏覽器需求
ssl_dhparam自定義 DH 參數避免 Logjam 攻擊,建議 ≥2048 bits
ssl_ciphers ...優先 ECDHE 套件實現 PFS,禁用弱加密(RC4、3DES、MD5 等)
ssl_session_tickets off關閉 Session Tickets,配合 PFS 防止長期金鑰洩露導致歷史流量解密
ssl_stapling on啟用 OCSP Stapling,減少客戶端驗證延遲並提升隱私
Strict-Transport-SecurityHSTS 預載入,防止 SSL Strip 降級攻擊

驗證步驟

  1. nginx -t 測試語法。
  2. systemctl reload nginx 重載配置。
  3. 訪問 Qualys SSL Labs 輸入域名掃描,確認 Grade 為 A+。

常見扣分項與對策

  • Chain issues:確認 ssl_certificate 包含完整鏈(葉子證書 → 中繼 CA → 根 CA)。
  • DH 参数过小:重新生成 2048/4096 bits DH 参数。
  • TLS 1.3 未啟用:需 Nginx 1.13+ 與 OpenSSL 1.1.1+。

套用此配置並定期更新憑證、OpenSSL 版本,即可長期維持 A+ 安全評級。

Copyright © Windows教程網 All Rights Reserved