OpenSSL の脆弱性 DROWN攻撃の対処と確認方法

スポンサーリンク
スポンサーリンク
画像

DROWN Attack にて、OpenSSL の脆弱性が公表されました。

この脆弱性への対処は、修正済みのバージョンの openssl の適用で、CentOS6 では、openssl-1.0.1e-42.el6_7.4 に更新されていれば問題ありません。
または、SSLv2 を無効化します。
無効化は apache,dovecot,postfix 等で設定により行います。詳しくは下記を参照して下さい。

CentOS5/6 の dovecot のPOODLE 攻撃の対処 パソコン鳥のブログ
SSLv3 に関する脆弱性(POODLE 攻撃)への対処 パソコン鳥のブログ

サーバに脆弱性があるかは次の箇所でドメイン名かIPアドレスを入力すると確認できます。

https://drownattack.com/#check

但し、この結果は先月2016年2月に収集された結果を表示するだけで、現在のサーバの状態を表示するものではありません。

2016/3//9 追記
結果が15分おきに更新されるようになっています。
但し、先月2016年2月に収集されたサーバが対象です。

脆弱性への対処後、現在のサーバの状態を確認する必要があります。
これに使用できる、脆弱性検査ツール DROWN Scanner が次の箇所で公開されています。

GitHub – nimia/public_drown_scanner

しかし CentOS では、上記サイトの手順ではテストツールがエラーで動きませんでした。
動作させるには、次の手順で脆弱性検査ツールを実行して下さい。

まず、必要なパッケージをインストールします。

yum install python-enum scapy python-crypto tcpdump

次に /etc/yum.repos.d/epel.repo が存在するか確認し、無い場合は次の記事の手順で EPEL リポジトリを設定します。

CentOS6でEPEL リポジトリを利用する設定 パソコン鳥のブログ

続けて次のコマンドでパッケージをインストールします。

yum --enablerepo=epel install python-virtualenv

ここからは root以外のユーザで実行します。

DROWN Scanner をダウンロード・展開します。

wget https://github.com/nimia/public_drown_scanner/archive/master.zip
unzip master.zip
cd public_drown_scanner-master

次に以下のコマンドを実行します。
$以降を入力します。

$ virtualenv drown
$ cd drown
$ . ./bin/activate
(drown)$ pip install enum pycrypto scapy pyasn1 scapy-ssl_tls

これで準備は整いました。

この状態で DROWN Scanner を次のように実行します。

python ../scanner.py localhost 443

結果が何行かに渡って表示されます。

脆弱性があると、次のように「Server is vulnerable」と表示されます。

localhost: Server is vulnerable, with cipher RC2_128_CBC_EXPORT40_WITH_MD5

脆弱性が無い場合(OKの場合)は、次のように「Server is NOT vulnerable」と出ます。

localhost: Server is NOT vulnerable with cipher RC2_128_CBC_EXPORT40_WITH_MD5, Message: 3d: no tls

同様にして、サーバで公開しているサービスに応じて、それぞれ下記のように実行します。

python ../scanner.py localhost 443
python ../scanner.py localhost 587 -esmtp
python ../scanner.py localhost 143 -imap
python ../scanner.py localhost 25 -esmtp
python ../scanner.py localhost 110 -pop3
python ../scanner.py localhost 443 -bare

DROWN Scanner をこれ以上実行しない場合は、deactivate を実行します。

$ deactivate

再度 DROWN Scanner を実行する場合は、次のようにします。

$ cd drown
$ . ./bin/activate
python ../scanner.py localhost 443

以上、OpenSSL の脆弱性 DROWN攻撃の対処と確認方法 でした。

参考

ImportError: No module named asn1 · Issue #30 · nimia/public_drown_scanner · GitHub
ちなみにこのページで virtualdev を実行する記述は、virtualenv の typo です。

「DROWN攻撃」の脆弱性が発覚、HTTPSサイトの33%に影響 – ITmedia エンタープライズ
OpenSSL の複数の脆弱性に関する注意喚起

コメント

タイトルとURLをコピーしました