Нет, Heartbleed на самом деле не влияет на ключи SSH, поэтому вам, вероятно, не нужно заменять используемые вами ключи SSH.
Во-первых, SSL и SSH - это два разных протокола безопасности для двух разных применений. Аналогично, OpenSSL и OpenSSH также являются двумя совершенно разными программными пакетами, несмотря на сходство их названий.
Во-вторых, эксплойт Heartbleed заставляет уязвимый узел TLS / DTLS OpenSSL возвращать случайные 64 КБ памяти, но он почти наверняка ограничен памятью, доступной этому процессу, использующему OpenSSL. Если этот процесс, использующий OpenSSL, не имеет доступа к вашему закрытому ключу SSH, он не может утечь его через Heartbleed.
Кроме того, вы обычно размещаете свой открытый ключ SSH только на серверах, к которым вы используете SSH для подключения, и, как следует из названия, открытый ключ - это ключ, который вы можете опубликовать. Неважно, кто это знает. Фактически, вы хотите, чтобы публичный пользователь знал ваш правильный открытый ключ.
Спасибо @Bob за указание на то, что уязвимость может повлиять на клиентские приложения, которые используют уязвимые версии OpenSSL в качестве своей клиентской библиотеки TLS / DTLS. Так, если, например, ваш веб-браузер или VPN-клиент на основе SSL использовали уязвимую версию OpenSSL и подключены к вредоносному серверу, этот вредоносный сервер может использовать Heartbleed для просмотра случайных фрагментов памяти этого клиентского программного обеспечения. Если у этого клиентского приложения по какой-то причине была копия ваших закрытых ключей SSH в памяти, оно могло бы просочиться через Heartbleed.
Вдобавок ко всему, я не думаю о каком-либо программном обеспечении, кроме SSH, которое могло бы иметь копию вашего незашифрованного закрытого ключа SSH в памяти. Что ж, это предполагает, что вы храните свои SSH-ключи в зашифрованном виде на диске. Если вы не храните свои личные ключи SSH в зашифрованном виде на диске, то я полагаю, что вы могли бы использовать некоторую программу передачи файлов или резервного копирования OpenSSL с использованием TLS для копирования или резервного копирования вашего домашнего каталога по сети (включая ваш ~/.ssh/id_rsa
или другой закрытый ключ SSH). ), тогда он может иметь незашифрованную копию вашего закрытого ключа SSH в памяти. Опять же, если вы копировали свой незашифрованный закрытый ключ SSH на вредоносный сервер, у вас, вероятно, больше забот, чем у Heartbleed. :-)