Openvpn
在機器之間共享 easy-rsa 密鑰是否安全?如何?
我有兩個 vpn 主機,vpn1 是主要的,vpn2 是一個熱故障轉移機器,用於 vpn1 出現故障的情況,無論是計劃內還是計劃外。
現在,我們使用 openvpn 提供的 easy-rsa shell 腳本包管理客戶端密鑰,但我的前任實施的過程是在 vpn1 上執行建構密鑰腳本,然後在 vpn2 上再次執行它,答案相同,但只將密鑰/crt 從 vpn1 分發給客戶端。
這在我看來是錯誤的,在兩個層面上:第一,我認為這根本行不通;來自 vpn1 的密鑰不太可能以這種方式向 vpn2 進行身份驗證,第二,這是很多額外的工作。
我更願意在兩台機器之間同步密鑰儲存。這可能嗎?如果是這樣,我需要確保兩台機器之間的同步嗎?
使用我的 openvpn 配置,當最終使用者出示證書時,伺服器會問自己的問題是:該證書是否由正確的 CA 簽名?
如果兩台伺服器都安裝了相同的 CA 根證書,那麼您不需要同步密鑰庫,因為您根本不需要兩個密鑰庫。你需要一個密鑰庫,它不需要在兩個 openvpn 盒子中的任何一個上(並且可以說不應該)。從該密鑰庫中,您可以使兩個 openvpn 伺服器都可以使用 CA 根,並告訴它們它在哪裡:
ca /etc/openvpn/keys/ca.crt
並且您使使用此 CA 簽名的客戶端證書和客戶端的相應密鑰可供客戶端使用。您還可以製作伺服器的證書/密鑰文件對,並將其放在一台或兩台伺服器上(或者如果您願意,可以為每台伺服器生成一對;如果客戶端設置為驗證伺服器,並擁有 CA 的副本證書,兩者都可以)。伺服器可以驗證客戶端證書,因為它具有 CA 證書的副本。與客戶端一樣,伺服器不需要查看密鑰庫。