Debian セキュリティ勧告

DSA-1576-1 openssh -- 予測可能な乱数生成器

報告日時:
2008-05-14
影響を受けるパッケージ:
openssh
危険性:
あり
参考セキュリティデータベース:
Mitre の CVE 辞書: CVE-2008-0166.
詳細:

昨日公開された Debian の openssl パッケージの更新 (DSA-1571-1, CVE-2008-0166) は、OpenSSH にも間接的に影響します。この結果、壊れたバージョンの Openssl で生成された全てのユーザとホスト鍵は、openssl の更新適用後も信用 できないものとして扱われなければなりません。

1. セキュリティ更新をインストールする

この更新は openssl の更新済みのパッケージに依存関係を指定していますの で、自動的に修正済の libssl0.9.8 パッケージと、新パッケージ openssh-blacklist がインストールされます。

更新の適用が終わったならば、可能な場合には脆弱なユーザ鍵は自動的に拒 絶されます。但し全部の検出は行えません。ユーザの個人認証にこのような 鍵を使っている場合は、鍵は直後に動作しなくなり、新しい鍵で更新しなけ ればならなくなります (第三節参照)。

OpenSSH ホスト鍵は、OpenSSH セキュリティ更新を適用後自動的に再作成さ れます。更新時には、この処理の前にユーザへの確認問い合わせが行われま す。

2. OpenSSH の known_hosts ファイルを更新する

ホスト鍵を再生成した場合、SSH を使っているシステムに接続の際、 known_hosts のホスト鍵の更新がすんでいない場合には以下の警告画面が表 示されます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.

この場合、単にホスト鍵が変更されているので、エラーメッセージにあるよ うに対象の known_hosts を更新する必要があります。

サーバ鍵の交換には、信用できる通信路を使用することを勧めます。鍵はサ ーバ上の /etc/ssh/ssh_host_rsa_key.pub に置かれます。鍵のフィンガー プリントは以下のコマンドで見ることができます。

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub

ユーザ別の known_hosts ファイル以外に、システム全体で有効なホストフ ァイル /etc/ssh/ssh_known_hosts が存在しているかもしれません。このファ イルは ssh クライアントと sshd の両方で hosts.equiv 機能を提供するた めに使われています。このファイルも同様に更新する必要があります。

3. 全ての OpenSSH ユーザ鍵をチェックする

一番安全な手順は、欠陥のないシステムで作成された鍵だと強く確信できる 場合を除いて全ての OpenSSH 鍵を再作成することです。

鍵が安全かどうかは、この更新に含まれている ssh-vulnkey ツールでチ ェックできます。既定では、ssh-vulnkey はユーザ鍵の標準の格納場所 (~/.ssh/id_rsa, ~/.ssh/id_dsa と ~/.ssh/identity) と、authorized_keys ファイル (~/.ssh/authorized_keys と ~/.ssh/authorized_keys2)、およ びシステムのホスト鍵 (/etc/ssh/ssh_host_dsa_key と /etc/ssh/ssh_host_rsa_key) をチェックします。

自分の全ての鍵が標準の場所 (~/.ssh/id_rsa, ~/.ssh/id_dsa, または ~/.ssh/identity) に格納されている場合、それらをチェックするには以下 のコマンドを使います。

ssh-vulnkey

システムの全ての鍵をチェックするには

sudo ssh-vulnkey -a

非標準の場所での鍵をチェックするには

ssh-vulnkey /path/to/key

もし ssh-vulnkey が "Unknown (no blacklist information)" と答えた場 合、キーが脆弱かどうかの情報がないということです。この場合には、ファ イルの修正時刻 (mtime) を ls -l を使って調べると良いでしょう。2006 9月以前に作成された鍵には欠陥はありません。可能性は低いですが、バッ クアップ処理でファイルの日付が戻されているかもしてない、またはシステ ム時刻の設定が正しくなかったかもしれない、などは頭に入れておいてく さい。

