Появилась информация об очередном жутком вирусе. На почту и скайп приходят сообщения следующего ...
Продолжаю разбираться с letsencrypt. Понятно что это гадость. вроде systemd, но деваться некуда. Все ...
Продолжаю разбираться с letsencrypt. Понятно что это гадость. вроде systemd, но деваться некуда. Все альтернативные бесплатые CA за этот год были успешно уничтожены.
Обнаружил, что автор acme-tiny рекомендует по крону повторно выписывать сертификат на тот же самый ключ.
По-моему, в этом вопросе он глубоко неправ. Плтому что с точки зрения пользователя сайта смена сертификата и смена ключа полностью эквивалентны. Браузер не смотрит на ключ, браузер смотрит на то, что ключ соответствует указанному в сертификате.
И если уж мы напрягаемся на предмет того, чтобы менять сертификат раз в три месяца, или раз в месяц, то надо менять и ключ. Потому что это позволяет ограничить риски от утаскивания ключа. Ежели кто попятит закрытый ключ с вашего сервера, то черед весьма недолгое время вы его перегенерируете, а сертификат на старый перестанет действовать. Если же вы выпишите на старый ключ новый сертификат, то тем самым предоставите злоумышленнику возможность пользоваться старым ключом еще три месяца.
Правда, как обычно, идея перегенерации ключа по крону несет свои собственные риски.
В текущем виде acme-tiny требует доступа только к ключу аккаунта на letsencrypt и к CSR. То есть скрипт, активно работающий с сетью и теоретически могущий быть проэксплойченным через дырки в стандартной библиотеке питона, самом питоне и libc, не имеет доступа к вашему закрытому ключу.
Если же мы генерируем ключ, то какие-то части того задания, которое отвественно за перевыпуск сертификата, должны работать с повышенными правами.
То есть нужно аккуратно поделить задачу на три части
1. Сгенерировать новый закрытый ключ и CSR. В принципе, для этого никаких прав не нужно. Нужно только не пересекаться по правам с шагом 2, чтобы у того доступа к закрытому ключу не было. С другой стороны, поскольку эта операция ничего особо принципиального не делает, только пишет в файлики в формате pem, то не жалко и от рута запускать.
2. Посредством acme-tiny или еще какого auditable клиента к letsencrypt получить сертификат.
3. Убедиться в соответствии сертификата ключу и домену, и положить новый ключ и новый сертификат куда надо. Единственная операция, которая требует повышенных привилегий.
Обдумывал мысль, как бы запихнуть операцию 2 в chroot но решил что для acme-tiny это явно не вариант - в chroot придется тащить всю питоновскую инфраструктуру. Пожалуй, с dehydrated это бы лучше получилось.
Идея, естественно в том, чтобы создавать дерево с бинарниками для chroot непосредственно перед запуском скрипта, копируя бинарники из основной системы, а потом уничтожать, откопировав оттуда только полученный сертификат.
This entry was originally posted at http://vitus-wagner.dreamwidth.org/1238540.html. Please comment there using OpenID. Now there are comments
Wireshark - это мощный сетевой анализатор, который может использоваться для анализа трафика, проходящего через сетевой интерфейс вашего компьютера. Это может понадобиться для обнаружения и решения проблем с сетью, отладки ваших веб-приложений, сетевых программ или сайтов. Wireshark позволяет полностью просматривать содержимое пакета на всех уровнях, так вы сможете лучше понять как работает сеть на низком уровне. Все пакеты перехватываются в реальном… Read more →
Запись Как пользоваться Wireshark для анализа трафика впервые появилась Losst.
... которых связаны с
.
Читать дальше ...
Привет Хабрахабр! В этой статье будут наглядно продемонстрирован результат применения некоторых важных и экзотичных HTTP заголовков, большинство из которых связаны с безопасностью.
Читать дальше →
Доброго времени суток дорогие читатели, читатели, почитатели и прочие личности. Уже давно не секрет, ...