web-dev-qa-db-ja.com

SMTPサーバーのSTARTTLS構成をテストする

SMTPサーバーをテストしてSTARTTLS暗号化に関連する構成の問題をチェックし、STARTTLSを使用して電子メールが暗号化されるように正しく構成されているかどうかを報告する簡単な方法はありますか?

Qualys SSLサーバーテスター を類比として考えてください。これは、Webサーバーをすばやくチェックして、SSLの使用が適切に構成されているかどうかを確認し、より強力な暗号化を提供するために構成を改善する機会を特定する優れたツールです。多くの一般的な構成エラーを認識する方法を知っており、グレードを付けます。 SMTPサーバーのSTARTTLSにそのようなものはありますか?

特に、SMTPサーバーの場合、次のことを伝えたいと思います。

  1. sTARTTLSをサポートしているかどうか
  2. sTARTTLS構成が適切にセットアップされ、他の主要な電子メールプロバイダーとの電子メールが暗号化されるようになるかどうか
  3. 完全転送秘密をサポートしているかどうか、および完全転送秘密暗号スイートが実際に使用されるように構成されているかどうか(可能な場合)、
  4. 厳格な検証チェックに合格する適切な証明書を提供するかどうか
  5. その他の構成エラーがあるかどうか。

これどうやってするの?

Facebook および Google は最近、インターネットでのSTARTTLSの使用状況を強調し、サーバーオペレーターにSTARTTLSを有効にして適切に設定して、転送中に電子メールが暗号化されるように要求しました。この目標をサポートする使いやすいツールはありますか?

31
D.W.

興味のある可能性のあるテストを提供するいくつかのWebサイトを以下に示します。

  • SSL-Toolsは、言及した各項目についてSMTPサーバーをテストするWebベースのツールです。これは、STARTTLSサポート、厳密な検証チェックに合格した証明書、Perfect Forward Secrecyのサポートなどをテストします。

    https://ssl-tools.net/mailservers

  • StartTLSは、SMTPサーバーをテストし、SMTPサーバーの構成に関する多くの詳細と共にシンプルなグレードを提供するWebベースのツールです(ただし、完全転送秘密が使用されているかどうかのテスト):

    https://starttls.info/the about page サービスに関する情報を参照、または statistics サービスで確認されたサイトについて)

  • CheckTLSは、STARTTLSサーバーのSMTPサーバーをテストする方法と、証明書が「正常」かどうか(つまり、厳密な検証を通過します)、およびそのSMTPサーバーに接続したときにネゴシエートされた暗号に関する部分的な情報(ただし、完全転送秘密のサポートに関する情報はありません)。

    https://www.checktls.com/

  • 次のWebベースのツールは、SMTPサーバーがSTARTTLSをサポートしているかどうかをチェックしますが、質問で述べた他のチェックは実行しません。

1つまたは2つだけをチェックする必要がある場合は、SSL-ToolsとStartTLSを試してください。

31
MrBrian

Starttlsのサポートはopenssl s_client -starttls smtp ...で確認できます。

  • -CAfile/-CApathを正しく設定すると、証明書チェーンを確認することもできます。
  • チェックしないのはホスト名です。手動で確認する必要があります。
  • また、使用された暗号を出力するので、それがECDHE暗号かDHE暗号かを確認して、前方機密が使用されているかどうかを確認できます。
  • サーバーがFS暗号を優先リストのandに置いている場合でも暗号を優先するかどうかを確認するために、-cipherオプションで明示的に暗号リストを指定したい場合があります。

あるいは、次のように最近の十分なIO :: Socket :: SSLでPerlを使用することもできます。

use strict;
use warnings;
use IO::Socket::SSL 1.968;
use Net::SSLGlue::SMTP;

my $Host = 'mx.example.com';
my $smtp = Net::SMTP->new($Host, Debug => 1) or die "connect failed";
$smtp->starttls(
    # where your CA are, has usable defaults
    # SSL_ca_file => ...,
    # SSL_ca_path => ....,
    # to restrict ciphers and set preference
    # SSL_cipher_list => '...',
) or die "starttls failed: $@|$SSL_ERROR";
print "cipher=".$smtp->get_cipher."\n";
print "cipher=".$smtp->get_sslversion."\n";

これにより、適切な証明書のチェックが行われ、ホスト名の検証が行われ、暗号が転送秘密であるかどうかを確認するための暗号が提供され、SSLバージョンも提供されます。また、最新のIO :: Socket :: SSLバージョンでは、証明書が取り消されているかどうかを確認するためにOCSPチェックを実行することもできます(IO :: Socket :: SSLのドキュメントを参照)。

12
Steffen Ullrich

これは、Qualys SSL Labsに結果のような結果を提供し、STARTTLSをサポートするいくつかのツールです

  • testssl.shhttps://testssl.sh/

    TLS/SSL暗号、プロトコル、および最近の暗号化の欠陥などのサポートについて、任意のポートでサーバーのサービスをチェックするコマンドラインツール。その非常に包括的で大きな利点は、イントラネットサーバーもスキャンできることです。

    例えば。 ./testssl.sh -t smtp aspmx.l.google.com:25

  • HTBridge SSLテスト

    これは、電子メールやその他のポートを許可するWebベースのツールです。

    https://www.htbridge.com/ssl/

  • Cryptosense Discovery

    このツールを使用すると、任意のポートでスキャンできます。スキャンされるデフォルトのポート(21、22、25、110、143、389、443、465、587、636、993、995、5222、5223、5269)

    https://discovery.cryptosense.com/

2
bhushan5640

CryptCheckはQualys SSLサーバーテスターに​​似ていますが、SMTPをサポートしているだけです。 CryptCheckはC/B/A/A +を格付けする暗号スイートをチェックします...

CryptCheck: https://tls.imirhil.fr

ウェブサイトはフランス語です https://imirhil.fr

1
Ronald

TLSの部分については、使用できる他のいくつかのオンラインツールがあります。

また、いくつかのオフラインのもの:

0