10 онлайн-инструментов для проверки SSL, TLS и последних уязвимостей
От переводчика.Привет! В последнее время было обнаружено довольно много уязвимостей, связанных с SSL, поэтому мне захотелось сделать перевод статьи, в которой собран список инструментов для тестирования SSL, TLS и различных уязвимостей. В статье довольно много терминов, поэтому хочу извиниться, если что-то перевела не совсем корректно. Если вы можете предложить лучший вариант перевода, пожалуйста, напишите в личные сообщения.
Проверяйте SSL, TLS и шифрование
Проверка SSL необходима для обеспечения правильного отображения параметров сертификата. Существует множество способов проверки SSL-сертификатов. Проверка с помощью инструментов в сети позволяет получить полезную информацию, находящуюся ниже. Она также поможет вам выявить угрозы на ранних стадиях, а не после получения жалобы клиента.
Я получил ряд вопросов после своей последней публикации «Усиление защиты Apache. Гид по безопасности» о проверке TLS и SSL. В этой статье я расскажу вам о некоторых полезных инструментах для проверки SSL-сертификатов в сети.
Symantec SSL Toolbox
Проверка CSR — очень важно проверить CSR перед отправкой для подписи запроса. Вы сможете удостовериться в том, что CSR содержит все требуемые параметры, например, CN, DN, O, OU, алгоритм и др.
Проверка установки сертификата — после установки всегда полезно удостовериться в том, что сертификат действителен и содержит необходимую информацию. Этот онлайн инструмент позволит вам проверить CN, SAN, название организации, OU, город, серийный номер, тип применяемого алгоритма, длину ключа и подробности о цепочке сертификата.
Wormly Web Server Tester
Тестирование web сервера от Wormly позволяет получить подробный обзор параметров ссылки. Обзор включает в себя данные о сертификате (CN, срок действия, цепочка сертификата), шифровании, длине открытого ключа, безопасности повторного согласования, протоколах типа SSLv3/v2, TLSv1/1.2.
DigiCert SSL Certificate Checker
Инструмент для проверки установки SSL сертификатов от DigiCert — еще один прекрасный инструмент, который позволит вам преобразовать DNS в IP адрес, узнать кто выдал сертификат, его серийный номер, длину ключа, алгоритм подписи, SSL-шифрование, поддерживаемое сервером и срок действия сертификата.
SSL Shopper
Проверка SSL от SSL Shopper — подойдет для быстрой проверки типа сервера, срока действия, SAN и цепочки доверия. Вы сможете оперативно найти ошибку в цепочке сертификата или узнать, что он не работает должным образом. Инструмент отлично подходит для устранения неполадок в работе.
GlobalSign SSL Check
Проверка конфигурации SSL от GlobalSign предоставляет очень подробную информацию о веб-сервере и SSL. Инструмент ставит баллы в зависимости от данных сертификата, поддержки протоколов, обмена ключами и надёжности шифра. Это незаменимый инструмент при настройке нового безопасного URL или проведении аудита. Обязательно попробуйте!
Qualys SSL Labs
Позволяет оценить ваш сайт в отношении безопасности SSL-сертификата. Предоставляет очень подробную техническую информацию. Советую системным администраторам, аудиторам, инженерам по интернет-безопасности для выявления и наладки “слабых” параметров.
Free SSL Server Test
Производит проверку вашей https ссылки и отображает следующую информацию, которую при желании можно скачать в PDF-формате:
- Совместимость PCI DSS
- Соответствие принципам NIST
- Размер DH
- Поддержка протоколов
- Поддержка шифров
- Откат TLS соединения
- Поддержка повторного согласования
- Основные наборы шифров
- Контент третьих лиц
COMODO SSL Analyzer
SSL анализатор от COMODO позволяет провести анализ https URL и быстро получить отчеты по различным параметрам, включая
- Серийный номер
- Отпечаток
- Действительность SSL-сертификата
- Эмитент
- Поддержка протокола (SSL/TLS)
- Защита от атак Downgrade
- Безопасность повторного согласования (по инициативе сервиса или клиента)
- Сжатие
- Session tickets
- Активные наборы шифрования
SSL Checker
Что действительно хорошо в SSL Checker, так это то, что инструмент позволяет настроить напоминание (за 30 дней) об истечении срока действия сертификата. Это отлично, мне кажется, что бесплатно эту услугу больше нигде получить нельзя. Кроме того, инструмент позволяет выполнить базовую проверку таких параметров, как:
- Цепочка сертификата
- Корневой сертификат
- Алгоритм подписи
- Отпечаток
- Элементы цепочки
- SAN
HowsMySSL
Этот инструмент отличается от остальных. Он позволяет проверить клиента (браузер) и получить оценку состояния по следующим параметрам:
- Поддерживаемая версия протокола
- Сжатие
- Поддержка session ticket
- Поддерживаемое шифрование
Для проверки клиента, просто зайдите на HowsMySSL в браузере.
Другие инструменты онлайн-проверки
Проверка уязвимости FREAK:
Проверка уязвимости LogJam:
Проверка уязвимости SHA-1:
Я считаю, что перечислил все бесплатные онлайн-инструменты для проверки параметров SSL-сертификата и получения достоверной технической информации для проведения аудита и обеспечения безопасности веб-приложений. Если вам понравилось, поделитесь с друзьями.
P. S. Приглашаем в наше Хостинг Кафе. Работают и активно развиваются 6 сайтов для поиска хостинговых услуг:
- VDS.menu — Поиск виртуальных серверов
- SHARED.menu — поиск виртуального хостинга
- DEDICATED.menu — поиск выделенных серверов
- HTTPS.menu — поиск SSL сертификатов
- LICENSE.menu — поиск лицензий
- BACKUP.menu — поиск места для резервных копий
Спасибо andorro за помощь с подготовкой публикации.
habr.com
Проверка SSL-сертификатов на предмет отзыва / Habr
В наше время одним из самых важных аспектов безопасной передачи информации является шифрование. Данные при передаче от клиента к серверу зашифровываются с помощью SSL-сертификата. Сертификат – это публичный ключ, заверенный удостоверяющим центром.Все SSL-сертификаты, как правило, выдаются на ограниченный срок, по окончании которого они теряют силу и должны быть переизданы. Однако бывают случаи, когда сертификат может быть отозван ещё до окончания срока действия. Причин на отзыв SSL-сертификата довольно много, самые распространённые из них – закрытый ключ был утерян или скомпрометирован, изменились регистрационные данные компании и т.п.
Существует 2 альтернативных способа проверить, находится ли SSL-сертификат в списках отзыва:
- CRL (Certificate Revocation List) – проверяется наличие серийного номера сертификата в списке отзыва.
- OCSP (Online Certificate Status Protocol) – сертификат отправляется на специализированный сервер, где проверяется его статус.
Рассмотрим оба эти способа более подробно с помощью консоли Ubuntu. А в качестве примера проверим на отзыв сертификат для домена habr.com.
CRL
echo -n | openssl s_client -connect habr.com:443 -servername habr.com 2>&1 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/habr.com.crt
Спасибо legioner за подсказку добавить параметр -servername — он необходим для правильного выбора сертификата, если на один IP-адрес их установлено несколько (SNI).
Смотрим детали сертификата:
openssl x509 -noout -text -in /tmp/habr.com.crt
Здесь нас интересует в разделе «X509v3 CRL Distribution Points» пункт «Full Name».
Скачиваем по этой ссылке список CLR:
wget http://crl.comodoca.com/COMODORSADomainValidationSecureServerCA.crl
Выдираем серийный номер сертификата:
openssl x509 -in /tmp/habr.com.crt -noout -serial
Смотрим, есть ли этот номер в списке CRL:
openssl crl -inform DER -text -in COMODORSADomainValidationSecureServerCA.crl | grep "90E58B0601C3AD98F07AEE092041C437"
Если ничего не нашлось, значит сертификат не является отозванным.
OCSP
Выведем на экран сертификат интересующего нас домена и цепочки промежуточных (Intermediate) сертификатов:
echo -n | openssl s_client -connect habr.com:443 -showcerts
Сохраним в файлы сертификат домена и промежуточный сертификат (код между строками ——BEGIN CERTIFICATE—— и ——END CERTIFICATE——):
/tmp/habr.com.crt /tmp/intermediate.crt
Определим OCSP-сервер:
openssl x509 -in /tmp/habr.com.crt -noout -ocsp_uri
Отправим запрос OCSP-серверу проверить сертификат на предмет отзыва:
openssl ocsp -url http://ocsp.comodoca.com -issuer /tmp/intermediate.crt -cert /tmp/habr.com.crt -text
Если всё указали правильно, то OCSP-сервер должен вернуть информацию по сертификату.
Здесь интерес представляют последние строчки:
Response verify OK
/tmp/habr.com.crt: good
Об отсутствии сертификата в списке отозванных говорит значение «good», если же сертификат отозвали, то значение будет «revoked».
Автоматизация
Для этого берём с Github готовый скрипт ssl-check-revoc.sh, который осуществляет проверку сертификатов методом CRL:
wget https://raw.githubusercontent.com/o-pod/security/master/ssl-check-revoc.sh
Далее делаем скрипт исполняемым:
chmod a+x ssl-check-revoc.sh
Теперь можно проверять как уже установленные сертификаты для домена, так и сохранённые локально в файлы (опция -f):
./ssl-check-revoc.sh habr.com -v
Zabbix
Скрипт ssl-check-revoc.sh может проверять сертификаты не только из консоли, он также вполне подходит в качестве чекера для Zabbix, поэтому всю грязную работу по отслеживанию попадания сертификатов в список отзыва можно поручить системе мониторинга.
Заходим в конфиг Zabbix /etc/zabbix/zabbix_server.conf и смотрим, где лежат скрипты для внешних проверок:
ExternalScripts=/etc/zabbix/externalscripts
Копируем в этот каталог наш скрипт и рестартуем Zabbix:
sudo cp ssl-check-revoc.sh /etc/zabbix/externalscripts/
sudo systemctl restart zabbix-server
Заходим в веб-интерфейс и создаём шаблон (Configuration >> Templates >> Create template). В качестве имени шаблона указываем «Template SSL Checking». Затем внутри шаблона создаём элемент данных (Item) «SSL Certificate in Revocation List», в качестве ключа указываем «ssl-check-revoc.sh[{HOST.NAME}]», с типом проверки «External check». Интервал проверок можно установить на своё усмотрение в зависимости от критичности проекта.
Также понадобятся два триггера:
1. Для сигнализации отзыва сертификата «Certificate for domain {HOST.NAME} is in revocation list»
Expression: «{Template Custom SSL Checking:ssl-check-revoc.sh[{HOST.NAME}].last()}=1»
2. Для сигнализации об ошибке на случай, если что-то пойдёт не так (например возникнут проблемы с CLR-сервером и т.п.) «Error to check certificate for domain {HOST.NAME}»
Не забываем в экшенах (Configuration >> Actions) настроить способ оповещения в случае срабатывания триггеров.
Теперь осталось создать хосты, сертификаты которых будем регулярно проверять (Configuration >> Hosts >> Create host). На вкладке Templates прилинковываем наш темплейт «Template SSL Checking».
И всё! Можно спать спокойно: если SSL-сертификат вашего домена по какой-либо причине попадёт в список отозванных, Zabbix сразу же вам сообщит.
habr.com
Проверка файлов SSL сертификата
Однако, когда файлы уже есть, как проверить те ли это файлы, и будет ли работать сертификат.
Обратите внимание!
Вы можете заказать покупку и установку SSL сертификата под ключ (на 1 или 2 года) — вот тут https://www.advantshop.net/services, в этом случае все необходимые действия, включая склейку и проверку сертификата сделает специалист технической поддержки, а Вы сэкономите время и получите уже готовый, проверенный результат.
Для проверки файлов, мы воспользуемся удобным сервисом и в данной статье рассмотрим:
Проверка файлов перед началом
Обратите внимание!
У вас уже должны быть файлы SSL сертификата, а именно два файла (файл сертификата и файл приватного ключа).
1) Файл сертификата, это обычный текстовый файл. Если его открыть текстовым редактором (например блокнотом), то файл сертификата должен выглядеть вот так (рис. A1).
Рисунок A1.
2) Файл ключа, это обычный текстовый файл. Если его так же открыть текстовым редактором (блокнотом), то файл ключа должен выглядеть вот так (рис. A2).
Рисунок A2.
Если файлы похожи на те что показаны на картинке, значит всё хорошо. Можно приступить к проверки на стороне сервиса.
Проверка сертификата — sslshopper.com
Переходим на страницу проверки — https://www.sslshopper.com/certificate-decoder.html
Затем в поле «Paste Certificate Text» копируем содержимое файла с сертификатом. Скопировать необходимо всё содержимое, включая заголовок ( ——BEGIN CERTIFICATE—— и окончание ——END CERTIFICATE—— ),
после этого начнётся автоматическая проверка файла и внизу будут показаны данные расшифровки (рис. А3).
Рисунок A3.
Интересны следующие поля:
- Common Name — это название файла, просто имя чтобы ориентироваться.
- Subject Alternative Names — тут указаны адреса для которых действует сертификат.
- Valid From — Дата начала действия.
- Valid To — Дата окончания действия, проверьте чтобы знать когда закончит действие данный сертификат.
Если все данные отмечены зелёным значком, и сами данные не вызывают у вас вопросов, значит всё хорошо.
Всё готово.
Сервис для проверки сертификата и ключа — sslshopper.com
Переходим на страницу проверки — https://www.sslshopper.com/certificate-key-matcher.html
В графе «What to Check» оставляем выбранный вариант «Check if a Certificate and a Private Key match«
Затем в нижние поля (их два), в поле «Enter your Certificate«, копируем содержимое файла с сертификатом. Скопировать необходимо всё содержимое, включая заголовок ( ——BEGIN CERTIFICATE—— и окончание ——END CERTIFICATE—— )
Во второе поле, так же скопировать, но уже содержимое файла с приватным ключом. Скопировать необходимо всё содержимое, включая заголовок ( ——BEGIN PRIVATE KEY—— и окончание ——END PRIVATE KEY—— )
Рисунок 1.
После этого начнётся автоматическая проверка соответствия файлов.
Если всё хорошо, везде будут стоять зелёные галочки, символизирующие что проверка прошла успешно.
Всё готово.
Сервис для проверки сертификата и ключа — sslchecker.com (вариант 2)
Можно воспользоваться вторым сервисом, так же, для проверки файлов.
Переходим на страницу проверки — https://www.sslchecker.com/matcher
Затем в нижние поля (их два), в поле «SSL paste below» (1), копируем содержимое файла с сертификатом. Скопировать необходимо всё содержимое, включая заголовок ( ——BEGIN CERTIFICATE—— и окончание ——END CERTIFICATE—— )
Во второе поле (2), так же скопировать, но уже содержимое файла с приватным ключом. Скопировать необходимо всё содержимое, включая заголовок ( ——BEGIN PRIVATE KEY—— и окончание ——END PRIVATE KEY—— )
Рисунок 2.
Затем нажимаем на кнопку «Match», после этого начнётся автоматическая проверка соответствия файлов.
Если всё хорошо, вверху страницы будет показано зелёное сообщение, символизирующие что проверка прошла успешно.
Всё готово.
www.advantshop.net
Проверка SSL сертификата: ТОП-5 инструментов
SEOГлавная » SEO » Проверка SSL сертификата: ТОП-5 инструментовВопрос безопасности в интернете всегда стоял остро, и периодически некоторые аспекты требуют большей защищенности из-за обнаружения новых уязвимостей. Одним из таких аспектов является проверка SSL-сертификата. Она необходима, чтобы заранее выявить проблемы или угрозы, из-за которых параметры сертификата будут отображаться некорректно. В этом материале мы приведем пять примеров проверенных онлайн-инструментов, которые помогут проверить SSL.
Благодаря этому сервису можно проверить установку SSL-сертификата, его дейстивительность и содержание всей необходимой информации (владелец сертификата, его физическое местонахождение, серийный номер и т.д.). Кроме этого, Symantec SSL Toolbox проводит проверку CSR на наличие всех необходимых параметров, что полезно перед отправкой запроса для подписи.
Из всех возможных онлайн-инструментов мы выбрали именно этот и пользуемся им. Он предоставляет много технической информации о безопасности SSL-сертификата, и будет полезным всем, кто занят интернет-безопасностью, так как помогает выявить много уязвимых моментов.
Простейший инструмент, который оперативно предоставит отчет по ключевым показателям SSL: серийный номер, отпечаток, срок действия, поддерживаемые версии протоколов, информацию о сервере, и так далее. Кроме того, в отчете будет информацию о слабозащищенных или вовсе не защищенных параметрах.
Как и остальные аналогичные инструменты, SSL Checker проверяет основные параметры сертификата: действительность, алгоритм подписи, SAN, элементы цепочки и т.д. Однако он имеет и одну полезную фишку, которую бесплатно найти затруднительно, а именно настройку уведомления об окончании периода действия сертификата за 30 дней.
Введите свою https-ссылку и получите информацию о поддержке шифров, протоколов, повторного согласования, совместимости PCI DSS, размере DH и т.д. Также доступна функция сохранения сгенерированного отчета в PDF-формате.
Заключение
Проверка SSL-сертификатов и получение сопутствующей технической информации – это то, чем пренебрегать категорически не рекомендуется. Это залог вашей интернет-безопасности. Благо, для такого аудита достаточно онлайн-средств, топовые из которых мы перечислили. Если вы пользуетесь каким-то другим, и считаете его лучшим – милости
просим оставить комментарий.
medoed1.ru
Как проверить SSL-сертификат
Четыре метода:
- Google Chrome для Windows и macOS
- Google Chrome для Android и iOS
- Mozilla Firefox для Windows и macOS
В этой статье вы узнаете, как проверить SSL-сертификат веб-сайта в веб-браузере на компьютере, телефоне или планшете. Шаги несколько отличаются в зависимости от вашего браузера и операционной системы.
Метод 1. Google Chrome для Windows, MacOS
1. Откройте Chrome
- Обычно вы найдете его в разделе «Все приложения» в меню «Пуск» (Windows) или в папке «Приложения» (macOS).
2. Перейдите на веб-сайт с сертификатом, который вы хотите проверить
- Чтобы попасть туда, введите URL-адрес в адресную строку в верхней части экрана и нажмите ↵ Enter или ⏎ Return. Вы также можете искать веб-сайт в своей поисковой системе по своему усмотрению.
3. Щелкните значок блокировки
- Он находится слева от адресной строки в верхней части Chrome. Он должен сказать «Безопасный» рядом с ним. Появится всплывающее сообщение с сообщением о том, является ли сертификат безопасным.
4. Нажмите Сертификат
- Это около середины всплывающего окна. Это открывает сертификат для просмотра.
5. Просмотрите сертификат
- Вся информация, которая вам нужна, находится на трех вкладках. Перейдите по вкладкам, чтобы найти то, что вы ищете.
6. Нажмите OK, когда закончите
- Это закрывает окно сертификата.
Метод 2. Google Chrome для Android и iOS
1. Откройте Chrome
- Это значок синего, зеленого, желтого и красного кругов с надписью «Chrome» в приложении (Android) или на главном экране (iPhone/iPad).
- В версии iPhone / iPad Chrome не отображается столько сведений о сертификате, сколько версия для Android.
2. Перейдите на веб-сайт с сертификатом, который вы хотите проверить
- Для этого введите URL-адрес в адресную строку в верхней части экрана и нажмите кнопку «Перейти» или «Ввод».
3. Нажмите значок замка
- Он находится в адресной строке рядом с URL-адресом. Это показывает, безопасно ли соединение, и кто назначил сертификат SSL.
- Если вы используете iPhone или iPad, это — вся информация, которую вы сможете увидеть.
- Если у вас есть Android, перейдите к следующему этапу этого метода.
4. Нажмите «Подробности»
- Это всплывающее окно появилось.
5. Нажмите «Информация о сертификате»
- Он находится ниже имени издателя сертификата. Теперь вы увидите сведения о сертификате.
Метод 3. Mozilla Firefox для Windows и macOS
1. Откройте Firefox на своем компьютере
- Обычно вы найдете его в разделе «Все приложения» в меню «Пуск» Windows или в папке «Приложения Mac».
- Невозможно просмотреть сертификаты SSL в Firefox для Android, iPhone или iPad. Если вы используете Firefox на своем мобильном телефоне или планшете, перейдите на https://www.digicert.com/help, введите имя домена, затем нажмите «CHECK SERVER».
2. Перейдите на веб-сайт с сертификатом, который вы хотите проверить
- Чтобы попасть туда, введите URL-адрес в адресную строку в верхней части экрана и нажмите ↵ Enter или ⏎ Return. Вы также можете искать веб-сайт в своей поисковой системе по своему усмотрению.
3. Нажмите зеленую иконку замка
- Он находится в адресной строке в верхней части Firefox на левой стороне. Всплывающее меню будет расширяться.
4. Нажмите стрелку с правой кнопкой мыши рядом с именем веб-сайта
- Откроется меню «Безопасность сайта» под значком блокировки.
5. Нажмите «Дополнительная информация»
- Появятся дополнительные сведения о безопасности.
6. Нажмите Просмотреть сертификат
- Это кнопка в разделе «Безопасность в Интернете». Это отображает все соответствующие данные сертификата SSL для вашего обзора.
Метод 4. Safari для macOS
1. Откройте Safari на своем Mac
- Это значок компаса на Доке.
2. Перейдите на веб-сайт с сертификатом, который вы хотите проверить
- Чтобы попасть туда, введите URL-адрес в адресную строку в верхней части экрана и нажмите ⏎ Return. Вы также можете искать веб-сайт в своей поисковой системе по своему усмотрению.
3. Нажмите на значок замка
- Он находится в адресной строке в верхней части Safari. Появится раскрывающийся список.
4. Нажмите «Показать сертификат»
- Здесь вы найдете дополнительную информацию о сертификате, в том числе о том, когда он был выпущен, кому он был выпущен, когда он истекает, и действительно ли он действителен.
5. Нажмите «ОК», чтобы закрыть окно
- Он находится в нижнем правом углу окна сертификата.
Читайте также:
Нет похожих статей
kakdelayut.ru
Онлайн Просмотр SSL Сертификата для Сайта, Проверьте HTTPS Соединение Бесплатно
Проверка сертификата SSL
Что такое SSL? Под этой аббревиатурой принято понимать специальный протокол шифрования данных, которые предусмотрены между сервером, на котором размещаются ресурсы и клиентом. Данный протокол представляет собой наиболее распространенный способ защиты данных в сетевом пространстве. Для того чтобы сайт оставался безопасным для посетителей, нужна периодическая проверка сертификата SSL, которая предусматривает анализ данных по протоколу. Прежде чем описать каким образом осуществляется проверка, укажем, что представляет собой сам протокол.
Данные об SSL
В свое время, данная мера безопасности была разработана непосредственно компанией Netscape. Безопасный обмен обеспечивается посредством уникального механизма шифрования, а также последующей аутентификации выданного цифрового сертификата. Представляет собой https сертификат безопасности — своеобразный файл, который в дальнейшем идентифицируется серверами. Подпись такого сертификата осуществляется специализированными центрами, они же и заверяют данный электронный протокол. Такие сервисы принято называть центрами, удостоверяющими SSL или же центр сертификации.
Более простыми словами можно сказать, что такой протокол представляет собой своеобразную цифровую подпись сайта, что позволит подтвердить его подлинность. Таким образом, клиенты, решившие подключить и проверить SSL сертификат обеспечивают безопасное использование своих ресурсов.
Практическое применение протоколов позволит обеспечить, как полноценную защиту ресурса, так и клиентов, принявших решение посещать сайты и взаимодействовать с ними. Сертификат позволяет без проблем применить к собственному сайту специальную методику шифрования.
Процедура проверки сертификата
Каким образом можно проверить SSL сертификат? С помощью специального сервиса Regery можно проверить дату выпуска, состояние правильности структуры кода, срок действия сертификата. Сервисом можно воспользоваться абсолютно бесплатно, следовательно, это позволит без проблем воспользоваться услугами сервиса. Проверка покажет, есть ли необходимость в перевыпуске сертификата, что является неоспоримым преимуществом разработки. HTTPS проверка сертификата выполняется в несколько нажатий на клавиши, и не требует от пользователя выполнения сложных операций.
В настоящее время, браузеры выставляют требования относительно использования протоколов вне зависимости от конкретных сайтов, помечая отдельные из них как небезопасные. После того, как сайт был куплен или обновлен, обязательно должна быть проведена проверка валидности SSL.
По результатам можно отметить и наличие определенной цепочки сертификатов. Данные потребуются владельцу ресурса для того, чтобы иметь возможность обеспечить систематическое шифрование текущего соединения. Если остались вопросы, можно воспользоваться службой поддержки, сотрудники которой смогут решить сложившуюся ситуацию, за короткий промежуток времени.
regery.com.ua
Openssl, проверка SSL-сертификатов через терминал
При установке SSL-сертификатов возникают различные вопросы. Эта статья поможет найти ответы на большинство из них.
OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений.
Рассмотрим на примерах следующие случаи:
1. Генерация CSR и ключа.
2. Создание нового CSR для уже имеющегося ключа.
3. Проверка корректности CSR.
4. Проверка корректности ключа.
5. Проверка данных SSL-сертификата.
6. Декодирование CSR.
7. Декодирование SSL-сертификата.
8. Сравнение соответствия SSL-сертификата и CSR.
9. Сравнение соответствия SSL-сертификата и ключа.
10. Проверка правильности порядка установки CA сертификатов.
Первое что нужно сделать — это зайти по SSH на сервер и установить OpenSSL.
Для CentOS:
yum install openssl
Для Debian/Ubuntu:
apt-get install openssl
1. Генерация CSR и ключа
Перейдем в директорию, в которой будут хранится файлы CSR и ключа:
cd /etc/ssl/certs/
Далее выполняем команду генерации CSR и ключа:
openssl req -out server.csr -new -newkey rsa:2048 -nodes -keyout server.key
server.csr – имя файла CSR;
server.key – имя файла ключа;
имена можно менять по своему усмотрению.
После ввода команды, так же как и через онлайн генератор CSR нужно ввести данные в поля:
Проверяем создались ли файлы:
ls -l /etc/ssl/certs/
Файлы создались, все в порядке. Можно заказывать SSL-сертификат.
Подробно о заказе и установке SSL-сертификата можно ознакомиться в статье “Заказ и установка SSL сертификата на хостинг Ukrnames”
Мы получили файлы сертификата (ukrnames_idua_org, ca_1, ca_2, ca_3) и переместим их так же в папку /etc/ssl/certs/
Можем переходить теперь к следующим пунктам статьи.
2. Создание нового CSR для уже имеющегося ключа.
Случаются ситуации, когда требуется продлить SSL-сертификат. Нужно заново вводить CSR запрос, но т.к. выполнялся заказ SSL-сертификата около года назад, то CSR файла у нас в большинстве случаев уже нет.
Данная команда позволит заново сгенерировать CSR-запрос на основании имеющегося у нас ключа (в данном примере ключ у нас находится в папке /etc/ssl/certs/server.key):
openssl req -out /etc/ssl/certs/server.csr -key /etc/ssl/certs/server.key -new
И вновь нужно вводить данные CSR.
Потом можем копировать данные файла server.csr и продлевать SSL-сертификат, копировать ключ уже не нужно, он заново сгенерирован в старый файл ключа /etc/ssl/certs/server.key.
3. Проверка корректности CSR
Выполним команду для проверки корректности содержимого CSR:
openssl req -text -noout -verify -in /etc/ssl/certs/server.csr
Получаем вывод, в котором стоит обратить внимание на поле verify , если стоит статус “OK” , значит с CSR все в порядке.
4. Проверка корректности ключа
Выполним команду для проверки корректности содержимого ключа:
openssl rsa -in /etc/ssl/certs/server.key -check
Получаем вывод, в котором стоит обратить внимание на поле RSA key, если стоит статус “ok”, значит с ключом все в порядке.
5. Проверка данных SSL-сертификата
Переименуем для удобства файл сертификата ukrnames_idua_org в server.crt с помощью команды:
mv /etc/ssl/certs/ukrnames_idua_org /etc/ssl/certs/server.crt
Выполним команду для проверки данных SSL-сертификата:
openssl x509 -in /etc/ssl/certs/server.crt -text -noout
Получаем вывод, в котором можно ознакомится с подробностями SSL-сертификата (кто выдал, для какого домена выдан и т.д.).
6. Декодирование CSR
Иногда после генерации CSR хочется проверить правильность ввода данных. Для этого достаточно выполнить команду:
openssl req -in /etc/ssl/certs/server.csr -noout -text
Получим вывод, в котором стоит обратить внимание на поле “Subject:”, в нем указаны все вводимые нами данные.
7. Декодирование SSL-сертификата
Вывести данные SSL-сертификата можно командой:
openssl x509 -in certificate.crt -text -noout
Вывод будет эдентичен выводу в пункте 5.
8. Сравнение соответствия SSL-сертификата и ключа
Для того чтобы сравнить SSL-сертификат и ключ, нужно будет вывести хеши данных их файлов и сравнить.
Выполним команды:
openssl x509 -noout -modulus -in /etc/ssl/certs/server.crt | md5sum
openssl rsa -noout -modulus -in /etc/ssl/certs/server.key | md5sum
Получим вывод на экран хешей:
5bece1c3929b08096dcad3eb4613b300
5bece1c3929b08096dcad3eb4613b300
Невооруженным взглядом можно увидеть, что хеши совпадают, значит сертификат соответствует ключу.
9. Сравнение соответствия SSL-сертификата и CSR
Для данного примера заменим данные CSR файла /etc/ssl/certs/server.csr на другие:
openssl req -out /etc/ssl/certs/server.csr -key /etc/ssl/certs/server.key -new
Выполним команды для вывода хешей файлов /etc/ssl/certs/server.crt и /etc/ssl/certs/server.csr:
openssl x509 -noout -modulus -in /etc/ssl/certs/server.crt | md5sum
openssl req -noout -modulus -in /etc/ssl/certs/server.csr | md5sum
Получим вывод на экран:
5bece1c3929b08096dcad3eb4613b300
6f4526732defc3985a3abd37f877eae5
Как видим, хеши отличаются – это означает, что сертификат не совпадает с CSR.
10. Проверка правильности порядка установки CA сертификатов.
На данном сервере, где выполнялись работы с openssl, установим веб-сервер, подключим домен ukrnames.idua.org и установим для него SSL-сертификат.
Т.к. веб-сервер не имеет доступа к папке /etc/ssl/certs/ , то копируем ключ, сертификат и промежуточные сертификаты в новосозданную папку /var/www/ssl/
В файле конфигурации веб-сервера подключаем файлы SSL-сертификата. Но чтобы все корректно работало, нужно создать файл для промежуточных сертификатов (к примеру ca.pem) и внести в него с определенной последовательностью данные файлов промежуточных сертификатов (ca_1, ca_2, ca_3).
Чтобы понять в какой последовательности нужно добавлять файлы, выполним ряд действий.
Получаем данные об издателе основного сертификата:
openssl x509 -in /var/www/ssl/server.crt -noout -text | grep Issuer:
Получаем вывод
Issuer: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Domain Validation Secure Server CA
Теперь получим данные о промежуточных сертификатах ca_1, ca_2, ca_3 (нужно обращать внимание только на поля “Issuer:” и “Subject:”):
openssl x509 -in /var/www/ssl/ca_1 -noout -text | egrep "Subject:|Issuer:"
openssl x509 -in /var/www/ssl/ca_2 -noout -text | egrep "Subject:|Issuer:"
openssl x509 -in /var/www/ssl/ca_3 -noout -text | egrep "Subject:|Issuer:"
Получим вывод на экран:
Сопоставив данные сертификата и промежуточных сертификатов, можно сделать вывод, что после основного сертификата первым промежуточным должен идти сертификат ca_3, т.к. в поле “Subject:” раздел CN файла ca_3 совпадает с полем “Issuer:” разделом CN (CN=COMODO RSA Domain Validation Secure Server CA).
Далее смотрим на поле “Issure:” раздел CN файла ca_3 (CN=COMODO RSA Certification Authority). Ищем в выводах файлов ca_2 и ca_1 совпадение в полях “Subject:” . Совпадение найдено в файле ca_2, данный файл мы будем подключать вторым.
И методом исключения, файл ca_1 будет подключаться самым последним.
Выполняем команды для объединения всех файлов промежуточных сертификатов(ca_1, ca_2, ca_3) в один (ca.pem):
cat /var/www/ssl/ca_3 > /var/www/ssl/ca.pem cat /var/www/ssl/ca_2 >> /var/www/ssl/ca.pem cat /var/www/ssl/ca_1 >> /var/www/ssl/ca.pem
Теперь можем увидеть полную цепочку установленных сертификатов с помощью команды:
openssl s_client -connect ukrnames.idua.org:443
Получим вывод на экран правильной цепочки подключения сертификатов:
blog.ukrnames.com