/etc/apache2/mods-available/ ssl.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RC4部份
原先RC4是
SSLCipherSuite HIGH:MEDIUM:!ADH:!MD5
更換為以下設定值
SSLHonorCipherOrder on
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SSL通訊埠部份
至於原先是
SSLProtocol -all -SSLv3 -TLSv1
更換為
SSLProtocol -all +TLSv1.2 即可完成!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nginx 以下SSL DH相關問題
weak Diffie-Hellman (DH) key exchange parameters
https://snippetinfo.net/mobile/media/1604
https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
建立 Diffie-Hellman 參數
主要解決 Diffie-Hellman 公開金鑰不足,要產生一個檔案加入設定
# 產生 DH parameters openssl dhparam -out /etc/ssl/certsdhparam.pem 4096
然後在 nginx.conf 的 SSL 設定加上
ssl_dhparam /etc/ssl/certs/certsdhparam.pem;
這樣就可以完成!
說明-編輯設定檔
找到SSLProtocol、SSLCipherSuite、SSLHonorCipherOrder三個設定值
SSLProtocol
設定SSL協定。可以用『+、-』分別表示『允許、拒絕』某些特定的協定。(Apache: SSLProtocol Directive)
SSLCipherSuite
用來決定SSL在交換key演算法、認證演算法、加密演算法、MAC Digest演算法、、(Apache: SSLCipherSuite Directive)
SSLHonorCipherOrder
加密套件偏好順序,這邊設定成on,可以使用戶端使用伺服器端給予的加密套件偏好。(Apache: SSLHonorCipherOrder)