Интересные обсуждения
темы заинтересовавшие velkin
Сертификация сайтов и программ убивает бизнес
29.04.2025
|
TailWind
|
Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
Я так понимаю, чтобы получить сертификат ssl предполагалось, что компания владелец домена должна владельцам корневых сертификатов предоставить уставне документы, паспортные данные и прочее. То есть пройти полную проверку. По аналогии с тем как мы получаем сертификаты подписи кода под винду
А теперь что? Ничего не нужно? Можно получить сертификат с консоли:
https://habr.com/ru/articles/667158/
Для проверки нужно только разместить на своем сайте файлик с паролем
Который проверяют, внимание, по http!
Ведь man in middle может сделать вид, что на сайте этот файлик есть, а на самом деле, его там нет. И получить валидный сертификат на любой сайт
Я прав? Это угроза безопасности всей системы https?
Или я что-то не понимаю?
Или есть какой-то фикс к этому?
Например, каталог всех сертификатов, где можно найти дубль
Я так понимаю, чтобы получить сертификат ssl предполагалось, что компания владелец домена должна владельцам корневых сертификатов предоставить уставне документы, паспортные данные и прочее. То есть пройти полную проверку. По аналогии с тем как мы получаем сертификаты подписи кода под винду
А теперь что? Ничего не нужно? Можно получить сертификат с консоли:
https://habr.com/ru/articles/667158/
Для проверки нужно только разместить на своем сайте файлик с паролем
Который проверяют, внимание, по http!
Ведь man in middle может сделать вид, что на сайте этот файлик есть, а на самом деле, его там нет. И получить валидный сертификат на любой сайт
Я прав? Это угроза безопасности всей системы https?
Или я что-то не понимаю?
Или есть какой-то фикс к этому?
Например, каталог всех сертификатов, где можно найти дубль
29.04.2025 37 комментариев |
TW>Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
TW>Я так понимаю, чтобы получить сертификат ssl предполагалось, что компания владелец домена должна владельцам корневых сертификатов предоставить уставне документы, паспортные данные и прочее. То есть пройти полную проверку. По аналогии с тем как мы получаем сертификаты подписи кода под винду
TW>А теперь что? Ничего не нужно? Можно получить сертификат с консоли:
TW>https://habr.com/ru/articles/667158/
TW>Для проверки нужно только разместить на своем сайте файлик с паролем
TW>Который проверяют, внимание, по http!
TW>Ведь man in middle может сделать вид, что на сайте этот файлик есть, а на самом деле, его там нет. И получить валидный сертификат на любой сайт
TW>Я прав? Это угроза безопасности всей системы https?
TW>Или я что-то не понимаю?
TW>Или есть какой-то фикс к этому?
TW>Например, каталог всех сертификатов, где можно найти дубль
Предполагается, что тот кто будет проверять сертификат знает как Lets Encrypt и ему подобные его выдают и на основании собственных политик безопасности решает доверять ему или нет. Вообще тут все построено на доверии к третьему лицу.
TW>Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
TW>Или я что-то не понимаю?
Смыслов много, это только один из них, и не самый важный.
TW>>Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
TW>>Или я что-то не понимаю?
SK>Смыслов много, это только один из них, и не самый важный.
Если бы этот смысл был не самым важным для заправил индустрии, браузеры бы не закатывали такие истерики от самоподписаных сертификатов.
Мне по работе приходится иметь дело с https в локальных сетях. Глобальные сертификаты на внутренние адреса выдать невозможно, локальных центров сертификации чаще всего нет. Всех приходится заставлять прокликивать эти два экрана истерик браузеров о катастрофических нарушениях безопасности и объяснять, почему эти два экрана истерик — это на самом деле безопаснее, чем если бы мы работали по открытому http, с которым браузеры никаких истеричных экранов не показывают.
Странно всё это. В корп. среде обычным пользователям сертификат локального CA просто "прилетает" через доменные политики (или их аналог).
А продвинутые пользователи сами знают, что и куда прописать.
Я чаще сталкивался с кривой настройкой серверов, когда у части ресурсов доступ по https поломан.
M>Странно всё это. В корп. среде обычным пользователям сертификат локального CA просто "прилетает" через доменные политики (или их аналог).
После этого хозяин домена сможет незаметно выступать в роли mitm, не?
M>А продвинутые пользователи сами знают, что и куда прописать.
и прописывать ли вообще.
M>>Странно всё это. В корп. среде обычным пользователям сертификат локального CA просто "прилетает" через доменные политики (или их аналог).
aik>После этого хозяин домена сможет незаметно выступать в роли mitm, не?
Если это и проблема (в локальной сети, в корпоративной среде), то она решается не техническими средствами.
aik>После этого хозяин домена сможет незаметно выступать в роли mitm, не?
Да, но в корп. среде все данные и инфраструктура формально принадлежат работодателю. И работник обязан их использовать исключительно в рабочих целях.
M>Да, но в корп. среде все данные и инфраструктура формально принадлежат работодателю. И работник обязан их использовать исключительно в рабочих целях.
Да это пожалуйста, но хотелось бы чтоб браузер как то предупреждал по-лучше, когда сертификат подменён на конторский. Сейчас это такой же замочек в файрфоксе, надо ткнуть в него чтоб прочитать что сертификат так то вообще левый.
M>>Да, но в корп. среде все данные и инфраструктура формально принадлежат работодателю. И работник обязан их использовать исключительно в рабочих целях.
aik>Да это пожалуйста, но хотелось бы чтоб браузер как то предупреждал по-лучше, когда сертификат подменён на конторский.
В старом firefox был addon "Certificate Patrol" https://github.com/tg-x/certpatrol
TW>>>Или я что-то не понимаю?
SK>>Смыслов много, это только один из них, и не самый важный.
A>Если бы этот смысл был не самым важным для заправил индустрии, браузеры бы не закатывали такие истерики от самоподписаных сертификатов.
Вопрос — кому они закатывают истерики и что они с этого имеют.
Обычным пользователям. Имеют поведенческий анализ и таргетированный показ рекламы. Обычные пользователи за это получают "защиту" от MItM внедрения посторонней рекламы.
A>Мне по работе приходится иметь дело с https в локальных сетях. Глобальные сертификаты на внутренние адреса выдать невозможно, локальных центров сертификации чаще всего нет.
Локальный CA поднимается с перекурами за день, но объективно имеет смысл лишь при централизованном администрировании локальной сети и трудозатраты оправдываются только при достаточном размере этой сети.
A>Всех приходится заставлять прокликивать эти два экрана истерик браузеров о катастрофических нарушениях безопасности и объяснять,
Есть два костыля. первый — получать *.mycompany.tld и деплоить его на локальные ресурсы. второй — split dns. на один какой-то из внешних серверов получать всю пачку switchXX.mycompany.tld db.mycompany.tld etc.. (но второй менее секурный, фактически трясешь перед третьими лицами всё нижнее бельё).
A>почему эти два экрана истерик — это на самом деле безопаснее, чем если бы мы работали по открытому http, с которым браузеры никаких истеричных экранов не показывают.
Как в локальной сети https повышает безопасность, между локальным сервером и локальным клиентом?
SK> Как в локальной сети https повышает безопасность, между локальным сервером и локальным клиентом?
А что не так? Между сервером и клиентом есть какая-то среда передачи данных (провод, wifi). Среда передачи уязвима к различным атакам. Даже в рамках одного железного хоста использование TLS может иметь смысл.
SK>> Как в локальной сети https повышает безопасность, между локальным сервером и локальным клиентом?
AB>А что не так? Между сервером и клиентом есть какая-то среда передачи данных (провод, wifi). Среда передачи уязвима к различным атакам.
Локальная сеть, обычно, подразумевается приватной доверенной средой.
Гостей же пускать только в физически изолированный сегмент, может быть vlan.
AB>Даже в рамках одного железного хоста использование TLS может иметь смысл.
Это уж совсем какое-то параноидально-исключительное стечение обстоятельств.
SK> AB>А что не так? Между сервером и клиентом есть какая-то среда передачи данных (провод, wifi). Среда передачи уязвима к различным атакам.
SK> Локальная сеть, обычно, подразумевается приватной доверенной средой.
Логически — возможно. Но физически она никак не может быть доверенной. Разве что все провода находятся в охраняемом 24х7 периметре со всеми другими мерами обеспечения физической безопасности. Но даже в этом случае использование TLS будет одной из мер.
SK> AB>Даже в рамках одного железного хоста использование TLS может иметь смысл.
SK> Это уж совсем какое-то параноидально-исключительное стечение обстоятельств.
Например в kubernetes, когда на железной ноде запущено бог знает сколько всяких pod-ов и потенциально может появиться pod, способный слушать трафик соседей. Принцип zero trust делает использование TLS даже в рамках железной ноды вполне разумным.
SK>> Локальная сеть, обычно, подразумевается приватной доверенной средой.
AB>Логически — возможно. Но физически она никак не может быть доверенной. Разве что все провода находятся в охраняемом 24х7 периметре со всеми другими мерами обеспечения физической безопасности. Но даже в этом случае использование TLS будет одной из мер.
Физическая изоляция сегментов и IPsec решают.
SK>> AB>Даже в рамках одного железного хоста использование TLS может иметь смысл.
SK>> Это уж совсем какое-то параноидально-исключительное стечение обстоятельств.
AB>Например в kubernetes, когда на железной ноде запущено бог знает сколько всяких pod-ов и потенциально может появиться pod, способный слушать трафик соседей. Принцип zero trust делает использование TLS даже в рамках железной ноды вполне разумным.
И в таком колхозе обрабатывать чувствительные данные? С сертификатом выданным третьими лицами?
Цирк.
AB>Даже в рамках одного железного хоста использование TLS может иметь смысл.
Не имеет.
скорее всего, ты заплатил за сертификат, и теперь тебя жаба душит, что другие его на халяву получают
TW>Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
Нет конечно
TW>Я так понимаю, чтобы получить сертификат ssl предполагалось, что компания владелец домена должна владельцам корневых сертификатов предоставить уставне документы, паспортные данные и прочее. То есть пройти полную проверку. По аналогии с тем как мы получаем сертификаты подписи кода под винду
Мало ли что предполагалось, это нетехнический аспект.
По сути единственное требование — подтвердить издателю что ты владеешь именем, для которого выпускаешь сертификат. Для этого достаточно DNS\Whois или ручное размещение файла на сервере за этим именем, доступного по любому протоколу.
TW>А теперь что? Ничего не нужно? Можно получить сертификат с консоли:
TW>https://habr.com/ru/articles/667158/
TW>Ведь man in middle может сделать вид, что на сайте этот файлик есть, а на самом деле, его там нет. И получить валидный сертификат на любой сайт
Приведи пример атаки. Это же тебе надо стать между Lets Encrypt и сервером для которого выпускается сертификат, причем как-то узнать какой пароль от тебя хочет видеть Lets Encrypt, а он тебе сообщает его по HTTPS
TW>Или я что-то не понимаю?
Скорее всего
TW>Или есть какой-то фикс к этому?
Я думаю кто это придумал вовсе не идиоты и скамеры.
Да, именно так
G>причем как-то узнать какой пароль от тебя хочет видеть Lets Encrypt, а он тебе сообщает его по HTTPS
Нет
Злоумышленник сделает запрос сам в Lets Encrypt, чтобы тот выдал ему сертификат
Lets Encrypt пришлёт ему пароль
Далее он имитирует сраницу http с паролем. Это же http. Тут нет ничего сложного. Если ты посередине
G>>причем как-то узнать какой пароль от тебя хочет видеть Lets Encrypt, а он тебе сообщает его по HTTPS
TW>Нет
TW>Злоумышленник сделает запрос сам в Lets Encrypt, чтобы тот выдал ему сертификат
TW>Lets Encrypt пришлёт ему пароль
Так не по http же шлет? Как ты пароль узнаешь который подсунуть будучи в середине?
TW>Далее он имитирует сраницу http с паролем. Это же http. Тут нет ничего сложного. Если ты посередине
Ага, кроме того чтобы узнать какой пароль
Я ссылку дал, как это делается. Я понимаю что там много текста. Но я когда прочитал, был очень удивлён
https://habr.com/ru/articles/667158/
Если коротко:
Надо скачать их утилитку и с неё послать запрос. Утилитка консольная, под винду. Запрос можно послать с любого компа
То есть в этот момент ты не man-in-middle
TW>Если коротко:
TW>Надо скачать их утилитку и с неё послать запрос. Утилитка консольная, под винду. Запрос можно послать с любого компа
Там нет инфы откуда certbot берет нужный пароль. Но есть ощущение, что там HTTPS и хрен ты его перехватишь.
TW>То есть в этот момент ты не man-in-middle
То есть нет
Я думаю придумали эту штуку люди, которые умнее тебя и меня. Наивно предполагать обратное.
Вы упрорно не понимаете, что не нужно перехватывать пароль
Вы сами можете подать запрос совершенно официально обратившись в Lets Encrypt
С помощью этой утилитки, которая больше никак не проверяет, вы ли владелец
Она спрашивает только: email, имена доменов. И присылает пароль. Её не надо запускать на сервере. Её можно запустить с любого компа
Перехватывать нужно не пароль, а владение DNS. Что делает let's encrypt — подтверждает, что вы в самом деле имеете доступ к DNS данного домена. Это их назначение и единственная функция. Если вы каким-то образом продолбали пароли вашего регистрара (или хостите ваш DNS непонятно где и непонятно как), ССЗБ.
Наверняка, если у сайта уже работает https, то проверять пароль он будет по https, а не по http
Тупанул, сорян )
TW>>Далее он имитирует сраницу http с паролем. Это же http. Тут нет ничего сложного. Если ты посередине
G>Ага, кроме того чтобы узнать какой пароль
Да и посередине оказаться нелегко...
Pzz>Здравствуйте, gandjustas, Вы писали:
TW>>>Далее он имитирует сраницу http с паролем. Это же http. Тут нет ничего сложного. Если ты посередине
G>>Ага, кроме того чтобы узнать какой пароль
Pzz>Да и посередине оказаться нелегко...
Посередине межу двумя хостерами имхо почти нереально. А вот оказаться посередине между кточным юзером и сайтом — слишком легко, достаточно бесплатный вайфай в людном месте развернуть. Но перехватить код от letsencrypt тебе не поможет.
Pzz>>Да и посередине оказаться нелегко...
G>Посередине межу двумя хостерами имхо почти нереально. А вот оказаться посередине между кточным юзером и сайтом — слишком легко, достаточно бесплатный вайфай в людном месте развернуть. Но перехватить код от letsencrypt тебе не поможет.
Ну вот я про то и говорю.
G>Приведи пример атаки. Это же тебе надо стать между Lets Encrypt и сервером для которого выпускается сертификат, причем как-то узнать какой пароль от тебя хочет видеть Lets Encrypt, а он тебе сообщает его по HTTPS
ЕМНИП, плохие парни получали дубликаты ACME сертификатов раза три. Точнее — три раза это становилось известно.
Один раз точно известно что воспользовались доступом к dns. Про остальные детального разбора не было опубликовано.
SK>Здравствуйте, gandjustas, Вы писали:
G>>Приведи пример атаки. Это же тебе надо стать между Lets Encrypt и сервером для которого выпускается сертификат, причем как-то узнать какой пароль от тебя хочет видеть Lets Encrypt, а он тебе сообщает его по HTTPS
SK>ЕМНИП, плохие парни получали дубликаты ACME сертификатов раза три. Точнее — три раза это становилось известно.
SK>Один раз точно известно что воспользовались доступом к dns. Про остальные детального разбора не было опубликовано.
Перехватить серты из-за ошибок конфигурации сильно проще, чем MITM атаку провернуть между двумя провайдерами.
SK>> Про остальные детального разбора не было опубликовано.
G>Перехватить серты из-за ошибок конфигурации сильно проще, чем MITM атаку провернуть между двумя провайдерами.
Можно получить вместо бесплатного ACME сертификата Lets Encrypt, получить бесплатный ACME сертификат BuyPass или ZeroSSL
Возможно, что другие УЦ проверяют по той же схеме как Lets Encrypt. А как ещё по простому подтвердить права на домен?
TW>Я прав? Это угроза безопасности всей системы https?
TW>Или я что-то не понимаю?
В принципе прав. Вот пример такой атаки — https://www.opennet.ru/opennews/art.shtml?num=59965
TW>Или есть какой-то фикс к этому?
TW>Например, каталог всех сертификатов, где можно найти дубль
По ссылке выше в конце приведены рецепты:
1) CAA запись в DNS (но если MITM пролез и в DNS без TLS, то тоже не поможет)
2) CT-logs — это как раз средство отслеживания дублей
TW>Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
А в чём, по-твоему, смысл TLS, https?
TW>Я так понимаю, чтобы получить сертификат ssl предполагалось, что компания владелец домена должна владельцам корневых сертификатов предоставить уставне документы, паспортные данные и прочее. То есть пройти полную проверку. По аналогии с тем как мы получаем сертификаты подписи кода под винду
Чтобы получить EV-сертификат, действительно, надо предоставить документы. У сайтов, которые подписаны таким сертификатом, строка URL в бровсере светится зелёненьким.
Чтобы получить обычный сертификат, достаточно продемонсрировать (электронным способом) свой контроль над доменом. Это может быть размещение специальной хрени по определенному пути HTTP-сервера на этом домене, или даже способность принимать e-mail по адресу postmaster@domain.com
TW>Ведь man in middle может сделать вид, что на сайте этот файлик есть, а на самом деле, его там нет. И получить валидный сертификат на любой сайт
А как воткнуть мужика-посерёдке между Lets Encrypt-овским сервером и проверяемым сайтом?
TW>Я прав? Это угроза безопасности всей системы https?
У меня система https не вызывает особого доверия. Уж больно много в ней организаций, имеющих право выдавать сертификаты, которым верит любой бровсер.
TW>Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
Cмысл TLS был в том, чтобы рукопожатые люди могли на пустом месте делать деньги, раздавая сертификаты другим рукопожатым людям. В начале всё так и было. Но что-то вышло из под контроля. Я помню, как израильский StartSSL начал раздавать сертификаты дёшево и требовал только подтвердить владение доменом, в то время это было революцией. Его долго тероризировали справедливым западным правосудием и в конце додолбали до того, что им пришлось бежать в Китай. Но видимо дыру заткнуть не удалось, и сертификаты на основании одного только подтверждения владения доменом стали выдавать другие. После чего рукопожатые сделали вид, что так и задумывалось, и запустили Lets Encrypt.
Т.е. Lets Encrypt ничего не рушит, всё посыпалось до него.
А например с подписью кода такой же беды не случилось: сертификаты на код по-прежнему раздаёт узкий круг рукопожатых людей, и возможность оставить неугодных без сертификатов на код мы прочувствовали в 2022.
TW> Не рушат ли бесплатные сертификаты от Lets Encrypt весь смысл TLS, https?
* Смысл у TLS один единственный — защита от MITM. Публичные центры выдачи сертификатов к этому смыслу не имеют ровным счетом никакого отношения.
* Инфраструктура LetsEncrypt — это вопрос построения цепочки доверия, а не защиты от MITM.
Т.е. ты смешал две разных сущности в одну: TLS — сам по себе, LE — сам по себе, "взболтать, но не смешивать" и вопрос получается лишенным смысла.
TW>Я так понимаю, чтобы получить сертификат ssl предполагалось, что компания владелец домена должна владельцам корневых сертификатов предоставить уставне документы, паспортные данные и прочее. То есть пройти полную проверку. По аналогии с тем как мы получаем сертификаты подписи кода под винду
Документы требовали для Extended Validation, которые стоили дороже и в адресной строке обозначались зеленым замочком.
На обычные — документы не требовались, до Lets Encrypt уже существовали варианты получения бесплатных сертификатов, например, WoSign.
TW>Я так понимаю, чтобы получить сертификат ssl предполагалось, что компания владелец домена должна владельцам корневых сертификатов предоставить уставне документы, паспортные данные и прочее. То есть пройти полную проверку. По аналогии с тем как мы получаем сертификаты подписи кода под винду
Я лично считаю, что нет. То что у тебя написано придумали те кто хотят почти ничего не делать и зарабатывать огромные деньги. А всё за счёт того, что в операционные системы или браузеры заранее поставлены их корневые сертификаты. Дайте поставить свои корневые сертификаты другим в браузеры и операционные системы и подобный бизнес загнётся. Понятно, что не дадут, ведь браузеры имеют спонсоров, а операционные системы владельцев.
Что касается https, то это зашифрованный канал связи для протокола http. Причём как мы теперь знаем кто просто так, а кто-то вроде меня благодаря РосКомНадзору, есть ещё tls разных версий. Вот там и улучшается защита связи от версии к версии и что дико не нравится РосКомНадзору, который хочет осуществлять атаку посредника над любым устройством в российском сегменте сети интернета.
Кстати, пока с той стороны, то есть извне России не рубанули поддержку российских сертификатов тех же сайтов, я и не задумывался о том где лежат все эти сертификаты. А задумался я потому, что в те времена чужие сайты стали терять сертификаты и следовательно https. Не все вот так сразу сориентировались и перешли на что-то другое для https.
Firefox (десктоп)
Android 14 (Samsung)
Что касается сертфикатов для программ операционных систем, то я снова предлагаю задуматься о том, что это даёт. С одной стороны пользователю не вылазит никаких вредительских сообщений от владельцев операционных систем. Если утрировать владельцы операционных систем шантажируют разработчиков через сообщения пользователям, а некоторые даже через отказ установки, если говорить об Apple.
Но что получает разработчик установив такой сертификат? На самом деле разработчик только теряет время, деньги и управление за установкой своей программы. Всё это он отдаёт на откуп центрам сертфикации находящимися в сговоре с владельцами операционных систем или даже являющихся по сути одной и той же компанией.
Опять же если это говорю я, то люди на рсдн начинают возникать, да кто ты такой. Недавно по рекомендации здесь же на rsdn почитал ссылку.
https://rsdn.org/forum/shareware/8925352.1
https://successfulsoftware.net/articles/
Вот же, автор как и я в итоге выбрал Qt. Люди включая комментаторов пишут тоже самое, что и я, разница видимо только в том, что я не "авторитетный" источник.
Засовываем
https://successfulsoftware.net/2010/10/21/app-stores-set-to-dominate-future-software-sales/
в
translate.google.com