DROWN(CVE-2016-0800)のセキュリティチェックツールをインストールしてた@CentOS6.7
きたる2016/3/1に予告されてたOpenSSLのセキュリティアドバイザリのなかで脆弱性が公開されましたね。
OpenSSL Security Advisory [1st March 2016]
そのなかで、大きく取り上げられているのがCVE-2016-0800、愛称が「DROWN」という脆弱性です。
脆弱性自体の詳細は他のまとめサイトなどを参照してみてください。
OpenSSLの脆弱性CVE-2016-800(DROWN)やCVE-2016-0702(CacheBleed)についてまとめてみた - piyolog
サーバー管理者として気になるのは、自身の運用しているサーバーに脆弱性があるか/ないかですね。
SSLv2なんて随分の昔に無効化してるよって思っても意外に、残ってたりするんです。
なので外部チェックは大事です。
下記公式サイトに、WEBでのチェックツールが公開されてます。
DROWN Attack
ただ、このチェックサイト、下に小さく書いてありますが、
2016年の2月に脆弱性が見つかったサイトだけが表示されるのです。
This tool shows vulnerable services detected in Feb. 2016 and probes each again to see if it’s been fixed. Results won't include new servers or ones our scanner missed. Live updates are cached for 15 minutes.
で、下の方に、チェックツール公開してるからつかったらいいよって書いてあります。
we recommend using our client-side scanning software.
んじゃあ、インストールして使ってみましょう!!
ソースコードはgithubに公開されてます。python製ですね。
github.com
私は、CentOS6.7を使用しているのですが、githubに書いてある手順だとエラーがでて、
正常にチェックツールが動かなくて四苦八苦したので、
私なりのチェックツール使用するまでの手順を書いてみます。
# yum install epel-release # yum install git python-devel tcpdump gcc python-pip
● git clone
# git clone https://github.com/nimia/public_drown_scanner.git
● pipでインストールするヴァージョン確認
# cd public_drown_scanner/ # cat requirements.txt enum==0.4.6 scapy==2.3.1 pyasn1==0.1.9 pycrypto==2.6
● pipでインストール
# pip install enum==0.4.6 scapy==2.3.1 pyasn1==0.1.9 pycrypto==2.6
● 使い方確認
# cat README.md | tail -15 Usage examples: --------------- ``` 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 ````
● テスト実行
# python scanner.py localhost 443 Testing localhost on port 443 localhost: Case 1 - port is apparently closed (after 3 tries); Connect failed localhost: Server is NOT vulnerable with cipher RC2_128_CBC_EXPORT40_WITH_MD5, Message: con fail localhost: Case 1 - port is apparently closed (after 3 tries); Connect failed localhost: Server is NOT vulnerable with cipher RC4_128_EXPORT40_WITH_MD5, Message: con fail localhost: Case 1 - port is apparently closed (after 3 tries); Connect failed localhost: Server is NOT vulnerable with cipher RC4_128_WITH_MD5, Message: con fail localhost: Case 1 - port is apparently closed (after 3 tries); Connect failed localhost: Server is NOT vulnerable with cipher DES_64_CBC_WITH_MD5, Message: con fail
↑これは、脆弱性ないよってパターンです。
脆弱性がある場合は、Server is vulnerable
って出てきます。
たくさんチェックすべきサイト(ドメイン)がある場合はリスト化して、
loopでチェックツールを回せば、チェック完了!!
脆弱性対応するか、しれっと隠蔽するかはアナタ次第です。
脆弱性のそれぞれの対応はOpenSSLの公式ブログにあがってたので、
参考にして頑張って対応してみてください。
An OpenSSL User’s Guide to DROWN