home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/Security/testssl.sh (v1)

技術/Security/testssl.sh (v1)

技術 / Security / testssl.sh (v1)
id: 1421 所有者: msakamoto-sf    作成日: 2017-10-07 17:31:50
カテゴリ: SSL/TLS セキュリティ 

サーバのSSL/TLSをセキュリティ観点でチェックしてくれるツール、testssl.shを使うメモ。


インストール(Version 2.9.5-1版)

2017年の9月に安定版として 2.9.5-1 がリリースされたのでこれをインストールしてみる。
(正確にはこの時点での安定版は 2.8 だが、開発中の 2.9 branch の中でも安定版として言える状態として 2.9.5-1 がリリースされてる。)

環境:CentOS7, 64bit版

インストールのポイントとしては、 https://testssl.sh/ から testssl.sh をDLするのではなく、GitリポジトリをそのままcloneするかリリースパッケージをDL, 展開する方法に変わってる点。
OpenSSLバイナリも特殊なのをビルドして使ってたりするので、今後はこちらの方式が簡単かもしれない。

Gitからclone -> 2.9devになる

https://github.com/drwetter/testssl.sh の Readme.md にあるとおりにする。

$ git clone --depth 1 https://github.com/drwetter/testssl.sh.git
$ cd testssl.sh/
$ ./testssl.sh -v
(...)
###########################################################
    testssl.sh       2.9dev from https://testssl.sh/dev/
(...)

2.9dev branchがデフォルトのbranchとなっている。gitのcloneオプションを調整すれば、他のbranchを利用することも可能だろう。
また、このままでは /bin/openssl を見に行ってしまい、testssl.sh 中の bin/opensslバイナリを使ってくれなかった。
→以下のようにOPENSSL環境変数で調整できる。

$ OPENSSL=./bin/openssl.Linux.x86_64 ./testssl.sh -v
(...)
 Using "OpenSSL 1.0.2-chacha (1.0.2i-dev)" [~183 ciphers]
 on L0000627:./bin/openssl.Linux.x86_64
(...)

GitHubのリリースアーカイブを使う

GitHubのリリースページからアーカイブをDLする。

$ curl -L -O https://github.com/drwetter/testssl.sh/archive/v2.9.5-1.tar.gz
$ tar zxf v2.9.5-1.tar.gz
$ cd testssl.sh-2.9.5-1/
$ ./testssl.sh -v
(...)
###########################################################
    testssl.sh       2.9.5 from https://testssl.sh/
(...)

こちらでもやはりOpenSSLバイナリが /bin/openssl をデフォルトで使ってしまうので、環境変数かコマンドラインで調整する。

$ OPENSSL=./bin/openssl.Linux.x86_64 ./testssl.sh -v

or

$ ./testssl.sh --openssl ./bin/openssl.Linux.x86_64 -v

→
(...)
 Using "OpenSSL 1.0.2-chacha (1.0.2i-dev)" [~183 ciphers]
 on L0000627:./bin/openssl.Linux.x86_64
(...)

主な使い方

※チェックする対象は自分の管理下にあるサーバか、脆弱性検査を許可されたサーバのみにすること。

通常テスト:

$ ./testssl xxx.xx.xxx.xx:443

HTMLに出力(通常テストでコンソールで使われるエスケープシーケンスが、ちゃんとHTMLにも反映されます)

$ ./testssl.sh --html www.glamenv-septzen.net:443

プロトコルバージョンごとにcipher suiteをリストアップ

$ ./testssl -E xxx.xx.xxx.xx:443

特にプロトコルバージョンごと、にはこだわらず、全部混ぜてリストアップ

$ ./testssl -e xxx.xx.xxx.xx:443

参考/その他

参考:

  • SSTtechlog 05 JavaでSSL/TLS接続アプリケーションを作ってみよう(1) : SSL版Echoサーバ/クライアントの作成と脆弱性テスト(testssl.sh,Nmap) | SST 株式会社セキュアスカイ・テクノロジー

その他:

$ ./testssl.sh xxx.xx.xxx.xx:443 | aha > output.html
  • OpenSSLのciphersuite名をRFCにマッピングするの、2.6の時は別途 mapping-rfc.txt をDLして配置する必要があったが、2.9.5-1 ではその必要無く、OpenSSL形式とRFC形式の両方で表示してくれた。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2017-10-07 17:33:53
md5:42e1def4c50c3e294c95c887a7553d0f
sha1:940584c0a1f9bf0332530b40586b0776e14aa210
コメント
コメントを投稿するにはログインして下さい。