OpenSSL/OpenSSH の脆弱性
JPCERT/CC
Debian セキュリティ勧告
OpenSSHだけであれば、アップグレードやアクセス制限によってセキュリティは保持できる。でもOpenSSLの鍵については正直つらい。 DebianのOpenSSLパッケージ「0.9.8c-1」以降のバージョンで作成した暗号鍵は予測可能な乱数の生成を行う脆弱性を含んでいるというもの。
要するに、OpenSSHやOpenSSL関連パッケージのアップグレードを行った後に、秘密鍵を再度作成し、証明書を取得し直さなければならないということ。
アップグレードは以下のコマンドでできますが、気を付けなければならないのは、glibc関連パッケージが古いと依存関係により同時にアップグレードされてしまいます。古いglibcのバージョンでコンパイルされたアプリケーションは、アップグレードされることにより機能しなくなる場合もあるので注意が必要です。(特にqmail)
# aptitude update
# aptitude dist-upgrade openssh-server openssh-client
セキュリティーの確保が最優先!であるが、証明書を取り直すとなるとなると費用が発生する。当然予算には組み込まれていないので困った。各認証局の対応は以下のようになっています。
■サイバートラスト(無償)
■グローバルサイン(無償)
■クロストラスト(無償)
■日本ベリサイン(有償)
費用もさることながら、作成した秘密鍵や証明書に問題があるのか調べる必要がある。
【使用したツール】
dowkd.pl
ツールをダウンロード、展開して以下のようにチェック。
参考:Testing keys using dowkd.pl
【結果:脆弱性あり】
■ 秘密鍵
$ perl dowkd.pl file server.key
server.key:1: weak key (OpenSSL/RSA/1024)
summary: keys found: 1, weak keys: 1
■ 証明書
$ perl dowkd.pl file server.crt
server.crt:1: weak key (OpenSSL/RSA/1024)
summary: keys found: 1, weak keys: 1
【結果:脆弱性なし】
■ 秘密鍵
$ perl dowkd.pl file server.key
summary: keys found: 1, weak keys: 0
■ 証明書
$ perl dowkd.pl file server.crt
summary: keys found: 1, weak keys: 0
【その他のツール】
chksslkey
$ ./chksslkey チェックするホスト名
セキュリティに問題のあるバージョンで鍵を作成したにも関わらず、管理しているサーバでは使用したツールで脆弱性が見つからなかった。秘密鍵を作成する際に、randオプションで擬似乱数ファイル名を指定していたからだと思われる。
この記事へのコメントはありません。