From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <45C5E5DB.9040808@altlinux.org> Date: Sun, 04 Feb 2007 16:55:39 +0300 From: Mikhail Yakshin User-Agent: Thunderbird 1.5.0.8 (X11/20061205) MIME-Version: 1.0 To: ALT Devel discussion list References: <45B2CFF0.8050200@altlinux.org> <20070121121431.GC15171@basalt.office.altlinux.org> <45B3F4BC.5060801@altlinux.org> <20070121234749.GA31842@basalt.office.altlinux.org> <45B460AF.9020005@altlinux.org> <20070203221625.GD15565@basalt.office.altlinux.org> In-Reply-To: <20070203221625.GD15565@basalt.office.altlinux.org> X-Enigmail-Version: 0.94.1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: Re: [devel] Q: SSL/TLS in ALT Linux X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Feb 2007 13:55:57 -0000 Archived-At: List-Archive: List-Post: Dmitry V. Levin wrote: > Обсуждение SSL/TLS policy с прошлого месяца, цитирую полностью. > > On Mon, Jan 22, 2007 at 09:58:55AM +0300, Mikhail Yakshin wrote: >> Dmitry V. Levin wrote: >> >>>> Предлагаю сделать нечто вроде SSL policy и закрепить в ней примерно >>>> следующие основные пункты: >>>> >>>> ========================================================================== >>>> >>>> 1. Существует ALT root CA, принадлежащий ООО (как и все остальные >>>> основные подписи и ключи по репозитариями и по проекту в целом). >>> Я сомневаюсь в том, что всё это принадлежит OOO. >> Кому сейчас принадлежат GPG-ключи, которыми подписывается репозитарий, >> пакет openssl и защищаемые сервера *.altlinux.*? Как это лучше >> переформулировать? > > Я не знаю, как это лучше переформулировать. Нужна помощь. Можно сказать пафосное "принадлежит сообществу", только без соответствующего юридического подкрепления это будут пустые слова, красивые для завлечения людей, но ничего не значащие, как только дело дойдет до каких-то разбирательств. По хорошему - если обращаться к юридической стороне дела - нужен договор публичной оферты со стороны ООО, в котором закрепляется де юре, тот факт, что де факто - ООО - владелец таких-то и таких-то вещей, как ключи, которыми подписывается репозитарий и т.п. Плюс, самое главное, должно быть прописано, что происходит, если по каким-то причинам ООО прекращает свою деятельность, что-то с случаем с тем человеком, что сейчас владеет ключами, которыми подписываются репозитарии и т.п. Такие публичные оферты есть на самом деле у большинства сервисов, таких, как SourceForge, BerliOS и т.п.: http://sourceforge.net/docman/display_doc.php?docid=6048&group_id=1 http://developer.berlios.de/tos/tos.php Заодно, кстати, если уж обращаться к мировому опыту, нужен еще один документ, напрямую связанный с этим - privacy statement, который будет описывать, что ООО, как некий закрепленный предыдущим документом гарант Sisyphus, имеет право делать с той личной информацией, что ей поступает. В частности, в нем должно быть отражено то, что использование систем на базе ALT Linux означает присутствие в нем сертификата CA root altlinux, что ведет к таким-то последствиям. В общем, вопрос для legal@, конечно. >>>> ALT Linux TLS policy доступна на http:// >>> SSL policy или TLS policy? :) >> Вообще - лучше использовать термин TLS, он полностью заменил собой SSL >> еще в 1999 году. >> >> http://en.wikipedia.org/wiki/Transport_Layer_Security#History_and_development > > Только аббревиатура SSL всё ещё более распространена. Тогда может > SSL/TLS? Видимо, да. Если смотреть вульгарно по google - то разница примерно 107 миллионов против 12 миллионов - т.е. ~10 раз. Само по себе переименование было весьма искусственным шагом, в первую очередь для борьбы с претензиями Netscape, >>>> 5.2. Отсутствия такого текста - bug. >>>> >>>> ========================================================================== >>>> >>>> Оно же закинуто на http://www.freesource.info/wiki/Altlinux/Policy/TLS >>>> >>>> Прошу помочь вписать значения в <...> и высказаться насчет общего >>>> видения возможности принятия такой policy. >>> Не вижу принципиальных трудностей. >> Хорошо, тогда, насколько я понимаю - надо дорешать вопросы с >> формулировками и можно сделать первые шаги: >> >> 1. Сгенерировать этот самый root CA >> 2. Положить его в пакет openssl > > OK, это я сделаю. > >> 3. Выписать нужные сертификаты на серверы *.altlinux.* и разложить их >> где нужно > > Это, видимо, тоже мне придётся делать, при содействии администраторов > соответствующих сайтов. > >> 4. Ввести policy в действие > > Как у нас принято вводить policy в действие? У нас сейчас есть пакет openssl и libssl4/ssl6. /var/lib/ssl/certs/ca-bundle.crt лежит в openssl. Правда жизни в том, что openssl никто не requires, все хотят только библиотеки libssl*, и, видимо, носят CA bundle с собой, либо не носят и ломаются, если пакет openssl удалить. У нас есть кто-нибудь, кто будет использовать общее хранилище сертификатов CA и при этом не хочет быть завязан на openssl? Как минимум, есть gnutls, который вроде бы является альтерантивной реализацией - но там тоже все носят сертификаты с собой? Если таких нет - то: 1.1. Объявляем единым хранилищем то, что в пакете openssl Если есть такие: 1.1. Выделяем хранилище CA public certs в отдельный noarch-пакет 1.2. Пересобираем openssl с использованием хранилища из этого отдельного пакета. Дальше: 2.1. Объявляем полиси вступившим в действие, переносим его с http://www.freesource.info/wiki/Altlinux/Policy на http://wiki.sisyphus.ru/devel/policy 2.2. Смотрим, какие пакеты у нас носят такое хранилище с собой. По предварительным подсчетам это: # grep $'\.pem\t' /Sisyphus/i586/base/contents_index >$TMPDIR/suspicious # grep $'\.crt\t' /Sisyphus/i586/base/contents_index >>$TMPDIR/suspicious # cut -f2 $TMPDIR/suspicious | sort -u MySQL-server apache2-mod_ssl courier-imap dovecot erlang exim-common freeradius gnupg2 kdelibs libcurl libgwenhywfar libqca2 mod_ssl monit mutt1.5 ntop nut-server openssl openssl-doc openvpn-docs perl-Net-SSLeay php5-devel plt2 python-module-m2crypto python-module-twisted sendmail stunnel unreal uw-imap 2.3. Каждый из этих пакетов смотрим глазами (благо, их немного) и рассылаем их мейнтейнерам предупреждения и инструкции, что требуется сделать. 2.4. Ждем grace time, допустим, неделю. 2.5. Вешаем баги + чиним своими силами через NMU. 2.6. Вводим в sisyphus_check проверку: по собранному пакету нужно пройтись, в каждом файле поискать "-----BEGIN CERTIFICATE-----" и "-----END CERTIFICATE-----". Если такое нашлось - то с помощью: openssl -in имяфайла -text -noout -purpose вытащить информацию по сертификату и посмотреть, является ли сертификат. Это полумера, недостаточная для 100% уверенности, но по-моему, это лучше, чем ничего. 2.7. Вводим соответствующий макрос relaxed, чтобы отключить эту проверку. -- WBR, Mikhail Yakshin AKA GreyCat ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]