Просмотреть сертификат SSL на портах 587, 25, 110, 465, 995, 143, 993

Как просмотреть данные сертификата SSL, которые используются на портах 587, 25, 110, 465, 995, 143 и 993

Мне нужно проверить, какое доменное имя используется для защиты этих портов.

Я ищу здесь и в Google, но ничего не могу найти!

Ответы

Ответ 1

Используйте 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); вы должны проверить, требует ли ваша конфигурация сервера коммутатор и соответственно включает параметр командной строки.

Ответ 2

Вы можете использовать OpenSSL:

openssl s_client -connect x.x.x.x:port

(Вы также можете использовать опцию -showcerts для всей цепочки.)

Предполагая, что обычные службы работают на этих портах, это должно показать вам сертификаты для портов 465, 995 и 993, поскольку они являются протоколами, где сначала инициируется соединение SSL/TLS.

Порты 587, 25 (SMTP), 110 (POP3) и 143 (IMAP) используют SSL/TLS через обновление "START TLS". Вам нужно добавить -starttls prot, где prot есть smtp, imap или pop3, если это необходимо.

Обратите внимание, что если какая-либо из этих служб поддерживает указание имени сервера, вы можете не получить все сертификаты, если вы не запрашиваете правильное имя хоста в первую очередь. (SNI, вероятно, более распространен для HTTPS, чем для этих протоколов.)

Как только вы получите сертификат, вы можете скопировать/вставить (или передать) блок PEM (между BEGIN/END разделителями) на вход openssl x509 -text -noout. Имена хостов должны быть в альтернативных именах объектов (записи DNS) или, если они отсутствуют, в CN DN темы.