From: "Victor B. Wagner" <vitus@altlinux.org> To: devel@lists.altlinux.org Subject: Re: [devel] Вопросы новичка Date: Thu, 7 May 2009 12:38:36 +0400 Message-ID: <20090507083836.GB7433@cryptocom.ru> (raw) On 2009.05.07 at 10:13:51 +0400, Afanasov Dmitry wrote: > On Tue, May 05, 2009 at 06:11:13PM +0400, Victor B. Wagner wrote: > > On 2009.05.05 at 16:26:09 +0300, Alexander Bokovoy wrote: > > > "Список, сестра!". > > Лично у меня план действий такой: > > > > 1. Запакетировать openssl-1.0. С тем чтобы она максимально > > соответстовала текущей полиси дистрибутива и перевод приложений на неё > > был возможно более безболезненным. > мне как админу от сертификатов хотелось бы: > 1. иметь "машинный" сертификат, которым автоматом бы подписывались все > остальные сервисные. подписать этот сертификат чем-нибудь другим, как я > помнимаю, можно и позже. Насчет подписать можно и позже - будут проблемы. Если вы отправите заявку на получение сертификата intermediate CA на свой ключ, которым вы уже подписали несколько сертификатов, то вам будет выдан сертификат с определенным сроком действия. Честно сказать, никогда не проверял, как различный софт относится к тому, что сертификат сервера имеет срок действия, начавшийся раньше, чем срок действия сертификата CA, на котором он выдан. Но в принципе "подписать на чем-нибудь" сертификат своего CA - не обязательно. Можно распространить самоподписанный сертификат вашего CA по всем клиентским машинам и установить его там в Trusted CA store. После этого он будет ничем не хуже Verisign-а. В принципе, и перевыпустить сертификаты серверов после получения сертификата CA недолго. > 2. иметь возможность подставлять свои параметры в автогенерируемые > сертификаты: organization там, organizationUnit, ссылку на crl. Угу. Причем по-русски. Сделать это можно достаточно просто. Для этого необходимо, чтобы 1. При установке сервисов сертификаты генерировались с использованием системного openssl.cnf. 2. Иметь какой-то достаточно удобный инструмент, чтобы в этот самый openssl.cnf прописывать параметры вашей организации. 3. Не забыть прописать в openssl.cnf прямо при создании пакета необходимые параметры, которые обеспечат корректную обработку кириллицы. Тогда все, что будет создавать сертификаты, после того как посредством п 2. вы сконфигурировали параметры будет писать правильный DN. 1-е и 3-е я уже делал в CryptoPack 1.0. К сожалению, до второго - руки не дошли. > все пакеты, что используют ssl, при установке генерируют сертификаты. Что вообще говоря, не обязательно. В Debian, например, есть отдельный пакет ssl-cert, который генерирует один-единственный сертификат на hostname данной машины, которым потом польузются все установленные сервисы. > как сделать эту генерацию интерактивной при установке пакета я не > представляю - rpm и все такое. но пусть хотя бы берут мои данные, а не > какой-нибудь cat << EOF | openssl req. и ещё и подпишутся напоследок > "машинным CA" :) > > subject'ом таким сертификатам можно проставлять имя сервиса. ftp - для > ftp, mail - для MTA, etс. мыло - одно на всех мыло админа. suport@, или > личное. subject сертификата - это набор полей. Куда входят как раз organization, unit etc. Вы, наверное, имеете в виду поле CN (Common Name). Так оно ОБЯЗАНО в случае серверного сертификата TLS совпадать с именем хоста. Причем именно того, к которому идет обращение со стороны клиента. До OpenSSL 0.9.8f не было никакой возможности иметь разные сертификаты на разные виртуальные хосты на одном IP, что создавало определенные проблемы с виртуальными хостами в apache. Начиная с 0.9.8f поддерживается TLS extension SNI (Server Name Indication), так что теперь в принципе можно делать виртуальные хосты с разными сертификатами. При условии что SNI поддерживается и клиентским приложением (Firefox >= 2, MSIE >= 7 его поддерживают), и сервером (не только на уровне библиотеки, но и на уровне приложения, так как именно приложение решает какой именно сертификат отдать) Что сейчас с поддержкой SNI у Apache - давно не смотрел. Feature Request с соответствующим патчем был в апачевском SVN еще год назад, но попал он в релиз или нет - не в курсе. Для других сервисов, как правило, задача виртуальных хостов менее актуальна. Но общий принцип такой - иметь имя сервиса в CN можно только если имеется алиас в DNS (CNAME или A), содержащий это имя в DNS-имени машины. > > 2. Взаимодействие с мейнтейнерами > если что нужно сделать в gnutls - предлагайте. к сожалению, "как это > тикает" я не разобрался, но будет задача - будем думать :) В данном случае, я имел в виду скорее мейнтейнеров приложений. Apache, openvpn, postfix, dovecot, postgresql, mysql etc - неполный список тех приложений которые я уже тестировал на работу с российской криптографией и точно знаю что нужно, чтобы оно работало. (например, в случае с postgresql нужно только его пересобрать с OpenSSL поддерживающей российскую криптографию и прописать в openssl.cnf соответствующий модуль) В gnutls - нужно начать и кончить. Написать поддержку российских алгоритмов, поддержку российских шифрсьютов etc. Если алгоритмы шифрования и хэширования можно тупо содрать из моей реализации для OpenSSL (они там ни от чего не зависят), то алгоритмы подписи и распределения ключей там сильно завязаны на библиотеку длинной арифметики и эллиптических кривых OpenSSL, так что придется переписывать с нуля. И, насколько я понимаю, нет никаких шансов сделать на базе gnutls сертифицированное решение. В результате чего оно абсолютно неинтересно моему руководству. ----- End forwarded message -----
next reply other threads:[~2009-05-07 8:38 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-05-07 8:38 Victor B. Wagner [this message] 2009-05-07 8:41 ` Anton Farygin 2009-05-07 9:00 ` Victor B. Wagner 2009-05-07 9:14 ` Max Ivanov 2009-05-07 9:45 ` Alexander Bokovoy 2009-05-07 10:16 ` Anton Farygin 2009-05-07 10:55 ` Mykola S. Grechukh 2009-05-07 11:10 ` Victor B. Wagner 2009-05-07 11:13 ` Mikhail Gusarov 2009-05-07 8:45 ` Aleksey Avdeev 2009-05-07 9:12 ` Victor B. Wagner 2009-05-07 9:26 ` Aleksey Avdeev 2009-05-07 9:53 ` Victor B. Wagner 2009-05-07 11:08 ` Aleksey Avdeev 2009-05-07 9:20 ` Afanasov Dmitry 2009-05-07 9:24 ` Afanasov Dmitry 2009-05-07 9:24 ` Afanasov Dmitry 2009-05-07 10:01 ` Victor B. Wagner 2009-05-07 10:12 ` Ivan Fedorov 2009-05-07 11:21 ` Ivan Fedorov 2009-05-07 13:43 ` Victor B. Wagner 2009-05-07 13:49 ` Ivan Fedorov 2009-05-07 14:08 ` Victor B. Wagner 2009-05-07 15:51 ` Ivan Fedorov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20090507083836.GB7433@cryptocom.ru \ --to=vitus@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git