?

Log in

No account? Create an account
Антиреклама опенсурсная. - Журнал Витуса.
[Друзья] [Свежие записи] [Dreamwidth] [Фото] [Тексты] [Друзья Ирины] [Матерные писатели] [Сообщества] [3 круг]
December 24th, 2015
09:35 pm
[User Picture]

[Link]

Previous Entry Share Next Entry
Антиреклама опенсурсная.
Если безопасность вашего сервера дорога вам, НИКОГДА И НИ ЗА ЧТО НЕ ПЫТАЙТЕСЬ ПОЛУЧАТЬ СЕРТИФИКАТЫ letsencrypt.

Я тут попробовал на рабочей машине, так прежде чем мне удалось прервать выполнение этой гадости, оно успело поставить пару десятков пакетов, которые я совершенно не жажду видеть установленными не только на сервере, но и на рабочей машине где я софт разрабатываю, браузер запускаю и прочими несекьюрными делами занимаюсь.


Они ухитрились написать хрень для генерации запросов на сертификат так, что она пытается установить такие пакеты как

libpython2.7-dev libssl-dev libffi-dev.

Более того, они ухитрились сделать так, что оно начинает ставить эти пакеты не
спросив, а хочу ли я их у себя в системе видеть.

В то время как любой -dev паккет на production-сервере это дыра.

Лучше пускать пользователей с basic authentication по незащищенному http, чем пускать код от letsencrypt.org выполняться на вашей системе.

This entry was originally posted at http://vitus-wagner.dreamwidth.org/1152481.html. Please comment there using OpenID. Now there are comment count unavailable comments

Tags: , , ,

(93 comments | Leave a comment)

Comments
 
[User Picture]
From:lumag
Date:December 24th, 2015 06:54 pm (UTC)
(Link)
А letsencrypt из deb-пакета лучше?
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 06:56 pm (UTC)
(Link)
Если в этой конторе вообще так код пишут, то нельзя пользоваться тем, что они написали вообще.
(Deleted comment)
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 07:12 pm (UTC)
(Link)
Это тот случай, когда безопасность вашего сервера вам не дорога.
(Deleted comment)
(Deleted comment)
[User Picture]
From:shaplov
Date:December 24th, 2015 07:03 pm (UTC)
(Link)
Было у меня подозрение что это будет примерно так...
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 07:13 pm (UTC)
(Link)
Ну надо было проверить.
[User Picture]
From:freedom_of_sea
Date:December 24th, 2015 07:09 pm (UTC)
(Link)
а по старому нельзя?
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 07:13 pm (UTC)
(Link)
По старому - можно. Но вот этот новомодный хипстерский сервис не надо использовать.
[User Picture]
From:avryabov
Date:December 24th, 2015 07:28 pm (UTC)
(Link)
Хм. А чем они лучше startssl?
У тех тоже есть бесплатные сертификаты.
И там всё весьма нормально.
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 07:32 pm (UTC)
(Link)
Ну типа в startssl нужно руками на сайт заходить и что-то делать, и вообще вся из себя коммерческая фирма, а здесь все автоматизировано.

Впрочем со startssl тоже не все так просто. Вот сейчас получил у них новый логинный сертификат, а они с ним не пускают.

Поскольку сертификат я проверил и он правильный, подозреваю проблему с таймзонами. В смысле они сидят где-нибудь в Америке и проверяют время начала действия сертификата не по GMT, а по локальному времени, в результате получается что сертификат еще действовать не начал.

Edited at 2015-12-24 07:34 pm (UTC)
[User Picture]
From:elahi
Date:December 24th, 2015 07:33 pm (UTC)
(Link)
Где-то пробегала реализация в виде html-странички с небольшой кучкой джаваскрипта. Тыц-тыц и все готово минут за 5, и ничего на сервер ставить не надо.
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 07:50 pm (UTC)
(Link)
Вот не должно быть такого, чтобы ничего на сервер ставить было не надо.
Нормальный Certificate Authority, который удостоверяет, что этот сертификат - правильный сертификат для твоего сервера, должен каким-то образом удостовериться, то тот, кто запрашивает сертификат, имеет контроль над этим сервером. То есть если это не выдача сертификатов за большие коммерческие деньги, когда проверяются домены по базе регистратора, регистрация фирмы, которой они принадлежат и всё такое, то они должны потребовать положить на сервер что-то такое, что оттуда можно будет скачать, и убедиться что тот, кто просит у них сертификат на некоторое доменное имя, действительно этот сервер контролирует.

У letsencrypt это вполне себе делается. Но цена автоматизации этого процесса оказалась неприемлемой для меня.
[User Picture]
From:deepwalker
Date:December 24th, 2015 08:15 pm (UTC)
(Link)
Любой dev пакет дыра? libffi-dev? А что же там такого у нас ужасного? Хидеры?
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 08:21 pm (UTC)
(Link)
Любой кусок софта увеличивает attack surface.

Далее, то что оно потащило -dev пакеты, означает что на production-сервере оно и компилятор за собой потащит. А вот компилятор на production-сервере - это точно дыра, поскольку позволяет всяким руткитам притащенные с собой в виде исходника эксплойты компилить.
[User Picture]
From:beldmit
Date:December 24th, 2015 08:49 pm (UTC)
(Link)
Ты им багрепорт не хочешь отправить? У них ща всё-таки public beta.
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 08:52 pm (UTC)
(Link)
Баг репорт надо отправлять тем, кто их программированию учил. Увы, тут ошибка если не в ДНК, то в базовом образовании.

