Usergate агент авторизации linux

Авторизация с помощью Kerberos

[u]text[/u]Подчеркнутый текст.

[i]text[/i]Курсивный текст.

[s]text[/s]Зачеркнутый текст.

[color=green]text[/color] — Цветной текст.

[url=kbpublisher.com]text[/url] — text

[quote]text[/quote] — Цитируемый текст

[h1]text[/h1] — Заголовок.

[code]text[/code] — Код text

Настройка авторизации Kerberos

Авторизация Kerberos позволяет прозрачно (без запроса имени пользователя и его пароля) авторизовать пользователей домена Active Directory. При авторизации через Kerberos сервер UserGate работает с контроллерами домена. Контроллеры домена выполняют проверку пользователя, который получает доступ в интернет.

Примечание Для авторизации пользователей через Kerberos пользователи должны входить в группу Domain users (пользователи домена) в AD.

Для настройки авторизации Kerberos необходимо выполнить следующие действия (для настройки авторизации Kerberos предварительно был создан домен test1.net).

  1. Создать DNS-записи для сервера UserGate. Необходимо создавать записи типа A, не создавайте записи типа CNAME. В качестве IP-адреса необходимо указать IP-адрес интерфейса UserGate, подключенного в зону Trusted.

image22

  1. Создать пользователя в домене AD, например kerb @ test1 . net с параметром учётной записи password never expires (срок действия пароля не ограничен). Установить пароль пользователю, например, kerb.

Примечание Не используйте символы национальных алфавитов, например, кириллицу, в именах пользователя kerb или в организационных единицах AD, где вы планируете создать учетную запись kerb. Пользователь для Kerberos и пользователь для LDAP-коннектора должны отличаться. Не используйте одну и ту же учетную запись.

ПримечаниеВ случае, если keytab файл создавался ранее, необходимо удалить учётную запись пользователя, для которого он был создан.

  1. Создать keytab файл на контроллере домена. Для этого необходимо запустить командную строку от имени администратора и выполнить следующую команду.

ktpass.exe /princ HTTP/auth . test1 . net @ TEST1 . NET /mapuser kerb @ TEST1 . NET /crypto ALL /ptype KRB5_NT_PRINCIPAL /pass * /out C:\utm.keytab

Далее введите пароль пользователя kerb. Keytab файл создан (в корне диска С:\).

  • auth.test1.net — DNS — запись, созданная для сервера UserGate в пункте 1.
  • TEST1.NET — Kerberos realm domain, обязательно большими буквами.
  • kerb @ TEST1 . NET — имя пользователя в домене (созданное ранее в пункте 2), имя realm-домена обязательно большими буквами.
Читайте также:  Аналог файла hosts linux

После успешного создания keytab файла Имя входа пользователя (Userlogon name) изменилось (можно проверить в свойствах пользователя kerb во вкладке Учётная запись).

На UserGate-сервере предварительно произведены сетевые настройки, протокол QUIC запрещён (можно запретить, настроив правило межсетевого экрана в разделе Политики сети ➜ Межсетевой экран), включено правило дешифрования всех неизвестных пользователей (раздел Политики безопасности ➜ Инспектирование SSL: можно использовать правило, созданное по умолчанию Decrypt all for unknown users). Это необходимо для авторизации пользователей, которые делают свои запросы по зашифрованному протоколу HTTPS.

Вариант 1. В разделе Сеть ➜ DNS ➜ Системные DNS-серверы укажите IP-адреса контроллеров домена (в данном примере 10.0.0.20).

Настройте синхронизацию времени с контроллером домена: в разделе UserGate ➜ Настройки ➜ Настройка времени сервера необходимо изменить Основной NTP-сервер. Укажите IP-адрес контроллера домена. В качестве запасного — опционально — можно указать IP-адрес другого контроллера домена.

Далее перейдите к пункту 5.

Вариант 2. В разделе Сеть ➜ DNS ➜ Системные DNS-серверы укажите IP-адреса DNS-серверов интернета.

В разделе Сеть -➜ DNS -➜ DNS-прокси ➜ Правила DNS нажмите на кнопку Добавить и укажите домен и IP-адреса контроллеров домена.

image28

