Client certificate auth - моментально 403 Forbidden

kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Client certificate auth - моментально 403 Forbidden

Post by kostik78 »

Девайс и назначение его устраивать MITM для всех машин внутри корпоративной сети. Его устанавливают чтобы видеть весь SSL traffic то бишь ещё один девайс для слежкибезопастности.
Palych
Уже с Приветом
Posts: 13729
Joined: 16 Jan 2001 10:01

Re: Client certificate auth - моментально 403 Forbidden

Post by Palych »

Если бы был proxy, это было видно в адресах пакетов
Palych
Уже с Приветом
Posts: 13729
Joined: 16 Jan 2001 10:01

Re: Client certificate auth - моментально 403 Forbidden

Post by Palych »

Я бы наваял простейшую утилиту на джаве, устанавливающую соединение, запустил её с обоих машин, включив ssl debug.
А может SoapUI умеет трассировать ssl handshake?
Palych
Уже с Приветом
Posts: 13729
Joined: 16 Jan 2001 10:01

Re: Client certificate auth - моментально 403 Forbidden

Post by Palych »

...или curl в verbose mode.
Я бы посмотрел на две вещи:
- какие CA сервер заявляет
- какой именно сертификат посылается клиентом.
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Client certificate auth - моментально 403 Forbidden

Post by kostik78 »

Palych wrote: 20 Jul 2021 05:22 Если бы был proxy, это было видно в адресах пакетов
Данный девайс вполне способен прикидываться под любым IP как было например в моём случае. Так что я бы так критично не утверждал
Его видно по сертификатам - такие девайсы генерят сертификаты on fly используя корпоративный CA который обычно установлен на всех машинах. Если посмотреть на сертификат сервера то будет видно есть ли «демон» в сети или нет: если сертификат вернулся тот что установлен на сервер то демона нет :)
shadow7256
Уже с Приветом
Posts: 9402
Joined: 18 Mar 2004 15:11
Location: New York -> FL

Re: Client certificate auth - моментально 403 Forbidden

Post by shadow7256 »

Спасибо всем за помощь.. продвинулись дальше.

Как оказалось в Windows Server 2012 и выше ввелись изменения насчет того как система работает с TLS и в частности как она работает с клиентскими сертификатами. У нас стоят Windows 10 и поэтмоу у нас все работало без проблем. У клиента Windows Server 2016.

Когда поставили опцию “ClientAuthTrustMode” = 2 в этой ветке реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel

то консольное приложение заработало и серверное приложение теперь валидирует сертификат. Может кому нибудь пригодится для информации.
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Client certificate auth - моментально 403 Forbidden

Post by kostik78 »

Классно. Удачи :great:
Palych
Уже с Приветом
Posts: 13729
Joined: 16 Jan 2001 10:01

Re: Client certificate auth - моментально 403 Forbidden

Post by Palych »

shadow7256 wrote: 20 Jul 2021 14:28 Спасибо всем за помощь.. продвинулись дальше.

Как оказалось в Windows Server 2012 и выше ввелись изменения насчет того как система работает с TLS и в частности как она работает с клиентскими сертификатами. У нас стоят Windows 10 и поэтмоу у нас все работало без проблем. У клиента Windows Server 2016.

Когда поставили опцию “ClientAuthTrustMode” = 2 в этой ветке реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel

то консольное приложение заработало и серверное приложение теперь валидирует сертификат. Может кому нибудь пригодится для информации.
Чего-то я не догоняю:
2 - Exclusive CA Trust

Requires that a client certificate is chained to an intermediate CA certificate or to a root certificate in the caller-specified trusted issuer store.
Как это?
Вызывающая сторона указывает как проверять её аутентичность?
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Client certificate auth - моментально 403 Forbidden

Post by kostik78 »

Palych wrote: 20 Jul 2021 20:18
shadow7256 wrote: 20 Jul 2021 14:28 Спасибо всем за помощь.. продвинулись дальше.

