URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 44577
[ Назад ]

Исходное сообщение
"Тематический каталог: Настройка SSL-шифрования между Linux и Microsoft SQL серверо"

Отправлено auto_topic , 21-Окт-08 14:13 
Обсуждение статьи тематического каталога: Настройка SSL-шифрования между Linux и Microsoft SQL серверо

Ссылка на текст статьи: http://www.opennet.ru/base/sec/openssl_freetds_ssl.txt.html


Содержание

Сообщения в этом обсуждении
"Настройка SSL-шифрования между Linux и Microsoft SQL серверо"
Отправлено Leo , 21-Окт-08 14:13 
Спаисбо! Очень!

От себя добавлю, что не обязательно класть имя сервера в CN (правда, это очень распространённая ошибка). Для DNS записей в сертификате есть специальное место (и винда во всех её проявлениях его понимает). Это расширение 2.5.29.17 - Альтернативный сабжект (туда можно много что заносить, не только DNS).
Выглядит так
...
X509v3 Subject Alternative Name: DNS:cfweb, DNS:10.2.1.44
...


"Настройка SSL-шифрования между Linux и Microsoft SQL серверо"
Отправлено Andrew Kolchoogin , 21-Окт-08 14:39 
> От себя добавлю, что не обязательно класть имя сервера в CN (правда, это очень
> распространённая ошибка).

Нет, имя сервера в CN класть все-таки обязательно. :)

Но не в виде DNS-записи, конечно же, а в виде dc=host,dc=domain,dc=tld. А вот если в сертификат хочется положить host.domain.tld -- тогда и нужно пользовать 2.5.29.17.


"Настройка SSL-шифрования между Linux и Microsoft SQL серверо"
Отправлено Leo , 21-Окт-08 15:13 
:) Хех.
Ну, раз уж такие дела...
Конечно, _можно_ класть имя сервера (заметьте, одно!) в Subject в виде
dc=host,dc=domain,dc=tld
Но, повторюсь, _одно_. Остальное - всё туда же, в расширение.

НО! Где ГОСТ, там и закон! :) А закон гласит о поэкземплярном, персонифицированном учёте.
А персонификацию, всё-таки, удобно проводить по Subject.
Т.о. считаю, что лучше сразу заносить DNS в расширение.
Вот :)


"Настройка SSL-шифрования между Linux и Microsoft SQL сервером на сертификате Криптопро (ssl mssql linux crypt freetds)"
Отправлено User294 , 21-Окт-08 20:16 
> OpenVPN и подобное не разрешены.

Ээээ а если его собрать с новым OpenSSL и заэнфорсить алгоритм шифрования гост, если уж его так хотят?Там cipher который будет юзать SSL можно выбирать AFAIK.Ну и все что сертификатов касается к нему тоже применимо в принципе :)


"Настройка SSL-шифрования между Linux и Microsoft SQL серверо..."
Отправлено User294 , 21-Окт-08 21:05 
Кстати да, у упомянутого криптокома лежит патч на OpenVPN для тех кому не повезло.

"Настройка SSL-шифрования между Linux и Microsoft SQL серверо"
Отправлено Victor Wagner , 22-Окт-08 12:09 
Э, если вы возьмете сертифицированный продукт МагПро КриптоПакет (та же OpenSSL 0.9.8e с поддержкой ГОСТ) и собранный нами бинарник OpenVPN - тогда да, это будет сертифицированное решение. А если пересоберете, и хэш-сумма бинарника будет отличаться от хэш-суммы указанной в формуляре продукта, то это будет несертифицированное решение.

"Настройка SSL-шифрования между Linux и Microsoft SQL сервером на сертификате Криптопро (ssl mssql linux crypt freetds)"
Отправлено Аноним , 22-Окт-08 00:12 
Что за "вставьте после" и "получается вот так", блин? patch и diff для кого сделаны?

"Настройка SSL-шифрования между Linux и Microsoft SQL серверо..."
Отправлено vitek , 22-Окт-08 02:14 
>Что за "вставьте после" и "получается вот так", блин? patch и diff
>для кого сделаны?

и то правда! и зачем вообще статья?.. исхоников что ли не хватает? :-D
...
автору - спасибо.


"Настройка SSL-шифрования между Linux и Microsoft SQL серверо"
Отправлено Victor Wagner , 22-Окт-08 12:18 
>Что за "вставьте после" и "получается вот так", блин? patch и diff
>для кого сделаны?

Когда написано как написано, то несколько проще понять, что именно сделано и почему. А если понять, то этот же алгоритм можно применить к любому другому продукту, использующему OpenSSL.

Собственно, есть два основных условия, после которых с ГОСТ начинает работать любой OpenSSL-enabled продукт:
1. Подгружается engine, реализующая ГОСТ (либо через зачитывание openssl.cnf вызовом OPENSSL_config(NULL), либо если продукт имеет собственные средства работы с engine, то через них. Тогда надо еще убедиться что  он вызывает ENGINE_set_default(e,ENGINE_METHOD_ALL)). Обратите внимание, что engine  должна быть загружена до SSL_library_init. Поскольку иначе SSL_library_init не найдет доступных реализаций алгоритмов ГОСТ и запретит гостовские шифрсьюты.

