[devel] Q: SSL/TLS in ALT Linux

Mikhail Yakshin =?iso-8859-1?q?greycat_=CE=C1_altlinux=2Eorg?=
Вс Фев 4 16:55:39 MSK 2007


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://<URL где будет лежать policy>
>>> 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. Отсутствия такого текста - <minor> 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]



Подробная информация о списке рассылки Devel