Как оказалось в Windows Server 2012 и выше ввелись изменения насчет того как система работает с TLS и в частности как она работает с клиентскими сертификатами. У нас стоят Windows 10 и поэтмоу у нас все работало без проблем. У клиента Windows Server 2016.

Когда поставили опцию “ClientAuthTrustMode” = 2 в этой ветке реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel

то консольное приложение заработало и серверное приложение теперь валидирует сертификат. Может кому нибудь пригодится для информации.
Чего-то я не догоняю:
2 - Exclusive CA Trust

Requires that a client certificate is chained to an intermediate CA certificate or to a root certificate in the caller-specified trusted issuer store.
Как это?
Вызывающая сторона указывает как проверять её аутентичность?
Скорее всего клиентский сертификат выписан банком с ихним CA который не находиться в листе public known CAs. CA банка стоит на компьютере но винда его заблеклистила поэтому поводу. Переключив на 2 винду заставили смотреть на все CA установленные в сторе. Я так понял эту опцию
shadow7256
Уже с Приветом
Posts: 9402
Joined: 18 Mar 2004 15:11
Location: New York -> FL

Re: Client certificate auth - моментально 403 Forbidden

Post by shadow7256 »

kostik78 wrote: 20 Jul 2021 21:00 Скорее всего клиентский сертификат выписан банком с ихним CA
да, так и есть. У них все сертификаты подписаны ихним же банком.
CA банка стоит на компьютере
стоит да.
но винда его заблеклистила поэтому поводу.
вот тут непонятно почему.. винда его заблокировала на стороне сервера?

я честно говоря не до конца догнал почему эта опция решила проблему.
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Client certificate auth - моментально 403 Forbidden

Post by kostik78 »

Я в начале топика упоминал что у Винды есть дополнительная секьюрити для private SSL certs... Я нашел это в одном из топиков про mutual SSL auth но там не говорилось что конкретно и я тогда дальше копать не стал ;) Теперь понятно что имели виду - винда блеклистит private CA and it's chain for mutual auth. Во всяком выглядит именно так в Вашем случае. Опять же это мое понимание ситуации и я не виндовс человек.
Возможно в винде в сторе разные уровни (бакеты) для сертификатов по типу как в *nix. Просто не так прозрачно.
Palych
Уже с Приветом
Posts: 13729
Joined: 16 Jan 2001 10:01

Re: Client certificate auth - моментально 403 Forbidden

Post by Palych »

Согласно спецификации TLS при подключении вываливает список CA которые он признает.
Можно их посмотреть, включив отладку на клиенте.
И сравнить этот список при разных значениях той волшебной опции.
shadow7256
Уже с Приветом
Posts: 9402
Joined: 18 Mar 2004 15:11
Location: New York -> FL

Re: Client certificate auth - моментально 403 Forbidden

Post by shadow7256 »

У нас клиент при коннекте сразу же передаёт сертификат поэтому сервер изначально не шлёт клиенту.
Palych
Уже с Приветом
Posts: 13729
Joined: 16 Jan 2001 10:01

Re: Client certificate auth - моментально 403 Forbidden

Post by Palych »

Интересно бы теперь взять какой-нибудь другой сертификат подписанный тем же банком, например от другого сервиса.
И подсунуть в качестве удостоверения личности клиента...
shadow7256
Уже с Приветом
Posts: 9402
Joined: 18 Mar 2004 15:11
Location: New York -> FL

Re: Client certificate auth - моментально 403 Forbidden

Post by shadow7256 »

Palych wrote: 21 Jul 2021 05:02 Интересно бы теперь взять какой-нибудь другой сертификат подписанный тем же банком, например от другого сервиса.
И подсунуть в качестве удостоверения личности клиента...
В данном случае Винда скорее всего "разрешит" данный сертификат (если конечно алгоритм проверки винды состоит только в том, чтобы проверить подписан ли данный сертификат банком), но затем вступит в дело Authentication filter (это уже наш код) и он делает более тщательную проверку, в том числе проверяет установлен ли данный сертификат на сервере. Если такого клиентского сертификата нет на сервере, то вернется 403 Forbidden.

Return to “Вопросы и новости IT”