
任意のポートでTLS/SSL暗号化をテスト
testssl.sh は、サーバーのサービスを任意のポートでチェックし、
TLS/SSL 暗号スイート、プロトコルのサポート、およびいくつかの
暗号上の欠陥を確認する無料のコマンドラインツールです。
本ソフトウェアは無料です。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 ブランチでは大きな実験をしないよう努めていますが、開発の性質上、変更が発生し、成熟には少し時間がかかる場合があります。
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 形式のマニュアルページをご覧ください。多くの貢献者がすでにプロジェクトを現在の状態に押し上げるのに協力しています。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 のコードに特化していない質問は、以下の各プロジェクトにお問い合わせください。