Настройте синхронизацию времени в разделе UserGate ➜ Настройки ➜ Настройка времени сервера. Измените основной и запасной NTP-серверы (поля Основной NTP-сервер и Запасной NTP-сервер).

image29

Перейдите в раздел Сеть ➜ Зоны и в настройках зоны внутренней подсети организации (по умолчанию, зона Trusted) во вкладке Контроль доступа разрешите сервисы DNS и NTP сервис.

image30

На серверах контроллеров AD укажите UserGate в качестве корневого сервера DNS и основного сервера NTP.

В разделе UserGate ➜ Настройки ➜ Модули измените названия доменов Auth/Logout Captive-портала и страницы блокировки на доменные имена, созданные в пункте 1.

image31

  1. Создать LDAP — коннектор для получения информации о пользователях и группах Active Directory и загрузить keytab-файл.

Для этого перейдите в раздел Пользователи и устройства ➜ Серверы авторизации и добавьте LDAP коннектор, нажав на кнопку Добавить и выбрав Добавить LDAP коннектор.

В свойствах коннектора LDAP во вкладке Настройки необходимо указать:

  • Произвольное название LDAP-коннектора (поле Название).
  • IP-адрес сервера контроллера домена (поле Доменное имя LDAP или IP-адрес ).
  • Bind DN («логин») в формате DOMAIN\username или username @ domain для подключения к серверу LDAP. Данный пользователь уже должен быть заведен в домене.
  • Пароль пользователя для подключения к домену.
Читайте также:  Linux kernel config make

image32

Во вкладке Домены LDAP свойств коннектора добавьте доменное имя LDAP.

image33

Далее загрузите созданный в пункте 3 keytab файл во вкладке Kerberos keytab.

После внесения настроек нажмите на кнопку Проверить соединение. В случае, если настройки внесены верно, то вы увидите следующее сообщение.

image34

Сохраните настройки LDAP коннектора.

В разделе Пользователи и устройства ➜ Профили авторизации создайте профиль авторизации Kerberos и укажите следующие данные:

  • Во вкладке Общие необходимо указать Название: произвольное название профиля авторизации (допустим kerberos auth).
  • Во вкладке Методы аутентификации добавьте Аутентификация Kerberos.

Сохраните настройки профиля авторизации, нажав на кнопку Сохранить.

Создайте Captive-профиль во вкладке Пользователи и устройства ➜ Captive-профили и заполните необходимые данные и сохраните. Во вкладке Общие укажите:

  • Название Captive — профиля.
  • Профиль авторизации, созданный ранее.

image35

Добавьте правило Captive-портала для авторизации Kerberos в разделе Пользователи и устройства ➜ Captive-портал. В свойствах правила Captive-портала во вкладке Общие необходимо указать:

image36

В разделе Сеть ➜ Зоны на вкладке Контроль доступа разрешите доступ к сервису HTTP(S)-прокси для зоны, к которой подключены пользователи, использующие авторизацию Kerberos.

image37

Войдите в систему под учётной записью доменного пользователя. Для корректной работы с HTTPS-сайтами установите сертификат, используемый для дешифрования трафика, в доверенный сертификаты.

Стандартный режим авторизации Kerberos.

Для работы в стандартном режиме авторизации Kerberos укажите обязательное использование прокси сервера в виде FQDN-имени UserGate. Перейдите Панель управления ➜ Cеть и Интернет ➜ Свойства браузера Подключения ➜ Настройка сети Прокси-сервер и укажите FQDN и порт интерфейса UserGate, к которому будут подключены пользователи.

image38

Прозрачный режим авторизации Kerberos.

Для работы в прозрачном режиме авторизации перейдите в Панель управления ➜ Cеть и Интернет ➜ Свойства браузера ➜ Безопасность ➜ Интернет. В разделе Уровень безопасности для этой зоны нажмите кнопку Другой и в параметрах безопасности в разделе Проверка подлинности пользователя ➜ Вход установите Автоматический вход в сеть с текущим именем пользователя и паролем.

image39

Проверка авторизации Kerberos.

