Требуется действительный сертификат для экземпляра AWS Windows EC2. Предоставляет ли менеджер сертификатов Amazon сертификаты для EC2?

Я запускаю проверку Qualys на экземпляре Windows EC2, и он сообщает о некоторых уязвимостях. Одним из них является "Сертификат SSL - общее имя субъекта не соответствует полному доменному имени сервера".

Решение для этого, как рекомендует Qualys, состоит в том, чтобы "Пожалуйста, установите сертификат сервера, Subject commonName или subjectAltName которого совпадает с полным доменным именем сервера".

Теперь проблема заключается в самозаверяющих сертификатах, которые не проверяются третьей стороной. Как получить действительный сертификат для этого сценария, чтобы Qualys не сообщал об ошибке. Я посмотрел в ACM, но я думаю, что он не предоставляет сертификаты для EC2.

Кто-нибудь может дать представление о том, как это сделать? Где я могу получить действительный сертификат и как добавить его в экземпляр. Я использую шаблон Cloudformation для создания instacne, используя Custom AMI, созданный с помощью упаковщика. Я упоминаю об этом, потому что было бы полезно узнать, нужно ли добавлять этапы добавления сертификата на этапе создания AMI.

2 ответа

К сожалению, вы не можете использовать сертификат, выданный AWS Certificate Manager, напрямую в EC2 Direct.

Вы можете использовать его на балансировщике нагрузки и Cloudfront и API-шлюзах, см. Это.

Но Обходной путь заключается в том, что если у вас есть один EC2, поместите его позади Classic LB и завершите ssl в LB, чтобы при попытке доступа к вашему контенту в ec2 это происходило через HTTPS.

Спасибо

Самый простой способ пройти такое сканирование - это ограничить доступ к вашему экземпляру, чтобы вы только выставляли общедоступные службы (например, HTTP или HTTPS), а затем "ужесточали" конфигурацию каждой необходимой общедоступной службы. Все никакие общедоступные службы / порты не должны ограничиваться только вашим IP-адресом (-ами). Это, вероятно, решит ряд ваших проблем, обнаруженных при сканировании.

RDP и многие другие сервисы (MSSQL, MSDeploy, POSH Remoting и многие другие) предназначены только для администраторов и не должны быть видны для сканирования Qualys (или хакеров и ботов, которые бродят по Интернету...).

Как предлагает Kush выше, добавление балансировщика нагрузки позволит вам использовать сертификаты ACM для веб-трафика, но также добавляет дополнительный уровень безопасности между Интернетом и вашим экземпляром. Это означает, что вы можете дополнительно ограничить доступ к своему экземпляру только своим VPC - так как общедоступный веб-трафик будет проходить через загрузочный балансировщик в вашем VPC, а не напрямую к вашему экземпляру.

Если вы размещаете веб-сайт по HTTPS без балансировщика нагрузки, вам также необходимо отредактировать настройки SChannel (компонент, отвечающий за SSL/TLS в Windows), чтобы пройти сканирование, а также установить действующий сертификат для веб-сайта.

Вы можете редактировать SChannel вручную в реестре здесь: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\

(Требуется перезагрузка - сделайте снимок перед началом работы;)

ВНИМАНИЕ - неправильная настройка SChannel может нарушить RPD или ограничить доступ веб-браузеров к вашему сайту и т. Д. Протестируйте внимательно!

К вашему сведению, мне проще использовать инструмент под названием IIS Crypto для настройки SChannel ( https://www.nartac.com/Products/IISCrypto) - он имеет графический интерфейс и интерфейс CLI для изменения сценариев в SChannel. (Вы все еще можете сломать свой сервер с помощью этого инструмента!)

Если вы хотите посмотреть на использование ACM и loadbalencer с CloudFormation, я бы предложил зарегистрировать и утвердить сертификат через консоль aws и записать ARN сертификата. Этот ARN можно использовать при создании loadbalencer в шаблоне CloudFormation.

ПРИМЕЧАНИЕ. Приведенное выше решение поможет решить проблему при сканировании, но не решит ее. Можно использовать свой собственный сертификат для RDP (никогда не пробовал), но, к сожалению, не сертификат ACM. Вы также можете посмотреть на такой сервис, как LetsEncrypt, чтобы получить бесплатный базовый сертификат. Другой способ избежать этой ошибки - вы можете экспортировать самоподписанный сертификат из экземпляра и импортировать его в хранилище сертификатов вашего компьютера (или домена?).

Другие вопросы по тегам