2. В списке разрешенных шифрсьютов, задаваемых SSL_set_cipher_list лии SSL_CTX_set_cipher_list присутствует GOST2001-GOST89-GOST89. (в случае патченной OpenSSL 0.9.8 должны еще быть явно запрещены шифрсьюты с DSA, поскольку они конфликтуют. В 0.9.9 этой проблемы нет)

Есть еще третье условие - для загрузки секретного ключа (если у нас сервер или если используется клиентский сертификат) не должна использоваться функция
SSL_use_RSAPrivateKey_file, которая, по очевидным причинам, ключи ГОСТ грузить не умеет.
Заменить её на более общую SSL_use_PrivateKey_file


"Настройка SSL-шифрования между Linux и Microsoft SQL сервером на сертификате Криптопро (ssl mssql linux crypt freetds)"
Отправлено 1fyjybv , 22-Окт-08 04:03 
Мда. Виндовс в заголовке упомянули - ожидай чего-то нездорового от статьи. Это же надо было додуматься, текст через жпег выкладывать. Ну, и про diff уже сказали выше. Да уж, трамвай обходи спереди, автобус сзади, в венду стороной.


"mssql-клиент"
Отправлено Heckfy , 22-Окт-08 12:14 
Я пользуюсь другим клиентом - squish:
       Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), and is intended as a replacement for the venerable ‘isql’ program supplied by Sybase.  It came about due to years of frustration of trying to do real work with a program that was never meant to perform real work.

       Sqsh is much more than a nice prompt, it is intended to provide much of the functionality provided by a good shell, such as variables, aliasing, redirection, pipes, back-grounding, job control, history, command substitution, and dynamic configuration.  Also, as a by-product of the design, it is remarkably easy to extend and add functionality.

Мне хватает. Бабушке не хватает, а мне хватает. :)


"Настройка SSL-шифрования между Linux и Microsoft SQL сервером на сертификате Криптопро (ssl mssql linux crypt freetds)"
Отправлено Сергей , 01-Апр-10 00:42 
Объясните, плиз, новичку, что значит
Читаем секцию "CONFIGURATION FILE" в файле
   <source-openssl>/engines/ccgost/README.gost. Выполняем то, что нам
   советуют.?
Я прочитал - ничего не понял

"Настройка SSL-шифрования между Linux и Microsoft SQL сервером на сертификате Криптопро (ssl mssql linux crypt freetds)"
Отправлено cm , 21-Июл-10 20:24 
статья была бы полной, если б приведен был кусок конфига, который необходимо вставить для работы GOST. а без него ... README.gost ничего особо из себя не представляет

"Настройка SSL-шифрования между Linux и Microsoft SQL серверо..."
Отправлено ЫМЫ , 13-Окт-10 09:36 
Для не осиливших README.gost:

openssl_conf = openssl_def
CRL_URI=http://localhost/democa/current.crl
CAROOT=./demoCA
KEY_USAGE=digitalSignature,nonRepudiation,keyEncipherment
EXT_USAGE=serverAuth
E=root@localhost
L=Nowhere
O=Misconfigured site
CN=Lazy admin
[openssl_def]
engines = engine_section
[engine_section]
gost = gost_section
[ ca ]
default_ca      = CA_default
[ CA_default ]
dir            = $ENV::CAROOT
database       = $dir/index.txt
new_certs_dir  = $dir/newcerts
certificate    = $dir/cacert.pem
serial         = $dir/serial
private_key    = $dir/private/cakey.pem
RANDFILE       = /dev/urandom
default_days   = 365
default_crl_days= 30
default_md     = md5
policy         = policy_any
email_in_dn    = yes
x509_extensions= x509_extensions
nameopt        = utf8,sep_comma_plus
certopt        = utf8,sep_comma_plus
copy_extensions = copy
[ ca_cert_extensions ]
basicConstraints=critical,CA:TRUE,pathlen:1
keyUsage=keyCertSign,cRLSign
crlDistributionPoints = URI:$ENV::CRL_URI
[ x509_extensions ]
basicConstraints=CA:FALSE
crlDistributionPoints = URI:$ENV::CRL_URI
[ policy_anything ]
countryName             = optional
stateOrProvinceName     = optional
localityName            = optional
organizationName        = optional
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional
[ policy_any ]
countryName            = supplied
stateOrProvinceName    = optional
organizationName       = optional
organizationalUnitName = optional
commonName             = supplied
emailAddress           = supplied
[req]
prompt=no
distinguished_name = req_dn
string_mask = pkix
default_md = sha1
utf8=yes
req_extensions = req_exts
[req_exts]
basicConstraints = CA:FALSE
keyUsage = $ENV::KEY_USAGE
extendedKeyUsage = $ENV::EXT_USAGE
[ req_dn ]
C = $ENV::C
L = $ENV::L
CN= $ENV::CN
O= $ENV::O
OU= $ENV::OU
emailAddress = $ENV::E
[ gost_section ]
engine_id = gost
default_algorithms = ALL