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 の複数の脆弱性に関する注意喚起
コメント