LoginSignup
39
35

More than 5 years have passed since last update.

素早くSSL/TLSのテストが行えるtestssl.sh

Last updated at Posted at 2015-01-28

SSL Server Testは便利だけど時間がかかる

各種サーバにおけるSSL/TLSの設定テストには、SSL Server Testがよく使われます。
各種ブラウザにおけるシミュレーション結果など、非常に詳しく出してくれる反面時間がかかります。
また、TCPの443番以外のテストには対応していないため、例えばメールサーバなどのテストを行うことができません。

そこでtestssl.sh

testssl.shはシェルスクリプトベースのSSL/TLSのテストツールで、OpenSSL 1.0以降がインストールされているシステムで利用が可能です。

現時点(2015/01/28)の正式版である2.2では、以下の機能をサポートしました。

  • POODLE(CVE-2014-3566)に対するチェック
  • HPKP(Public Key Pinning Extension for HTTP)への対応
  • OCSP Staplingへの対応
  • サービスの検出(HTTP, IMAP, POP, SMTP) など

以下の脆弱性のテストをサポートしています。

CVE番号 名称 概要
CVE-2014-0160 Heartbleed OpenSSL 1.0.1系列などに存在した有名な脆弱性
CVE-2014-0224 CCS Injection OpenSSLのChangeCipherSpecメッセージの処理に関する脆弱性
CVE-2014-3566 POODLE SSL3に存在する脆弱性
CVE-2011-3389 BEAST TLS1.0までにおけるCBCモードの暗号への攻撃
CVE-2013-3587 BREACH TLS上でやりとりされた圧縮データの特徴を使った攻撃
CVE-2012-4929 CRIME TLSのプロトコルレベル圧縮に対する攻撃
CVE-2009-3555 - TLSのrenegotiationに存在する脆弱性

(3/13追記) GitHubにある開発版ではFREAK(CVE-2015-0204)のテストに対応しています

使い方

とりあえず使えるようにするには、testssl.shをダウンロードして実行権限を付与するだけでOKです。

$ wget https://testssl.sh/testssl.sh
$ chmod +x testssl.sh

testssl.shをPATHの通ってるところに置いたりとかしておくと便利です。

たとえば、example.com:443をチェックするには以下のコマンドを実行します。

$ ./testssl.sh example.com
(HTTPS:443は省略できます)

便利なオプション

あるサーバがサポートしている暗号スイートの一覧を表示するには、-eオプションを使います。

$ ./testssl.sh -e example.com

脆弱性テストは単体でも実行可能で、例えばPOODLEのテストは-0オプションです。

$ ./testssl.sh -0 example.com
39
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39
35