
OpenSSL CVE-2014-0160 Heartbleed脆弱性テスト
OpenSSL CVE-2014-0160、別名 Heartbleed についてサーバーをテストします。
警告: 結果の正確性についてはいかなる保証もありません。ご自身のOpenSSLビルドを確認して、結果を独立に検証してください。
プルリクエスト歓迎します。
$ heartbleeder example.com
INSECURE - example.com:443 has the heartbeat extension enabled and is vulnerable
-hostfile フラグに改行区切りのアドレスを記述したファイルを指定することで、複数のホストを監視できます。Webダッシュボードはデフォルトで http://localhost:5000 で利用できます。
PostgresはOpenSSLを少し異なる方法で使用します。Postgresサーバーが脆弱かどうかをテストするには、次のコマンドを実行します(デフォルトはポート5432)。
$ heartbleeder -pg example.com
SECURE - example:5432 does not have the heartbeat extension enabled
バイナリは gobuild.io から入手できます。
ソースからビルドするには go get -u github.com/titanous/heartbleeder を実行します。これにより、コードは $GOPATH/src/github.com/titanous/heartbleeder に、バイナリは $GOPATH/bin/heartbleeder に配置されます。
Goバージョン >= 1.2 が必要です。Ubuntuでは godeb を使うと最新版のGoを簡単に入手できます。
TLS実装はGo標準ライブラリから借用しました。