Для проверки работы авторизации Kerberos в браузере пользователя перейдите на сайт, например, ya.ru. Далее на UserGate перейдите во вкладку Журналы и отчёты в раздел Журналы ➜ Журнал веб-доступа. В журнале видно, что запрос происходит от доменного пользователя.

image40

Проверка корректности выпуска keytab файла для Kerberos авторизации

В случае некорректной работы Keytab файла или Kerberos в целом, необходимо выполнить проверку по следующей инструкции:

  1. Установить Ubuntu версии 14.04.5 или выше.
  2. Выполнить обновления с использованием команды:
  1. Установить необходимый пакет для использования команды kinit — в терминале выполнить:
  1. Переименовать созданный на контроллере домена Keytab файл в krb5.keytab
  2. Поместить данный krb5.keytab файл в директорию /etc/
  3. Выполнить проверку Keytab файла следующей командой — в терминале выполнить
Читайте также:  Linux завершить работу пользователя

где example_utm.example.ru — DNS-запись сервера UserGate, ошибок быть не должно (пустая строка).

Ticket cache: FILE:/tmp/krb5cc_1000Default principal: HTTP/example_utm.example.loc@EXAMPLE.LOC Valid starting Expires Service principal08/08/2017 00:53:02 08/08/2017 10:53:02 krbtgt/EXAMPLE.LOC@EXAMPLE.LOC renew until 08/09/2017 00:53:02

На этом проверка закончена: keytab файл создан корректно.

Дополнительно: команда: «setspn.exe -X» проверяет уникальность PRINCIPAL-записей на контроллере домена.

Настройка браузера Firefox для авторизации Kerberos

Для корректной авторизации пользователей, использующих браузер Firefox, с помощью Kerberos необходимо в браузере перейти по адресу about:config и указать значение вашего домена Active Directory в следующих конфигурационных параметрах:

  • network.negotiate-auth.trusted-uris.
  • network.negotiate-auth.delegation-uris.

На картинке ниже показаны измененные значения этих параметров для домена AD test1.net:

image41

В случае использования ОС Ubuntu 22.04 и выше необходимо в файле krb5.conf добавить следующее:

Источник

4.5.2. Пользователи Linux

Для настройки прозрачной авторизации на ОС семейства Linux можно воспользоваться следующей командой:

curl --proxy-negotiate -u:user -x auth.usergate.demo:8090 http://example.ru &> /dev/null

где u:user — буквально; имя пользователя подставлять не нужно;

auth.usergate.demo — FQDN прокси-сервера UserGate;

http://example.ru — любой URL; используется для заполнения соответствующего поля при формировании веб-запроса к прокси-серверу.

Для сброса авторизации можно воспользоваться следующей командой:

где logout.usergate.demo — FQDN прокси-сервера UserGate.

Выполнение команды должно осуществляться с IP-адреса, авторизацию которого необходимо сбросить.

3.5.2.1. С помощью xprofile¶

  1. В домашней директории пользователя создайте файл .xprofile (точка обязательна) и сделайте файл исполняемым (chmod +x ~/.xprofile).
  2. Пропишите в файле следующие строки:

3.5.2.2. С помощью systemd¶

Также можно воспользоваться функционалом подсистемы инициализации и управления службами systemd. В этом случае необходимо создать файл сервиса и зарегистрировать его в systemd.

  1. Для работы скрипта создайте файл с произвольным именем, например, auth.service в каталоге ~/.config/systemd/user.
  2. Добавьте в файл следующее:
[Unit] Description=Auth service on UserGate NGFW After=network.target network-online.target Wants=network-online.target [Service] Type=oneshot RemainAfterExit=true TimeoutStartSec=0 ExecStart=/path-to-curl/curl --proxy-negotiate -u:user -x auth.usergate.demo:8090 http://cbr.ru > /dev/null ExecStop=/path-to-curl/curl --cookie "csrf_token=foo" -v -X POST -d "csrfmiddlewaretoken=foo" -H "Content-Type: application/x-www-form-urlencoded" http://logout.usergate.demo:8002/cpa/logout [Install] WantedBy=default.target
systemctl --user daemon-reload systemctl --user enable auth.service

Аналогичным образом реализуйте запуск скрипта сброса сессии пользователя при перезагрузке или выключении машины.

Источник

Оцените статью
Adblock
detector