@verdandiv
PHP+MySql+JS+FreeBSD

Два SSL-сертификата на один домен и MITM с валидным сертификатом?

Гипотетическая ситуация - злоумышленник на неопределённое время захватил управление доменом, и получил простой SSL-сертификат, вроде positivessl или letsencrypt. Т.е. гипотетически в данный момент существует 2 валидных сертификата на один и тот же домен от разных поставщиков.

В связи с этим несколько вопросов:
1) Существуют ли технические ограничения на выпуск двух и более SSL-сертификатов от разных поставщиков на один домен? Поставщики как-то проверяют, что сертификат уже был выпущен другим поставщиком?
2) Возможен ли сценарий атаки "Man in the middle", при котором злоумышленник (предположим) отравляет кэш DNS, перенаправляет пользователей на свой сервер с валидным сертификатом, на котором стоит прокси вроде mallory, и который уже в свою очередь отправляет запросы настоящему "официальному" серверу? Т.е. в этой гипотетической ситуации ни клиент, ни официальный сервер не могут распознать MITM, т.к. клиент видит валидный сертификат, официальный сервер же не знает что он общается с другим сервером.
3) Возможно ли как-то узнать, что существуют "другие" сертификаты на тот или иной домен, и/или запретить выпуск более 1 сертификата? Возможно ли защититься от гипотетической атаки из вопроса 2, если таки второй сертификат был выпущен?
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 4
artopp
@artopp
1. нет. почему я должен быть ограничен в выпуске сертификатов для моего домена?
2. может, поэтому смотреть на HPKP и тому подобное.
3. https://en.wikipedia.org/wiki/Certificate_Transparency ?
Ответ написан
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
Для защиты от ситуации с двумя(и больше) сертификатами можно прописать в CAA DNS запись только те CA которым вы разрешаете выпуск сертификатов для вашего домена.
Технически, от описанной вами ситуации это не защитит, но усложнит ее реализацию: если вы ограничите выпуск сертификата только определенными CA, то и злоумышленнику либо придется дописывать в ваш DNS запись для другого CA(того же LE) или выпускаться на разрешенном CA. А там этот домен зарегистрирован на вас
Ответ написан
@vitaly_il1
DevOps Consulting
Насколько понимаю, на №1 и №3 ответы - на сегодня нет надежного механизма.
www.certificate-transparency.org/what-is-ct работают над этим.
https://en.wikipedia.org/wiki/Certificate_Transparency

Насчет MITM - можно сделать.
Ответ написан
CityCat4
@CityCat4
У тролля даже мозги - и то каменные!
1. Нет. Нет. Вы представляете как устроен "сертификатный бизнес"? Есть несколько контор-монополистов, которые создали у себя CA и выпускают сертификаты. Что дало им такую вохможность? Эту возможность им дало включение их корневых сертификатов как доверенные во все дистрибы винды, яббла, и гугла. Если бы у меня скажем была гипотетическая возможность такое провернуть - и я бы стал "СityCat CA" :) А так - этот бизнес ничем не отличается от другого. Поэтому я могу получить сертификат на домен nichego.net в Thawte, и еще один в Comodo, и еще один в LE - и никто ничего не скажет, только "несите ваши денежки", особенно если это будет не простой DV, а OV/EV
2. Он не только возможен, но и активно эксплуатируется в корпоративных прокси и в потенциальных сценариях с обязательной установкой госсертификата.
3. Запретить что-либо Thawte или GlobalSign-у Вы не сможете :) - запрещалка не отросла настолько :) Защититься от MitM можно - HPKP, например (но оно несет больше вреда чем пользы) или ручная проверка серийного номера сертфииката. Можно также проверять издателя. Серьезные платформы, например QIUK - судя по тому, что не работают через прокси с бампингом - именно так и делают. Но здесь под "Вы" я имею в виду оператора сервера. Для клиента же защита одна - внимательно смотреть на свойства сертификата и проверять не только его валидность, но и издателя - что, как всегда конфликтует с удобством :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы