解決「伺服器的暫時 Diffie-Hellman 公開金鑰不足」

今日打開 Chrome 瀏覽器(版本 45.0.2454.85 m)瀏覽公司內部資訊系統,發現有很多 HTTPs 網站都出現「伺服器的暫時 Diffie-Hellman 公開金鑰不足 (ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY)」的警告,而且 Chrome 為了確保連線通訊的安全性,強制不允許存取這些不安全的網站。

 

 

  無獨有偶,本人開發的一個小系統網站竟然也中獎了,被 Chrome 判定不安全,而無法存取。還好,網路上很容易就找到相關資訊,花了幾分鐘就把這資安問題解決了。解決方法非常簡單,以 Tomcat 6.0 版本為例,只需修改/conf/server.xml 檔案,將 ciphers 設定中所有 DHE 字眼的演算法全部刪除即可。

 

  以下面的設定為例,把紅色的部份刪除、存檔,再重啟 Tomcat 即可。

 

<Connector 
protocol="org.apache.coyote.http11.Http11NioProtocol" port="443" …(省略)… 

ciphers="…(省略)…,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" />

 

#而我是在開NSS v8.00 b8535 182b版的USB key安裝系統中的Dell OpenManager遇到此問題,找到系統中/opt/dell/srvadmin/lib64/openmanage/apache-tomcat/conf/server.xml 按上面描述修改後,重開機即可或/etc/init.d/dsm_om_connsvc restart。

​#在NSS v7.80中也遇到類似問題,但NSS v7.80 USB key所安裝的是Tomcat 7,沒有特別注明用那些ciphers,所以解決辦法是自己加入可用的ciphers如下:

For me it worked after adding a list of allowed ciphers to the Tomcat configuration in conf/server.xml to disable the weak Diffie-Hellman ciphers:

vi $TOMCAT_HOME/conf/server.xml

    <Connector
        ...
        ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"
        ...

It works with Google Chrome ver.44 and Thanks to Jason Scroggins for suggesting:

  1. In a new tab, type or paste about:config in the address bar and press Enter. Click the button promising to be careful.
  2. In the search box above the list, type or paste dhe and pause while the list is filtered.
  3. Double-click the security.ssl3.dhe_rsa_aes_128_sha preference to switch it from true to false (disable Firefox from using this cipher).
  4. Double-click the security.ssl3.dhe_rsa_aes_256_sha preference to switch it from true to false (disable Firefox from using this cipher).

Read more

How to migrate Raspberry Pi 5 OS from micro SD to NVME m.2 SSD

首先我買了Raspberry Pi CM5後來買了Raspberry Pi CM5 I/O board來當個人電腦使用,系統是安裝在256GB SD卡上運行的很好。用久了在開啟較肥的程式像Web Browser或LiberOffice會有慢半拍的反應,而有了升級NVME m.2 SSD念頭。 因為Raspberry Pi 5支援的最快PCIe gen3 x 4就不去考慮快的Gen4 or Gen5 m.2 SSD。找了ADATA出的 LEGEND 710入門級的產品,會利用HMB(Host Memory Buffer)來加速I/O速度,因為是Raspberry Pi OS kernel會認不得而無法正常使用 事先在SD卡的/boot/firmware/cmdline.txt 加入 kernel command line參數如下,然後重開機m.

By Phillips Hsieh

How to document Home Lab and Network

運維機房和跨域的網路,會遇到各式需求與問題,用對工具才能分析問題,個人覺得最重要的是使用能處理問題的工具。 推薦目前想學和正在使用的平台與軟體,協助將公司/家用機房文件化 佈告欄任務管理 Focalboard 白板可管理任務指派 網路架構文件編寫 netbox 精細管理網路設備與連接線路 IP 資源管理 phpipam 專注網路IP分配 邏輯塊文件編寫 draw.io 視覺化概念圖 機房設備管理 ITDB 管理設備生命週期與使用者

By Phillips Hsieh

如何在Raspberry Pi4上安裝Proxmox for ARM64

第一步 準備好Raspberry Pi 4 / CM4 4GB RAM,這裡要留意CM4如果是買有內建eMMC storage會限制不能使用SD卡開機而限制本地空間容量,如果沒有NAS外接空間或使用USB開機的話,建議買CM4 Lite插上大容量SD卡 第二步 去Armbian官網下載最小化Debian bookworm image https://www.armbian.com/rpi4b/ Armbian 25.2.2 Bookworm Minimal / IOT 然後寫入SD/USB開機碟,寫入方法參考官方文件 https://github.com/raspberrypi/usbboot/blob/master/Readme.md Note: 官方提供的預先設定系統方法,可以在Armbian初次啟動自動化完成系統設定。連結在此 https://docs.armbian.com/User-Guide_Autoconfig/

By Phillips Hsieh