疑わしい場合は、新しい鍵を作成して、全部のサーバから古い鍵を削除して ください。

4. 影響するユーザ鍵を再生成する

ユーザの個人認証に使用する OpenSSH 鍵は、手動で再生成する必要があり ます。これは生成後に他のシステムに移動した鍵を含みます。

新しい鍵は ssh-keygen を使って作成します。

   $ ssh-keygen
   Generating public/private rsa key pair.
   Enter file in which to save the key (/home/user/.ssh/id_rsa):
   Enter passphrase (empty for no passphrase):
   Enter same passphrase again:
   Your identification has been saved in /home/user/.ssh/id_rsa.
   Your public key has been saved in /home/user/.ssh/id_rsa.pub.
   The key fingerprint is:
   00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 user@host

5. authorized_keys ファイルを更新する (必要に応じて実行)

ユーザキーを再作成した後、対応する公開鍵は必要なリモートシステムの authorized_keys (または authorized_keys2) に配布する必要があります。 当該ファイルから古い鍵を削除することを忘れないようにしてください。

乱数の欠陥への対処のほかに、この OpenSSH の更新では幾つかのそれ以外の 陥も修正しています。

CVE-2008-1483: Timo Juhani Lindfors さんにより、X11 フォワーディングを行っている場 合、SSH クライアントが X11 フォワーディングポートを、そのポートが全 てのアドレスファミリで用いられていることを確認せず利用していることが 発見されました。システムが IPv6 を用いるように設定されている場合 (有 効な IPv6 接続を持っていない場合でも)、リモートサーバ上の攻撃者が X11 フォワーディングをハイジャック可能です。

CVE-2007-4752: Jan Pechanec さんにより、ssh が信用できない X11 クッキーの作成に失敗 した場合に、信用された X11 クッキーの作成にフォールバックするようになっており、X11 フォワーディングを行っている場合に悪意を持ったリモートサーバにローカ ルの表示情報が漏洩する可能性があることが発見されました。

安定版 (stable) ディストリビューション (etch) では、これらの問題はバージ ョン 4.3p2-9etch1 で修正され ています。現時点ではサポートされているアーキテクチャの一部のみがビルド済 みで、残りは追って提供の予定です。

不安定版 (unstable) ディストリビューション (sid) とテスト版 (testing) デ ィストリビューション (lenny) では、これらの問題はバージョン 4.7p1-9 で 修正されています。

直ぐに openssh パッケージをアップグレードし、上記の手順を行うことを勧め ます。

修正:

Debian GNU/Linux 4.0 (etch)

ソース:
http://security.debian.org/pool/updates/main/o/openssh/openssh_4.3p2-9etch1.diff.gz
http://security.debian.org/pool/updates/main/o/openssh-blacklist/openssh-blacklist_0.1.1.tar.gz
http://security.debian.org/pool/updates/main/o/openssh/openssh_4.3p2-9etch1.dsc
http://security.debian.org/pool/updates/main/o/openssh-blacklist/openssh-blacklist_0.1.1.dsc
http://security.debian.org/pool/updates/main/o/openssh/openssh_4.3p2.orig.tar.gz
アーキテクチャ非依存コンポーネント:
http://security.debian.org/pool/updates/main/o/openssh-blacklist/openssh-blacklist_0.1.1_all.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_4.3p2-9etch1_all.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-krb5_4.3p2-9etch1_all.deb
Alpha:
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_alpha.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_alpha.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_alpha.deb
AMD64:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_amd64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_amd64.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_amd64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_amd64.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_amd64.deb
HP Precision:
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_hppa.udeb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_hppa.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_hppa.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_hppa.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_hppa.deb
Intel IA-32:
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_i386.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_i386.udeb
Intel IA-64:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_ia64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_ia64.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_ia64.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_ia64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_ia64.deb
PowerPC:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_powerpc.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_powerpc.udeb
Sun Sparc:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_sparc.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_sparc.udeb

一覧にあるファイルの MD5 チェックサムは勧告の原文にあります。