配置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

相关文章
|
29天前
|
安全 API 开发工具
oss加密的配置方法
阿里云OSS提供多种加密选项:SSE-OSS(默认或对象级AES-256加密)、SSE-KMS(使用KMS托管CMK)、临时密钥加密和客户端加密(CSE)。可通过控制台或API设置Bucket策略,使用HTTP头部指定加密方式。KMS和临时密钥可能涉及更复杂的密钥管理和权限配置。
129 5
|
3天前
|
运维 Java 应用服务中间件
Tomcat详解(七)——Tomcat使用https配置实战
Tomcat详解(七)——Tomcat使用https配置实战
12 4
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
7天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
5 0
|
11天前
|
域名解析 网络协议 应用服务中间件
阿里云SSL证书配置(HTTPS证书配置)
该内容是一个关于如何在阿里云上准备和购买SSL证书,以及如何为网站启用HTTPS的步骤指南。首先,需要注册并实名认证阿里云账号,然后在SSL证书控制台选择证书类型、品牌和时长进行购买。申请证书时填写域名信息,并进行DNS验证,这包括在阿里云域名管理板块添加解析记录。完成验证后提交审核,等待证书审核通过并下载Nginx格式的证书文件。最后,将证书配置到网站服务器以启用HTTPS。整个过程涉及账户注册、实名认证、证书购买、DNS设置和证书下载及安装。
52 0
|
12天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
25 0
|
22天前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
27 3
|
22天前
|
前端开发 应用服务中间件 网络安全
http转为https,ssl证书安装及nginx配置
http转为https,ssl证书安装及nginx配置
36 1
|
26天前
|
编解码 Java Nacos
nacos常见问题之密码加密配置如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
127 0