Как автоматизировать смену закрытого ключа SSH и VPN каждые 3 часа?
Я хотел бы менять закрытый ключ SSH в устройствах Linux и Cisco, а также VPN каждые 3 часа.
Может кто-нибудь подсказать мне, как этого добиться?
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 повторное использование обычно осуществляется через настройки времени жизни ассоциации безопасности.