Страница 1 из 1

Авторизация в OTRS по сертификату

Добавлено: 30 июл 2020, 14:53
eugeney
В данный момент имеется рабочий OTRS на Apache (Freebsd) с авторизацией через LDAP, в качестве логина используется UserPrincipalName из AD.
В компании началось внедрение Виртуальных Смарт-карт для использования внутренних сервисов, не получается заставить OTRS авторизовывать кастомеров по сертификату.
Т.е. задача: спарсить апачем UserPrincipalName из сертификата и передать его OTRS. Апач запрашивает пин-код смарт-карты, но OTRS ругается на неверный логин\пароль.

Что делал:
1) В Config.pm в разделе "Customer Authentication" оставил лишь:

Код: Выделить всё

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
2) В конфиге апача в VirtualHost прописал:

Код: Выделить всё

 SSLVerifyClient require
 SSLVerifyDepth 5
 SSLOptions +FakeBasicAuth +ExportCertData
 SSLCACertificateFile "/usr/local/etc/apache24/RootCA2.cer"
 В Location добавил:
 AuthBasicFake "%{SSL_CLIENT_SAN_OTHER_msUPN_0}"
При этом в логах никаких ошибок, апач выдает строчку

Код: Выделить всё

Authorization: Basic YWRtaW5AY29tcGFueS5ydTpQQVNTV09SRA== 
Из base64 декодируется в формат UPN:PASSWORD, что вроде как мне и нужно, но ОТРС ругается на неверные данные.
Может есть какие-то идеи?
Благодарю!

Re: Авторизация в OTRS по сертификату

Добавлено: 30 июл 2020, 17:00
alexus
Добрый день!

Задачка нетривиальная, надо смотреть живьём. Если есть бюджет, пишите в личку, поможем

Re: Авторизация в OTRS по сертификату

Добавлено: 30 июл 2020, 17:07
eugeney
Проблема решена, достаточно было просто дописать в конфиг апача:

Код: Выделить всё

RequestHeader set REMOTE-USER %{SSL_CLIENT_SAN_OTHER_msUPN_0}e

Re: Авторизация в OTRS по сертификату

Добавлено: 30 июл 2020, 17:10
alexus
eugeney писал(а):
30 июл 2020, 17:07
Проблема решена, достаточно было просто дописать в конфиг апача:

Код: Выделить всё

RequestHeader set REMOTE-USER %{SSL_CLIENT_SAN_OTHER_msUPN_0}e
Напишите манул в Howto - будет и Вам полезно, и все интересно)