Nginx 启用 TLSv1.3

2,682次阅读

共计 891 个字符,预计需要花费 3 分钟才能阅读完成。

6 月,OpenSSL 发布了 1.1.1 pre8 版本,开始支持最新的 TLSv1.3 draft28 草案。

几天前,ietf 发布 TLSv1.3 最终定稿 RFC 8446(Via),这将作为 TLSv1.3 的正式版本,结束 draft23 draft28 等草案阶段的历史使命,并为日后的互联网安全提供巨大推动力。

然后在今天,BoringSSL 已提供 TLS_1_3_VERSION (tls13_rfc) 支援(Via)。

关于 TLSv1.3 的特性,可以参照   维基百科   傳輸層安全協議。对于 TLSv1.3 的更多科普,也可参看  dcc  的文章。

今日提交的 BoringSSL Commit d451453 已可用于 TLSv1.3 的正式部署,本博客已启用该特性。

编译

使用 BoringSSL 时,开启 TLSv1.3 要求使用 Nginx master  分支及以上(Via)。BoringSSL 也需采用 master 分支。

git clone --branch=master https://github.com/nginx/nginx.git
git clone --branch=master https://github.com/google/boringssl.git

接下来就是编译。

配置

编译完成后,Nginx 配置文件 server 段添加  ssl_protocols TLSv1.3;

TLSv1.3 现行 cipher 只有以下三种:

TLS-AES-128-GCM-SHA256
TLS-AES-256-GCM-SHA384
TLS-CHACHA20-POLY1305-SHA256

所以 Nginx 配置文件应该是这样写的:

server {
    ...

    ssl_protocols TLSv1.3 TLSv1.2;
    ssl_ciphers  '[TLS13-AES-128-GCM-SHA256|TLS13-CHACHA20-POLY1305-SHA256] TLS13-AES-256-GCM-SHA384 [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305] ECDHE-RSA-AES256-GCM-SHA384';
}

正文完
 
Blood.Cold
版权声明:本站原创文章,由 Blood.Cold 2019-06-17发表,共计891字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。