Назад | Перейти на главную страницу

SSL-сертификат - уязвимость, связанная с ошибкой проверки подписи

Мы запустили сканирование внешних уязвимостей PCI DSS на нашем веб-сайте, и сканирование завершилось неудачей, обнаружив множество уязвимостей, все они имеют уровень серьезности PCI: низкий, за исключением одной средней, а другой - высокой.

Высокий:

Угроза: SSL-сертификат связывает объект (лицо, организацию, хост и т. Д.) С открытым ключом. В SSL-соединении клиент аутентифицирует удаленный сервер с помощью сертификата сервера и извлекает открытый ключ из сертификата, чтобы установить безопасное соединение. Аутентификация выполняется путем проверки того, что открытый ключ в сертификате подписан доверенным сторонним центром сертификации. Если клиент не может проверить сертификат, он может прервать обмен данными или предложить пользователю продолжить обмен данными без аутентификации.

Воздействие. Используя эту уязвимость, могут происходить атаки типа «злоумышленник в середине» в сочетании с отравлением кэша DNS. Исключение: если сервер обменивается данными только с ограниченным набором клиентов, у которых есть сертификат сервера или доверенный сертификат CA, то сертификат сервера или CA может быть недоступен для всех, и сканирование не сможет проверить подпись.

Решение: установите сертификат сервера, подписанный доверенным сторонним центром сертификации. Результат: Сертификат № 0 CN = 132123-server1 не может получить сертификат местного эмитента.

И я понятия не имею, как решить эту проблему, чтобы пройти этот момент при повторном запуске сканирования. есть ли какие-то шаги, которым я могу следовать?

Ноты:
Сервер IIS 8
Веб-сайт использует подстановочный знак SSL от godaddy.

В основном ответ об ошибке, который вы получили при проверке подписи SSL:

невозможно получить сертификат местного эмитента

В эмитент - это орган подписи, который получил ваш запрос на подпись сертификата (CSR), подписал его и вернул вам сертификат сервера (который вы установили вместе с закрытым ключом, созданным с помощью CSR). Сертификат сервера - это файл PEM с .cer или .crt расширение. Это текстовый файл с сертификатами, закодированными блоками между:

-----BEGIN CERTIFICATE-----

     gibberish not copied

-----END CERTIFICATE-----

Текст ошибки объясняет:

Аутентификация выполняется путем проверки того, что открытый ключ в сертификате подписан доверенным сторонним центром сертификации.

Но для того, чтобы эта проверка произошла, необходим как минимум еще один сертификат, а именно сертификат эмитент, а также, возможно, один из корневой центр сертификации (CA).

Количество 1 в grep -c BEGIN /etc/pki/tls/certs/yourserver.crt покажет, что при наличии такого локального эмитента его сертификат недоступен. Для проверки требуется минимум 2 сертификата.

Сканер, такой как сканирование внешних уязвимостей PCI DSS, должен знать об этих дополнительных сертификатах. Они могут быть хорошо известными / встроенными центрами сертификации, такими как Verisign или Thawte, но вполне возможно, что они могут быть неизвестными, потому что CA может принадлежать вашей компании. Каноническое имя (CN =) и (отсутствующие) компоненты домена в ваших выходных данных показывают, что сертификат не был подписан ЦС, встроенным в сканер его поставщиком.

Обычной практикой является добавление сертификата эмитента и корневого сертификата CA (в указанном порядке) к сертификату сервера, чтобы сообщить клиенту SSL о цепочке доверия.

cat issuer.cer root_ca.cer >> etc/pki/tls/certs/yourserver.crt

Но это не вызывает доверия. Сканер и клиенты SSL в целом должны иметь сертификат корневого ЦС издателя. Если у вашей компании есть собственный ЦС, то устанавливать его нужно везде.