В этой публикации я покажу, как выполняется настройка Kerberos для веб клиента CommuniGate. В качестве опорой документации я буду использовать соответствующую страницу руководства по продукту.
Зачем вообще это нужно? Для тех из вас, кто задается этим вопросом приведу пример. Если Kerberos аутентификация не настроена, то при каждом входе в веб клиент ваши пользователи должны будут указывать логин и пароль. Это может быть удобно не для всех. Если же вы настроите Kerberos аутентификацию, то доступ к веб клиенту будет предоставлять сразу же — без запроса логина и пароля (но только для своей учетной записи). Однако, для этого нужен какой-то центр распределения ключей (KDC). В моем случае это будет Active Directory.
При настройке Kerberos аутентификации очень важно указать правильно указать на сервер и клиентах дату, время и часовой пояс. Это очень сильно влияет на правильную работу всего механизма аутентификации.
Настройка Kerberos для веб клиента CommuniGate
Для того, чтобы настроить Kerberos аутентификацию необходимо выполнить следующие шаги:
1. В Active Directory создадим отдельного пользователя. Именно для этого пользователя мы в дальнейшем будем экспортировать ключи.

2. Выполним экспорт ключей:
ktpass -princ HTTP/com01.itproblog.ru@ITPROBLOG.RU -mapuser cgp -pass Qwerty123 -out C:\keytab.data -crypto RC4-HMAC-NT -ptype KRB5_NT_SRV_HST
Параметры экспорта следующие:
| Параметр | Описание |
| -princ | Указываем для какого сервера будет настроен экспорт. Составной параметр — service/domain@REALM service — имя сервиса для которого выполняется экспорт. В нашем случае — HTTP domain — DNS-имя по которому ваши клиенты будут заходить на веб клиент CommuniGate. В моем случае — com01.itproblog.ru REALM — имя домена Active Directory в котором будет выполняться аутентфиикация. В моем случае это — ITPROBLOG.RU |
| -mapuser | Имя пользователя от имени которого мы выполняем экспорт. Мы создали его в п. 1 |
| -pass | Пароль пользователя |
| -out | Путь до файла с ключами. Именно этот файл в последующем мы импортируем в CommuniGate |
| -crypto | Параметры криптографии. Оставляем без изменений |
| -ptype | Тип принципала. Оставляем без изменение |
3. После успешного экспорта в указанной нами директории должен появиться соответствующий файл.

4. Запускаем веб консоль администрирования CommuniGate.
5. Переходим в раздел для импорта ключей Kerberos: Users -> Domains -> itproblog.ru -> Security -> Kerberos.
6. Нажимаем кнопку «Browse», находим файл из п. 3. Нажимаем кнопку «Import Keys».

7. При успешном импорте мы увидим соответствующий ключ в списке:

Настройки на стороне сервера завершены. Теперь перейдет к проверкам на стороне клиента.
Проверка работы Kerberos аутентификации
Теперь выполним проверку на стороне клиента.
Если вы используете браузеры от Microsoft (Internet Explorer, Edge), то для того, чтобы у вас не появлялось дополнительное окно с аутентификацией, необходимо добавить адрес сервера CommuniGate в зону местной интрасети.

Проверяем:
1. Запускаем используемый вами браузер. Я буду использовать Google Chrome. Также проверял работу с Internet Explorer и Edge — аутентификация работает корректно.
2. Переходим по адресу, по которому вы настроили доступ до сервера CommuniGate на страницу login:
https://com01.itproblog.ru/login
Альтернативный вариант — использовать корневой адрес и кнопку «Auto-Login»:
https://com01.itproblog.ru

3. При успешной аутентификации через Kerberos у вас не должно быть запроса на логин и пароль. Вы, соответственно, сразу должно получить доступ до веб интерфейса Samoware.

Настройка Kerberos для веб клиента CommuniGate завершена.
