ポート587、25、110、465、995、143および993で使用されているSSL証明書の詳細を表示するにはどうすればよいですか
これらのポートを保護するために使用されているドメイン名を確認する必要があります。
私はこことグーグルで検索しましたが、何も見つかりません!
OpenSSLを使用します(ほぼすべてのLinuxディストリビューションにデフォルトでインストールされています。Windows用のバイナリビルドは Shining Light Productions )から入手することもできます。
openssl s_client -connect Host:port -servername Host [-starttls protocol]
ここで、Host
は接続するホスト、port
はポート番号です。
-servername Host
は、TLSハンドシェイクにホスト名を( サーバー名表示拡張 を介して)含め、同じIPで複数の保護されたリソースをホストするサーバーが正しい証明書を選択できるようにします。
-starttls protocol
部分は、チェックしているサーバーがデフォルトでプレーンテキストセッションを開始し、後でクライアントが要求したときにSSL/TLSに切り替える場合にのみ必要です(この場合、プロトコルはsmtp
、pop3
、imap
、ftp
、xmpp
);サーバー構成にスイッチが必要かどうかを確認し、それに応じてコマンドラインオプションを含める必要があります。
OpenSSL を使用できます:
openssl s_client -connect x.x.x.x:port
(チェーン全体に-showcerts
オプションを使用することもできます。)
これらのポートで通常のサービスが実行されていると想定すると、ポート465、995、993の証明書が表示されます。これらはSSL/TLS接続が最初に開始されるプロトコルであるためです。
ポート587、25(SMTP)、110(POP3)および143(IMAP)は、「START TLS」アップグレードを介してSSL/TLSを使用します。必要に応じて、-starttls prot
を追加する必要があります。ここで、prot
はsmtp
、imap
またはpop3
です。
これらのサービスのいずれかがサーバー名表示をサポートしている場合、最初に正しいホスト名を要求しないと、すべての証明書を取得できない可能性があることに注意してください。 (ただし、SNIはおそらくこれらのプロトコルよりもHTTPSの方が一般的です。)
証明書を取得したら、PEMブロック(BEGIN
/END
区切り文字の間)をopenssl x509 -text -noout
の入力にコピー/貼り付け(またはパイプ)できます。ホスト名は、サブジェクトの別名(DNSエントリ)にあるか、存在しない場合はサブジェクトDNのCNにある必要があります。