Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Konstantin_74  
#1 Оставлено : 31 мая 2024 г. 10:18:45(UTC)
Konstantin_74

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.05.2024(UTC)
Сообщений: 4
Российская Федерация

Здравствуйте,
Использую Nginx 1.18.0, собранный по инструкции https://support.cryptopr...-c-podderzhkojj-gost-tls
(По новой инструкции работать мне наши ИБ не разрешили). КриптоПро версии 5.0.1200 + лицензия TLS.
Nginx используется как терминатор гостовского соединения и дальше уже стандартным проксированием отдаёт трафик прикладу.

Нашему приложению необходимо отдавать fingerprint сертификата, с которым подключается пользователь. Сама терминация трафика проходит успешно, однако Nginx не отдаёт его.

В локейшине использую директиву
Цитата:
proxy_set_header X-Client-Cert-Fingerprint $sspi_client_fingerprint;

Однако в пакетах отстутствет fingerprint.

При настройке расширенного логирования с переменной
Цитата:
$sspi_client_fingerprint
в логах так же пусто.

Подскажите, пожалуйста, как я могу проксировать fingerprint пользовательского сертификата?

На Nginx не используется авторизация по пользовательскому сертификату.
Offline pd  
#2 Оставлено : 31 мая 2024 г. 13:02:34(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,479
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 33 раз
Поблагодарили: 440 раз в 321 постах
Автор: Konstantin_74 Перейти к цитате
На Nginx не используется авторизация по пользовательскому сертификату.

Есть уверенность, что сертификат пользователь предоставляет?

Ни один из методов "sspi_client_" не работает? Самый простой например "sspi_client_raw_cert".

Знания в базе знаний, поддержка в техподдержке
Offline Konstantin_74  
#3 Оставлено : 31 мая 2024 г. 14:01:07(UTC)
Konstantin_74

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.05.2024(UTC)
Сообщений: 4
Российская Федерация

Да, всё верно, ни одна переменная $sspi_client не работает. Другие работают, например,$sspi_protocol. Цепляюсь, через stunnel, серт установлен в локальную машину, служба также запускается от системной учётки. Соединение устанавливается успешно, handshake так же успешно проходит. Так же пробовал просто браузером Yandex именно к Nginx подключиться, минуя stunnel, так же самая история.
Конфиг stunnel
Цитата:

output=C:\stunnel\stunnel.log
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7

[https]
client = yes
accept=localhost:8080
connect = my.test.site.ru:443
cert = C:\stunnel\certificate.cer
verify=2


Если чекать на сайте криптоПро

ssl_protocol TLSv1.2
ssl_cipher GOST2012-GOST8912-GOST8912 (TLS_GOSTR341112_256_WITH_28147_CNT_IMIT)
ssl_ciphers GOST2012-GOST8912-GOST8912:GOST2001-GOST89-GOST89
ssl_client_verify NONE
ssl_server_name gost.cryptopro.ru
php_random 39C23DA34BE04F84

Отредактировано пользователем 31 мая 2024 г. 15:04:49(UTC)  | Причина: Не указана

Offline pd  
#4 Оставлено : 31 мая 2024 г. 16:58:17(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,479
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 33 раз
Поблагодарили: 440 раз в 321 постах
Автор: Konstantin_74 Перейти к цитате
Да, всё верно, ни одна переменная $sspi_client не работает. Другие работают, например,$sspi_protocol.

Всё таки непонятно, откуда уверенность что сертификат отправляется?

Чтобы он был отправлен, он должен быть сервером запрошен.

Если в wireshark например видна отправка клиентского сертификата, то напишите как воспроизвести.
Знания в базе знаний, поддержка в техподдержке
Offline Konstantin_74  
#5 Оставлено : 4 июня 2024 г. 12:03:24(UTC)
Konstantin_74

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.05.2024(UTC)
Сообщений: 4
Российская Федерация

Есть инструкция как можно снять траффик со stunnel в Wireshark'e?
Он ругается.
Цитата:

Transport Layer Security
TLSv1.2 Record Layer: Encrypted Alert
Content Type: Alert (21)
Version: TLS 1.2 (0x0303)
Length: 6
Alert Message: Encrypted Alert


И я не вижу как подключить можно ГОСТовые ключи в wireshark.
Offline Konstantin_74  
#6 Оставлено : 5 июня 2024 г. 10:15:02(UTC)
Konstantin_74

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.05.2024(UTC)
Сообщений: 4
Российская Федерация

На стороне Nginx сделал следующее
sudo -u nginxgost /opt/cprocsp/bin/amd64/certmgr -inst -store uTrustedCerts -file ./test_uc.pem
. где test_uc.pem - корневой УЦ, выдавший серт, который используется в stunnel.

В nginx в блоке server прописал
sspi_verify_client on;
sspi_client_certificate TrustedCerts;
sspi_client_verify_local_crl_only on;

На стороне клиента в stunnel прописал сертификат клиента, который в цепочке имеет корневой УЦ из test_uc.pem, т.е. подписанный им.

Теперь fingerprint отображается.

Всем спасибо!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.