Подозреваю что баг репорт "выкиньте всю ту хрень, что вы тут понаписали и напишите по человечески, минимизируя как объем кода, так и зависимости, но чтобы это было auditable" они не примут.
[User Picture]
From:avnik
Date:December 24th, 2015 09:26 pm (UTC)
(Link)
FYI в README там ссылки на две альтернативные существенно более минимальные реализации, которым походу достаточно write access к / вебсервера от нужного домена (я не проверял, только поверхностно поглядел в readme и код)
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 09:46 pm (UTC)
(Link)
Из этих двух реализаций одна такая же дерьмовая. Хочет тащить целый virtualenv.

Вторая - несколько получше, но тут автор меня несколько перепараноил и на мой взгляд, возможность запускать скрипт не на сервере не стоит того количества ручной работы, которую он предлагает делать.
[User Picture]
From:dmitrmax
Date:December 24th, 2015 09:38 pm (UTC)
(Link)
А если абстрагироваться от кривой упаковки в deb, то почему многие, кто говорил: "А с какого рожна я должен доверить VerySign?", стали в друг при появлении let's encrypt потирать ручки и говорить: "Ну сейчас заживем?" )
[User Picture]
From:vitus_wagner
Date:December 24th, 2015 09:54 pm (UTC)
(Link)
Ну это просто более удачный компромисс. Verisign ты еще и денег должен отдать. А тут даром. И если тебе зачем-то нужно чтобы любой посторонний к тебе мог без лишних телодвижений прийти на сайт по https и кто-то ему с какой-то ненулевой долей уверенности удостоверил что твой сайт - это твой сайт, то lets encrypt вполне себе решение. Как и startssl.com
[User Picture]
From:max630
Date:December 24th, 2015 10:53 pm (UTC)
(Link)
> Лучше пускать пользователей с basic authentication по незащищенному http, чем пускать код от letsencrypt.org выполняться на вашей системе

Вы, похоже, не в курсе контекста. Есть конкретные планы запретить простой http совсем (ну, в популярных браузерах по умолчанию). А letsencrypt - это такая смазка в продвижении этой инициативы.

Таким образом, "лучше" вам сделать не дадут.

PS: мне следовало догадаться что при такой вводной никто особенно не будет заботиться о качестве реализации. Но знать по факту, конечно, приятнее

Edited at 2015-12-24 11:03 pm (UTC)
From:Николай Замотаев
Date:December 25th, 2015 12:41 am (UTC)
(Link)
Я уже ругался на эту тему на nixp. То есть автоматом всем безинтерфейсным устройствам нужен как минимум доступ к ntp. как максимум - к интернету вообще. Особенно весело это будет смотреться на роутерах и подобных. А короткими сертификатами можно будет делать запланированное устаревание продукта.
[User Picture]
From:tanner_of_kha
Date:December 25th, 2015 06:06 am (UTC)
(Link)
Мне letsencrypt ничего на сервер не поставил, так как все его зависимости там уже были. Они мне нужны для разворачивания моих веб-приложений, так что я не удивляюсь тому, что они понадобились чужому веб-приложению.

А про увеличение периметра − это как-то неубедительно. Периметр увеличивает то, что открывает порты наружу или setuid делает, а инструменты разработчика тут при чём?
[User Picture]
From:tzirechnoy
Date:December 25th, 2015 11:10 am (UTC)
(Link)
Я тут захотел получить сертификат от letsencrypt и ужэ пишу на перле (написал аж #!/usr/bin/perl ) пакователь ихних JWS/ACME. ЧЯДНТ?
[User Picture]
From:vitus_wagner
Date:December 25th, 2015 11:20 am (UTC)
(Link)
Вот когда напишешь, мы почитаем и покритикуем.
[User Picture]
From:tzirechnoy
Date:December 25th, 2015 12:08 pm (UTC)
(Link)
Ну и да, банальное: let's encrypt необязательно запускать на самом сервере. То есть от него нужно несколько запросов на сервера let's encryptа: иницыацыя сессии с ключом для этой сэссии, отправка CSR (который тожэ можно цэликом сформировать не рядом с ACME-клиентов) и в ответ -- получение содержымого файлика и имени файлика, который надо положыть на свой сервер в /.well-known/acme-challenge/ для подтверждения. А потом -- вытрясти из него подписанный .crt. Для всего этого можно его куда-то совсем в тёмное место засунуть.
[User Picture]
From:vitus_wagner
Date:December 25th, 2015 01:27 pm (UTC)
(Link)
Сертификат на сервере должен раз в 90 дней обновляться. Поэтому выполняться acme-client должен на ПОЛНОМ автопилоте. Ну не заходить же мне на сервер с такой регулярностью по ssh!
[User Picture]
From:magict30p
Date:December 25th, 2015 04:02 pm (UTC)

ТОП: 19:02 (московское)

(Link)
Вы попали в Т30P самых обсуждаемых тем в блогосфере.
Это Ваш 2-й ТОПовый пост в этом году.
Посмотреть статистику автора можно в карточке топблогера.
My Website Powered by LiveJournal.com