如何自動每3小時更改一次SSH和VPN的私鑰?

如何自動每3小時更改一次SSH和VPN的私鑰?

我想每 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 中,重新產生金鑰通常是透過安全關聯「生命週期」設定來強制執行的。

相關內容