UseRoamingを無効にしてOpenSSHのクライアントバグCVE-0216-0777およびCVE-0216-0778を修正する方法

OpenSSHプロジェクトは本日、OpenSSHバージョン5.4-7.1に影響するクライアント側の問題を報告しました。 この問題により、SSHクライアントがキー情報を漏えいさせ、ユーザーを中間者攻撃にさらす可能性があります。

これは何を意味するのでしょうか?

SSHクライアントがサーバーに接続すると、キー交換が開始されます。 OpenSSHクライアントに含まれる新しい「ローミング」機能が悪用される可能性があり、悪意のあるサーバーがこの問題を利用して、クライアントのプライベートユーザーキーを含むクライアントメモリをサーバーにリークする可能性があります。

誰が影響を受けますか?

この問題は、Linux、FreeBSD、Mac OSXを含む最新のオペレーティングシステムのOpenSSHクライアント(サーバーではない)に影響します。 この問題は、OpenSSH for Windowsを実行しているユーザーにも影響する可能性がありますが、WindowsでPuTTYを使用しているユーザーには影響しません。

つまり、Droplet(サーバー側)でOpenSSHを更新する必要はありませんが、ローカルコンピューターでOpenSSHクライアントを更新する必要があります。 すべてのベースをカバーする場合は、新しいキーペアを生成し、サーバーに新しい公開キーをアップロードできます(詳細については、最後から2番目のセクションを参照してください)。

問題を修正する方法

影響を受けるディストリビューションに対してパッチとアップデートがロールアウトされている間、このセキュリティ問題を引き起こす機能を手動で無効にして問題を解決することができます。 OS X、Linux、およびBSDバリアントでは、SSH構成に行を追加することでこれを実行できます。

LinuxおよびFreeBSDで

次のコマンドを実行して、構成に新しい行を追加します。

echo 'UseRoaming no' | sudo tee -a /etc/ssh/ssh_config

Mac OSXで

次のコマンドを実行して、構成に新しい行を追加します。

echo "UseRoaming no" >> ~/.ssh/config

セッションを閉じて再開する

これを行ったら、変更を有効にするために、開いているSSHセッションをすべて閉じる必要があります。

セキュリティ重視の場合:すべてのキーペアを再生成する

誰かがこの脆弱性を使用して秘密キーにアクセスしたと思われる場合、または「万が一」ベースをカバーしたい場合は、すべてのキーペアを再生成し、新しい公開キーをサーバーにアップロードする必要があります。

もっと詳しく知る