ACME внутри интранета
Apr. 30th, 2025 09:57 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Тут некоторое время назад jno писал мне в комментариях что локальный CA внутри закрытой от внешнего мира локальной сети должен бы обновлять сертификаты по протколоу ACME.
Тогда я с этим не соглалсился.
Потому что считаю надежное хранение пассфразы от приватного ключа CA (что предполагает невозможность автоматизированного выпуска сертификатов без участия человека) куда более полезным для безопасности сети в целом, чем сокращение срока жизни сертификатов.
А вот сегодня читаю очередной выпуск Feisty Duck и там пишут что Apple Google и прочие киты индустрии строят коварные планы сократить максимальный срок жизни сертификата до полутора месяцев. Если так дело пойдет и браузеры просто не будут признавать сертификаты, выпущенные более полутора месяцев назад, то действительно админам интранетов придется так или иначе автоматизировать выпуск сертификатов для локальных сайтов. Что, безусловно, снизит в общем случае безопасность локальных сетей.
Хотя, конечно можно будет сделать выпуск сертификтаов для всех сайтов локальной сети ручной операцией, выполняемой раз в полтора месяца с автоматическим распихиванием новых ключей и сертификатов по сайтам с помощью какого-нибудь инструмента удаленного администрирования. (на самом деле просто ssh с scp достаточно).
Тогда можно будет хранить пассфразу (а то и сам приватный ключ) локального CA безопасно.
Впрочем там еще crl-и по расписанию выпускать надо. И на том же мастер-ключе подписывать.
no subject
Date: 2025-05-01 09:03 am (UTC)Следует отметить, что в протоколе ACME не написано про реалтаймовый ответ - про фазу между получением CSR и выдачей сертификата там написано "The certificate is being issued. Send a POST-as-GET request after the time given in the Retry-After header field of the response, if any." То есть в теории я не вижу причины, по которой сервер не мог бы проверять запросы клиентов и собирать их CSR-ы до того момента, когда приходит человек и использует токен. Другое дело, что многие клиенты могут быть не готовы к задержкам в пару недель (привет, новогодние праздники).
no subject
Date: 2025-05-01 09:52 am (UTC)Какие, нафиг "клиенты, которые не готовы"? Мы тут рассуждаем про CA для локальных сетей. У которых и сервер получающий сертификат, и CA, выдающий сертификат, находятся под общим административным контролем.
У корпоративных сисадминов в праздники и выходные, как я погляжую - самая работа. Поскольку не работают все остальные сотрудники, и можно спокойно останавливать внутренние, не торчащие во внешний мир, сервера для апгрейда или еще какого обслуживания.
И усовершенствовать скрипт для acme, чтобы он знал про существование разнообразных праздников, и начинал слать запросы когда до окончания срока дейсвтия сертификата оставалось требуемое количество РАБОЧИХ дней вполне можно. (у меня сейчас начинает слать за 7 календарных).
no subject
Date: 2025-05-01 10:11 am (UTC)"находятся под общим административным контролем" не эквивалентно "написаны местным сисадмином". Подозреваю, что в наши дни вполне может оказаться, что клиент ACME сидит где-то в дереве контейнеров, отвечающих за нужное ПО, и его замена на другой - операция нетривиальная и требующая повторения при обновлении ПО.
no subject
Date: 2025-05-03 05:46 am (UTC)У тех же Synology в их DSM штатный клиент Let's Encrypt(именно Let's Encrypt с жесткой завязкой, свой CA нельзя выбрать) то есть но он кривой и не умеет в DNS-проверки. Нужно внешний костыль использовать, у которого свои проблемы. При этом там не контейнеры даже.
Один из вариантов хоть как то нормально решить проблему - свой CA + внешний доступ через Cloudflare(!)(Cloudflare можно сказать что у origin server - будет сертификат от вот этого конкретного CA, он будет перешифровать трафик). Другое дело что Cloudflare...отдельный набор проблем
no subject
Date: 2025-05-03 05:59 am (UTC)НУ Synology это вообще не для средних умов. Мне в позапрошлом году пришлось потратить неделю на пересоздание заново кучи всего, потому что наши админы не сумели восстаовить бэкап, аккуратно сделанный на эту самую Synology. Причем именно "Не сумели". Потом выяснилось что если бы все делали как положено, а не как они поняли, все бы восстановилось.
А тут мы рассматриваем вопрос как жить, если светить внутреннюю структуру локальной сети заграничным фирмам нельзя. Ни lets encrypt-у, ни CloudFlare. Никто за пределами нашей сети не должен вообще знать что внутри у нас есть хосты с такими, таким и такими именами.
(правда, это пожалуй будет несовместимо с BYOD, потому что там внезапно окажется если не DNS over HTTPS, то прописанный где-то в локальный резолвер 8.8.8.8)