2008年10月16日
OpenSSL パッケージの脆弱性と脆弱なパッケージを含まない他の環境への影響について(Q&A)
既に幾つかのメディアで取り上げていただいていたり、ユーザ間でも話題になっているこの問題ですが、誤解を招かないよう注意が必要な点が幾つかあります。以下の問答を参考に誤解をしていないかどうか確認をお願い致します。
- Q: 影響は Debian だけ?〜「Debian とその派生ディストリビューションが影響を受けるだけなんでしょ?私は(*BSD / 他のディストリビューション)を使ってるから関係ないですよね。」
-
A: いいえ、残念ながらそうではありません。
今回の問題は欠陥があるバージョンの OpenSSL パッケージを使って作られた鍵/証明書が脆弱であるというところにあります。例えば運用しているサーバが Red Hat Enterprise Linux だったとして、ユーザの ~/.ssh/authorized_keys に該当の欠陥がある状態で作られた鍵が登録されていたら、その Red Hat Enterprise Linux に不正なアクセスが容易な状態にあることになります(例に上げた Red Hat Enterprise Linux は CentOS でも Fedora でも FreeBSD でも他のものでも置き換えて考えてください)。
- Q: 自分のところは Sarge を運用しているので全く平気ですよね!
-
A: いいえ、残念ながらそうではありません。
例えば、脆弱性のあるバージョンの OpenSSL を含んだ環境でユーザが SSH 鍵を作成していて、それを authorized_keys に登録した場合を想像してください…その Sarge を運用しているホストへの侵入は容易な状態となっています。Etch であれば更新された openssh-server と既知の脆弱な鍵リストである openssh-blacklist によってその様な鍵を使った場合に接続が拒否されますが、Sarge はセキュリティサポートが終了しているためにこの様な危険な状態からは保護されません。
- Q: では、どうやって私のサーバが影響があるのかを確認すれば良いのですか?
-
A: Debian Project より提供されている Debian OpenSSL Weak Key Detector (dowkd) を利用してください。
これは perl で書かれたスクリプトで、perl が導入されている環境であれば OS / ディストリビューションを問わずに実行できます (Debian では 5.8.8 及び 5.10 にて動作が確認されています)。実行前のファイルの正当性の確認には OpenPGP 署名を確認してください。なお、このスクリプトは随時更新されていますので、適宜チェックしてください。
-
ユーザが自分の authrized_keys に脆弱な鍵が含まれていないかをチェックした例
user@localhost:~$ perl dowkd.pl file ~/.ssh/authorized_keys /home/user/.ssh/authorized_keys:1: weak key summary: keys found: 1, weak keys: 1
SSH サーバが脆弱なホスト鍵を利用していないかをリモートからチェックした例
user@localhost:~$ perl dowkd.pl host 192.168.100.100 # 192.168.100.100 SSH-2.0-OpenSSH_4.3p2 Debian-9 # 192.168.100.100 SSH-2.0-OpenSSH_4.3p2 Debian-9 192.168.100.100: weak key 192.168.100.100: weak key
- Q: ダウンロードした Debian OpenSSL Weak Key Detector (dowkd) が正当なものであるかを確認したいのですが。
-
以下の様にして、正当性の確認が可能です。環境として PGP あるいは GPG が利用可能であることが必要となります (参考として、以下の作業は Debian sid 環境で確認を行っています)。
- セキュリティ勧告のメールの PGP 署名を確認
- PGP 署名の ID が誰のものであるかを確認
- PGP 鍵サーバから確認した ID の公開鍵を取得
- dowkd.pl と署名ファイル dowkd.pl.gz.asc をダウンロードして同一ディレクトリに配置
- 署名を確認
-
(1) まず、今回のセキュリティ勧告のメール (DSA-1571)にサインされている署名を確認します。
セキュリティ勧告が流れる debian-security-announce@lists.debian.org は PGP 署名をされた特定のアドレスからのみ投稿可能なメーリングリストですので、Florian Weimer さんのメッセージはまず真正なものであろう、と判断できます。より確実にこれが Florian Weimer さんが書いたものである、という確認するために該当のメールをファイルとして保存して以下の確認をします。
$ gpg --verify \[SECURITY\]_\[DSA_1571-1\]_New_openssl_packages_fix_predictable_random_number_generator.txt gpg: Signature made 2008年05月13日 21時03分24秒 JST using RSA key ID 02D524BE gpg: Can't check signature: public key not found
-
(2) セキュリティ勧告が 02D524BE という ID の鍵で署名されている事が確認できましたので、その鍵を所持しているのが誰なのかを公開鍵サーバから検索します。
$ gpg --keyserver pgp.nic.ad.jp --search-keys 02D524BE gpg: searching for "02D524BE" from hkp server pgp.nic.ad.jp (1) Florian Weimer (HIGH SECURITY KEY) <fw@deneb.enyo.de> Florian Weimer (HIGH SECURITY KEY) <Weimer@CERT.Uni-Stuttgart.DE> Florian Weimer (HIGH SECURITY KEY) <Florian.Weimer@RUS.Uni-Stuttgart.D Florian Weimer (HIGH SECURITY KEY) <fw@deneb.enyo.de> Florian Weimer (HIGH SECURITY KEY) <Weimer@CERT.Uni-Stuttgart.DE> Florian Weimer (HIGH SECURITY KEY) <Florian.Weimer@RUS.Uni-Stuttgart.D 2048 bit RSA key 02D524BE, created: 2002-03-19 Enter number(s), N)ext, or Q)uit > Q
上記の様に Florian Weimer
さんの鍵であることが確認できました。DSA-1571は Florian Weimer <fw@deneb.enyo.de> さん (02D524BE) が少なくとも署名したものです。 -
(3) 署名した鍵の確認ができたので、Florian Weimer さんの公開鍵 (02D524BE) を公開鍵サーバから取得します。
$ gpg --keyserver pgp.nic.ad.jp --recv-keys 02D524BE gpg: requesting key 02D524BE from hkp server pgp.nic.ad.jp gpg: key 02D524BE: duplicated user ID detected - merged gpg: key 02D524BE: public key "Florian Weimer (HIGH SECURITY KEY)
" imported gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model gpg: depth: 0 valid: 1 signed: 11 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: depth: 1 valid: 11 signed: 12 trust: 2-, 0q, 0n, 5m, 4f, 0u gpg: depth: 2 valid: 10 signed: 5 trust: 10-, 0q, 0n, 0m, 0f, 0u gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) -
(4) dowkd.pl と dowkd.plについて署名されたファイルを取得します。
$ wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz $ wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz.asc
-
(5) 先ほどファイルを取得したディレクトリで dowkd.pl についての署名を確認します。
$ gpg --verify dowkd.pl.gz.asc gpg: Signature made 2008年05月23日 05時39分49秒 JST using RSA key ID 02D524BE gpg: Good signature from "Florian Weimer (HIGH SECURITY KEY)
" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: C8D3 D9CF FA9E 7056 3F32 FA54 BF7B FF04 02D5 24BE Good signature from "Florian Weimer (HIGH SECURITY KEY) <fw@deneb.enyo.de>" とあるので、OpenSSL のセキュリティ勧告メールを流した Florian Weimer さんが、dowkd.pl についても署名をしたことが確認できました。
なお、この場合 WARNING が出ているのは、自身が所有しているデータの中では「信用の輪(web of trust)」の中に含まれていない鍵であることを意味しています。この鍵が真正に Florian Weimer さんのものであることを信用するかについては、鍵交換などを実施していくか、その鍵に署名している他の人のリストなどから別途確認ください。
- Q:SSL の証明書も問題になるのですか?確認の仕方が知りたいのですが
-
A: これも、Debian OpenSSL Weak Key Detector (dowkd) を利用してください。PEM ファイルのチェックが行えます。
- Q:SSL の証明書の再発行は費用が発生するので行いたくないのですが…
-
A: 残念ながら OpenSSL パッケージに該当の脆弱性があった期間に作られたものは、再度申請などして作り直しが必要になります。
ベンダによっては今回の場合について SSLサーバ証明書の残存期間の無償再発行や値引きでの対応を行うなどとしているところがありますので、詳しくは各ベンダに対応について問い合わせてください。(もし、情報がありましたら追記したいと思いますので、お教えください。
- SSL 証明書取扱いベンダの対応
-
- 日本ベリサイン株式会社
「Debian GNU/Linux に含まれる OpenSSL/OpenSSH の脆弱性」について(通常価格より値引きでの対応) - グローバルサイン株式会社
通常でも期限内であれば無償再発行を行っているため、特別な対応はなし。 - サイバートラスト株式会社
Debian GNU/Linuxに含まれるOpenSSL/OpenSSHの脆弱性への対応に関するお知らせ〜 該当するSSLサーバ証明書の残存期間の無償再発行を開始 〜(無償再発行) - セコムトラストシステムズ株式会社
「Debian GNU/Linux に含まれる OpenSSL/OpenSSH の脆弱性に関する注意喚起」について (PDF)(証明書発行から30日以内のものについて、無償で対応) - 株式会社コモドジャパン
COMODO OFFERS FREE REPLACEMENT CERTIFICATE TO ANY INDIVIDUALS AFFECTED BY DEBIAN VULNERABILITY FLAW (無償再発行) - Thawte (Verisign に買収されており、ブランドとして存続)
通常でも期限内であれば無償再発行を行っているため、特別な対応はなし。 - GeoTrust (Verisign に買収されており、ブランドとして存続)
GeoTrust ブランドの場合 (QuickSSL等)、通常でも期限内であれば無償再発行を行っている。再発行手続きはこちら - RapidSSL (Verisign に買収されており、ブランドとして存続)
再発行については通常は有料対応。RapidSSL + Platinum Support の場合は無償再発行が可能。再発行手続きはこちら
- 日本ベリサイン株式会社
2008/10/16 23:02 リンク
過去のニュース
- 2023 年のニュース
- 2022 年のニュース
- 2021 年のニュース
- 2020 年のニュース
- 2019 年のニュース
- 2018 年のニュース
- 2017 年のニュース
- 2016 年のニュース
- 2015 年のニュース
- 2014 年のニュース
- 2013 年のニュース
- 2012 年のニュース
- 2011 年のニュース
- 2010 年のニュース
- 2009 年のニュース
- 2008 年のニュース
- 2007 年のニュース
- 2006 年のニュース
- 2005 年のニュース
- 2004 年のニュース
- 2003 年のニュース
- 2002 年のニュース
- 2001 年のニュース
- 2000 年のニュース
- 1999 年のニュース
- 1998 年のニュース
- 1997 年のニュース