我想每 3 小時更改一次 Linux 和 Cisco 裝置中的 SSH 以及 VPN 的私鑰。
有人可以建議我如何實現它嗎?
答案1
您正在尋找的功能是前向保密。 SSHv2 以及現代 TLS 和 IPsec 配置,已經實施了透過使用迪菲-赫爾曼密鑰交換為每個連線產生新的加密金鑰。大多數情況下,您不需要執行任何額外操作。
特別是,更改 SSH 用戶端或伺服器的私鑰並不能幫助所有人 – 它們沒有被使用首先進行加密。這些金鑰的唯一目的是為了身份驗證目的進行數位簽章。
但是,您仍然可以檢查和調整一些參數:
在基於 TLSv1.2 的服務中,請確保允許的密碼套件使用“DHE”/“ECDHE”——如“臨時 DH”中那樣。根據您的客戶,可能會停用傳統 DHE 並僅保留 ECDHE 密碼套件。 (如果沒有,那麼至少為每個服務產生一個新的“DH 參數”文件,而不是使用預設文件)。
欲了解更多最新信息,請搜索TLS 部署最佳實踐。
在 SSHv2 中,查看啟用的金鑰交換演算法 (KexAlgorithms)。您可能需要考慮停用所有「diffie-hellman-*」模式(或如果您使用 OpenSSH,至少重新產生檔案
/etc/ssh/moduli
)。
此外,SSHv2 和 IPsec 支援在一定時間間隔和/或傳輸大量資料後自動重新啟動金鑰交換並切換到新的加密金鑰。在 OpenSSH(客戶端或伺服器)中,您可以透過設定RekeyLimit
選項來啟用定期重新產生金鑰。在 IPsec 中,重新產生金鑰通常是透過安全關聯「生命週期」設定來強制執行的。