TLS 1.3登場


如果有TLS 1.3嘅話佢會同你講你有開架。

話說TLS 1.3喺上個月月尾已經可以喺Apache 2上面配合OpenSSL 1.1.1使用。至於呢個網站當然就身先士卒咁去試呢樣嘢啦。
TLS 1.3係TLS (Transport Layer Security)於1.2後嘅新版本。如果唔清楚TLS、SSL等知識,歡迎各位去搵Google大神請教。

TLS 1.3喺2014年4月開始進行起草(Draft),歷經28次修訂後終於喺今年八月推出正式協定 - RFC 8446。佢同2008年推出嘅TLS 1.2有以下唔同嘅地方:
1. 移除大部份已經過時及被認為唔安全嘅加密套件。
2. 相比起1.2嘅2-RTT (2-Round-Trip-Time)以完成握手動作(Handshake),1.3版本於Client端時就已經在Client Hello時將所需加密資料傳送到Server端,將2-RTT減至1-RTT完成握手。呢個動作可以將連線速度有效縮減。
3. 除咗1-RTT外,TLS 1.3更可以設定至0-RTT。
4. 由伺服器回傳Server Hello開始,所有訊息將會直接加密。

詳細嘅資料可以參考以下網站:

Nginx喺1.13版本已經支援TLS 1.3。而Apache2亦都喺10月28號有支援OpenSSL 1.1.1嘅版本出爐。當然,OS嘅官方distribution係唔會咁快有更新,所以Ubuntu嘅使用者就要將 ppa:ondrej/apache2 加入到Ubuntu嘅package repository入面啦。當你更新嘅同時佢會更新埋OpenSSL嘅版本。

請確保Apache2版本為2.4.37,OpenSSL為1.1.1。

基本上你只要更新咗就會自動開著TLS 1.3,因為通常你哋喺Apache2嘅設定檔入面應該都會設定咗呢段。
SSLProtocol all -SSLv2 -SSLv3
呢句嘢嘅意思係除咗SSL 2.0及3.0外,開啟所有安全連線協定。當然,TLS 1.0、1.1亦都已經非常過時。如果可以嘅話就移除佢埋佢啦。
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

至於有用到Let's Encrypt嘅朋友,應該會喺改完vhost檔案後發現佢仲係用緊舊嘅安全設定(比如話仲繼續支援TLS 1.0咁),咁係因為Certbot會自動將Let's Encrypt嘅安全設定加入到你嘅.conf檔案內。你只要去返/etc/letsencrypt內修改佢嘅options-ssl-apache.conf就得啦。
# Intermediate configuration, tweak to your needs
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384
SSLHonorCipherOrder on
SSLCompression off

SSLOptions +StrictRequire
TLS 1.3預設會用三種加密套件,所以你會見到相比起第一段SSLCipherSuite嘅一大堆Cipher Suite,第二行專門針對1.3嘅只有三個。

當修改完呢個後,重新運行Apache2就可以見到已經修改成功嘅SSL設定啦。

測試SSL網站: SSL Server Test - Qyalys SSL Labs

Powered by Half-moon Production.

Copyright © 2011-2020 by 泣雨家的雜物房. Version 1.5.2.

TLS 1.3登場


如果有TLS 1.3嘅話佢會同你講你有開架。

話說TLS 1.3喺上個月月尾已經可以喺Apache 2上面配合OpenSSL 1.1.1使用。至於呢個網站當然就身先士卒咁去試呢樣嘢啦。
TLS 1.3係TLS (Transport Layer Security)於1.2後嘅新版本。如果唔清楚TLS、SSL等知識,歡迎各位去搵Google大神請教。

TLS 1.3喺2014年4月開始進行起草(Draft),歷經28次修訂後終於喺今年八月推出正式協定 - RFC 8446。佢同2008年推出嘅TLS 1.2有以下唔同嘅地方:
1. 移除大部份已經過時及被認為唔安全嘅加密套件。
2. 相比起1.2嘅2-RTT (2-Round-Trip-Time)以完成握手動作(Handshake),1.3版本於Client端時就已經在Client Hello時將所需加密資料傳送到Server端,將2-RTT減至1-RTT完成握手。呢個動作可以將連線速度有效縮減。
3. 除咗1-RTT外,TLS 1.3更可以設定至0-RTT。
4. 由伺服器回傳Server Hello開始,所有訊息將會直接加密。

詳細嘅資料可以參考以下網站:

Nginx喺1.13版本已經支援TLS 1.3。而Apache2亦都喺10月28號有支援OpenSSL 1.1.1嘅版本出爐。當然,OS嘅官方distribution係唔會咁快有更新,所以Ubuntu嘅使用者就要將 ppa:ondrej/apache2 加入到Ubuntu嘅package repository入面啦。當你更新嘅同時佢會更新埋OpenSSL嘅版本。

請確保Apache2版本為2.4.37,OpenSSL為1.1.1。

基本上你只要更新咗就會自動開著TLS 1.3,因為通常你哋喺Apache2嘅設定檔入面應該都會設定咗呢段。
SSLProtocol all -SSLv2 -SSLv3
呢句嘢嘅意思係除咗SSL 2.0及3.0外,開啟所有安全連線協定。當然,TLS 1.0、1.1亦都已經非常過時。如果可以嘅話就移除佢埋佢啦。
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

至於有用到Let's Encrypt嘅朋友,應該會喺改完vhost檔案後發現佢仲係用緊舊嘅安全設定(比如話仲繼續支援TLS 1.0咁),咁係因為Certbot會自動將Let's Encrypt嘅安全設定加入到你嘅.conf檔案內。你只要去返/etc/letsencrypt內修改佢嘅options-ssl-apache.conf就得啦。
# Intermediate configuration, tweak to your needs
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384
SSLHonorCipherOrder on
SSLCompression off

SSLOptions +StrictRequire
TLS 1.3預設會用三種加密套件,所以你會見到相比起第一段SSLCipherSuite嘅一大堆Cipher Suite,第二行專門針對1.3嘅只有三個。

當修改完呢個後,重新運行Apache2就可以見到已經修改成功嘅SSL設定啦。

測試SSL網站: SSL Server Test - Qyalys SSL Labs