配置HTTPS加密的快速参考指南

Nginx

ssl_protocols TLSv1 TLSv1.1 TLSv1.2
阿帕奇

SSLProtocol All -SSLv2 -SSLv3
密码套房

选择密码套件可能很困难,它们的名称可能看起来很复杂,但可以很容易地分解成它们的组件。采取以下套房:

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

组件是:

TLS - the protocol used
    ECDHE - the key exchange mechanism
    ECDSA - the algorithm of the authentication key
    AES - the symmetric encryption algorithm
    128 - the key size of the above
    GCM - the mode of the above
    SHA256 - the MAC used by the algorithm

密钥交换机制

您应该只支持使用ECDHE和DHE(也称为EECDH和EDH)进行密钥交换的套件。EC变体更快,并且都提供完美前向保密(PFS),这是必不可少的。用ECDHE支持ECDHE和DHE的一个例子是首选。

 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

注意: TLSv1.3仅支持PFS密钥交换。
认证

绝大多数网络将使用RSA作为身份验证密钥,因为它得到了广泛的支持,但ECDSA的速度要快得多(来源)。您可以同时为两个世界提供RSA和ECDSA证书(教程)。通过在身份验证段中检查RSA和/或ECDSA,仅支持适合您情况的套件。

有RSA证书:

 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

使用ECDSA证书:

    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

使用混合RSA和ECDSA证书:

    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

在上面的示例中,AES_128_GCM形成密码。AES是首选算法,使用128位密钥大小是可以接受的。出于性能原因,您可以选择128位密钥而不是256位密钥。GCM段是密码的模式,表示这是AEAD(带有关联数据的经过身份验证的加密)。GCM套件应优先于非GCM套件。同一套件的GCM和非GCM版本的示例。

     TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_SHA384

注意: TLSv1.3仅支持AEAD套件。
Nginx

ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
阿帕奇

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
首选服务器订单

当我们按照首选顺序指定密码列表时,我们需要告诉服务器强制执行该订单,否则不会。

Nginx的

ssl_prefer_server_ciphers on;

阿帕奇

SSLHonorCipherOrder On

HTTP严格传输安全性

HSTS是一个HTTP响应标头,允许您将访问者的浏览器配置为仅通过HTTPS与您通信,无论发生什么。如果没有配置HSTS,则不会完成HTTPS的部署。您可以在HSTS中阅读更多内容- 传输层安全性中缺少的链接,我有很多文章涉及HSTS。

Nginx的

add_header Strict-Transport-Security "max-age=600; includeSubDomains";

阿帕奇

Header always set Strict-Transport-Security "max-age=600; includeSubDomains"

随着您对策略越来越有信心,您可以增加max-age的大小并考虑HSTS预加载。
原文地址:https://www.wosign.com/news/news_2018112002.htm

上一篇:WINDOWS系统属性符号说明


下一篇:Windows系统盘瘦身指南