
testssl.sh v3.2.4
任意のポートでTLS/SSL暗号化をテスト
紹介
testssl.sh は、サーバーのサービスを任意のポートでチェックし、
TLS/SSL 暗号スイート、プロトコルのサポート、およびいくつかの
暗号上の欠陥を確認する無料のコマンドラインツールです。
主な機能
- 明確な出力: 何が良いか悪いかを簡単に判断できます。
- 機械可読な出力 (CSV、2種類のJSON形式)、HTML出力も可能。
- インストールや設定は不要。gems、CPAN、pipなどは不要。
- すぐに使える: Linux、macOS、FreeBSD、NetBSD、WSL2、MSYS2/Cygwin、OpenBSD(bashが必要)。
- Dockerfileが提供されており、dockerhubとGHCRに公式コンテナビルドもあります。
- 柔軟性: ポート443のウェブサーバーだけでなく、SSL/TLS対応およびSTARTTLSサービスをテストできます。
- ツールボックス: いくつかのコマンドラインオプションで、あなた自身のテストを実行し、あなた自身の出力を設定できます。
- 信頼性: 機能は徹底的にテストされています。
- プライバシー: 結果を見るのはあなただけであり、第三者は関与しません。
- 自由: 100%オープンソース。コードを見て、何が行われているかを確認できます。
- 開発はGitHub上で自由かつオープンに行われています。参加と貢献を歓迎します。
- ユニットテストが成熟度を保証します: 一貫性の確認、JSONが有効か、Linux+macOSで動作するか、その他多数!
ライセンス
本ソフトウェアは無料です。GPLv2の条件の下で使用できます。LICENSEを参照してください。
帰属表示は、このプロジェクトの将来にとって重要です。インターネット上でも同様です。したがって、testssl.sh に基づくスキャナーをインターネット上で公開または有料サービスとして提供する場合、そのプログラムを使用していること、およびその入手先を利用者に明記することを強く推奨します。それにより、バグ修正やその他のフィードバック、さらなる貢献を得ることができます。
互換性
Testssl.sh は、すべての Linux/BSD ディストリビューションおよび macOS でそのまま動作します。非常に古いバージョン 2.9 が開発された頃から、OpenSSL クライアントの無効化された機能による制限のほとんどは、bash ソケットベースのチェックにより解消されています。古い OpenSSL バージョンも提供されていますが、現在では 任意の LibreSSL または OpenSSL バージョンを使用することもできます。
testssl.sh は、他の Unix 系システムでもそのまま動作します。/bin/bash >= バージョン 3.2 と sed、awk などの標準ツールがインストールされている必要があります。Windows (MSYS2、Cygwin、WSL/WSL2 を使用) でも動作します。testssl.sh を起動すると、バイナリの暗黙的な (サイレント) チェックが実行されます。System V Unix では、GNU grep のインストールが必要になる場合があります。
更新通知は github または最も重要なものは mastodon や bluesky で確認できます。twitter はもう使用されていません。
インストール
testssl.sh のブランチ 3.3dev は、この git リポジトリをクローンするだけでダウンロードできます:
git clone --depth 1 https://github.com/testssl/testssl.sh.git --branch 3.3dev
3.3dev は、3.2 安定版から発展した最新の開発ブランチです。dev ブランチでは大きな実験をしないよう努めていますが、開発の性質上、変更が発生し、成熟には少し時間がかかる場合があります。
Docker
Testssl.sh の要件は最小限です。前述の通り、何もインストールやビルドする必要はありません。プル/クローンしたディレクトリからそのまま実行できます。ただし、GitHub リポジトリを任意のディレクトリにプルしたくない場合は、dockerhub からコンテナをプルして実行することもできます:
docker run --rm -it ghcr.io/testssl/testssl.sh <your_cmd_line>
または、このリポジトリをクローンした場合は、cd で INSTALLDIR に移動して実行することもできます:
docker build . -t imagefoo && docker run --rm -t imagefoo testssl.net
詳細については、Dockerfile.md を参照してください。
無保証
本プログラムの使用は無保証です。自己責任で使用してください。
Testssl.sh はスタンドアロンの CLI ツールとして使用することを意図しています。ベストプラクティスのセキュリティ対策を適用し、外部入力をサニタイズするよう努めましたが、プログラムに脆弱性がないことを保証することはできません。ウェブサービスとして実行するとセキュリティリスクが生じる可能性があるため、追加のセキュリティ対策を適用することをお勧めします。ユーザーからの入力およびクエリ対象のすべてのサービスからの入力を検証してください。
ステータス
現在の人員では、n-1 バージョンのみサポートしています。現在ご覧になっているのは 3.3.dev ブランチで、3.4 が安定版となり 3.2 が旧安定版になるまでの間、さらなる開発が行われます。変更に対して慎重な場合は、3.2 を使用する必要があります。バージョン 3.0.10 が最後であり、それ以降のアップデートは行われません。
ドキュメント
- .. 読むためのものです。質問をする前には、少なくとも一度はお読みください :-)
~/doc/にある groff、html、markdown 形式のマニュアルページをご覧ください。 - https://testssl.sh/ が始めるのに役立ちます。
- AI 生成ドキュメント もあります。以下も参照してください。
- Will Hunt による詳細な 説明 があります。古いバージョン (2.8) 向けに書かれていますが、背景情報を含んでいます。
貢献
多くの貢献者がすでにプロジェクトを現在の状態に押し上げるのに協力しています。CREDITS.md を参照してください。あなたの貢献も歓迎します!課題リスト があります。始めるには、good first issue、for grabs、または help wanted とラベル付けされた課題を探してください。後者はより高度です。ドキュメントの課題 を探したり、ユニットテスト や GitHub Actions の改善に協力することもできます。
CONTRIBUTING.md を読むことを推奨し、またコーディング規約 もご覧ください。何百行もの PR を書き始める前に、まず issue を作成することをお勧めします。
一般的に、ハンドシェイクや CA ストアのメンテナンスなど、メンテナンスの負担もあります。これらのメンテナンスタスクのいずれかに貢献し、責任を負えると思われる場合は、ぜひお声がけください。それにより、開発に充てられるリソースが増えます。
バグ報告
バグ報告は重要です。このプロジェクトの堅牢性を高めます。
バグは GitHub の issue トラッカーに報告してください。詳細情報の提供を忘れずに、issue のテンプレートと、https://github.com/testssl/testssl.sh/wiki/Bug-reporting の詳細を参照してください。まだ誰もあなたの考えを読むことはできません。そして、エージェンシーのみがあなたの画面を見ることができます ;-)
自分でデバッグすることもできます。こちら を参照してください。
外部/関連プロジェクト
testssl.sh のコードに特化していない質問は、以下の各プロジェクトにお問い合わせください。
AI 搭載ドキュメント @ DeepWiki
Web フロントエンド
並列スキャンと結果の Elasticsearch 検索を備えた大量スキャナ
testssl.sh を使用したプライバシーチェッカー
Nagios / Icinga プラグイン
- https://github.com/dnmvisser/nagios-testssl (Python 3)
- https://gitgud.malvager.net/Wazakindjes/icinga2_plugins/src/master/check_testssl.sh (Shell)