- Налаштування доменного DNS-сервера
- Налаштування пристрою Traffic Inspector Next Generation
- Налаштування мережевого часу
- Налаштування LDAP-коннектора
- Налаштування веб-проксі
- Налаштування Kerberos
- Налаштування комп'ютера користувача
- Перевірка Kerberos-аутентифікації на проксі
- Налаштування пристрою TING з декількома контролерами доменів
- Налаштування DNS
- Налаштування LDAP-коннектора
- Налаштування веб-проксі
Наша взаимовыгодная связь https://banwar.org/
У даній інструкції описується настройка аутентифікації користувачів на веб-проксі через протокол Kerberos.
Даний функціонал особливо актуальний в доменному середовищі Active Directory, де дана технологія дозволяє реалізувати аутентифікацію в стилі Single Sign On (SSO).
Примітка
SSO-аутентифікація позбавляє доменного користувача від повторних запитів на проходження аутентифікації. Користувач вводить доменний логін / пароль всього один раз - при логоні в операційну систему. При наступному зверненні в Інтернет через проксі Traffic Inspector Next Generation, аутентифікація відбувається прозоро і автоматично.
У нашому прикладі використовується наступна схема мережі:

Контролер домену має IP-адресу 192.168.137.2 і DNS-ім'я controller.dom.loc.
Пристрій Traffic Inspector Next Generation має IP-адресу 192.168.137.8 і DNS-ім'я tinga.dom.loc.
Теоретично, настройка Kerberos проводиться в трьох місцях: клієнтський комп'ютер, сервер з керберізірованной службою і Kerberos-сервер.
Клієнтський комп'ютер під керуванням ОС Windows вже містить всі компоненти Kerberos і доданий в домен; на ньому залишається тільки правильно вказати ім'я керберізірованной служби (веб-проксі TING) в настроках браузера. Kerberos-cервер вже був налаштований як результат розгортання контролера і домену Active Directory.
У даній інструкції описується головним чином настройка сервера з керберізірованной службою (тобто веб-проксі служби на пристрої TING). Вже з коробки на пристрої TING встановлено серед Kerberos (бібліотеки від проекту Heimdal), спеціально відкомпільоване версія Squid з підтримкою Kerberos, додатковий модуль-хелперів Squid для Kerberos.
В рамках настройки сервера з керберізірованной службою, ми виконаємо ряд дій в веб-інтерфейсі, які виражаються в створенні і модифікації ряду конфігураційних файлів.
Як DNS-сервера пристрій TING має використовувати контролер домену AD. Також, час на пристрої TING і контролері домену AD має бути синхронізоване.
В процесі настройки відбувається автогенерація конфігураційного файлу для бібліотеки Kerberos - krb5.conf. У ньому вказується загальні параметри роботи Kerberos-бібліотеки, задається Kerberos-область, вказується IP-адреса Kerberos-сервера для області та інше.
Також буде згенеровано keytab-файл. Даний файл містить SPN-імена керберізірованной служби та ключі для шифрування. Інформація про керберізірованной службі повинна бути додана на Kerberos-сервер. У нашому випадку контролер домену AD є в тому числі і Kerberos-сервером. Утиліта msktutil забезпечить створення аккаунта для пристрою TING в каталозі на контролері AD. В одному з полів аккаунта будуть прописані SPN-імена служби веб-проксі. Щоб утиліта msktutil успішно відпрацювала, ми перевіряємо наявність потрібних ресурсних записів A і PTR на доменному DNS-сервері.
Налаштування LDAP на пристрої TING може здатися дивним вимогою. Однак, це необхідно. Справа в тому, що реєстрація керберізірованной служби в домені AD здійснюється за допомогою утиліти msktutil, яка сама є ніщо інше, як LDAP-клієнт.
Ми також донастроювати веб-проксі. У файлі конфігурації squid.conf буде вимкнено прозоре проксінг, включений модуль-хелперів для Kerberos-аутентифікації negotiate_kerberos_auth. Даний модуль потрібен для того, щоб браузер користувача зміг по протоколу HTTP передати на веб-проксі тікет Kerberos.
Налаштування доменного DNS-сервера
Перевірте існування на доменному DNS-сервері потрібних ресурсних записів
- в прямій доменній зоні - записи типу A, що дозволяє здійснювати пряме перетворення DNS-імені контролера домену в його IP-адреса

- в зворотному доменній зоні - записи PTR, що дозволяє здійснювати зворотне перетворення IP-адреси контролера домену в його DNS-ім'я

Створіть на доменному DNS-сервері потрібні ресурсні записи
- додайте в пряму доменну зону запис типу A, що дозволяє здійснювати пряме перетворення DNS-імені пристрою Traffic Inspector Next Generation в його IP-адреса

- додайте в зворотну доменну зону дані PTR, позваляет здійснювати зворотне перетворення IP-адреси пристрою Traffic Inspector Next Generation в його DNS-ім'я

Перевірте пряме і зворотне дозвіл DNS-записів з пристрою Traffic Inspector Next Generation.
Пряме перетворення DNS-імені пристрою TING:
Приклад успішного результату:
;; - >> HEADER << - opcode: QUERY, rcode: NOERROR, id: 24200 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; tinga. dom. loc. IN A ;; ANSWER SECTION: tinga. dom. loc. 3600 IN A 192.168. 137.8 ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 0 msec ;; SERVER: 192.168. 137.2 ;; WHEN: Tue Oct 3 11: 21: 18 2017 ;; MSG SIZE rcvd: 47
Зворотне перетворення IP-адреси пристрою TING:
Приклад успішного результату:
;; - >> HEADER << - opcode: QUERY, rcode: NOERROR, id: 29393 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; 8.137. 168.192. in - addr. arpa. IN PTR ;; ANSWER SECTION: 8.137. 168.192. in - addr. arpa. 3600 IN PTR tinga. dom. loc. ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 0 msec ;; SERVER: 192.168. 137.2 ;; WHEN: Tue Oct 3 11: 24: 52 2017 ;; MSG SIZE rcvd: 71
Пряме перетворення DNS-імені контролера домену:
Приклад успішного результату:
;; - >> HEADER << - opcode: QUERY, rcode: NOERROR, id: 36454 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; controller. dom. loc. IN A ;; ANSWER SECTION: controller. dom. loc. 3600 IN A 192.168. 137.2 ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 0 msec ;; SERVER: 192.168. 137.2 ;; WHEN: Tue Oct 3 11: 14: 12 2017 ;; MSG SIZE rcvd: 52
Зворотне перетворення IP-адреси контролера домену:
Приклад успішного результату:
;; - >> HEADER << - opcode: QUERY, rcode: NOERROR, id: 35328 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; 2.137. 168.192. in - addr. arpa. IN PTR ;; ANSWER SECTION: 2.137. 168.192. in - addr. arpa. 3600 IN PTR controller. dom. loc. ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 0 msec ;; SERVER: 192.168. 137.2 ;; WHEN: Tue Oct 3 11: 19: 54 2017 ;; MSG SIZE rcvd: 76
Налаштування пристрою Traffic Inspector Next Generation
Налаштування загальних параметрів пристрою Traffic Inspector Next Generation
Пройдіть в розділ Система -> Налаштування -> Загальні налаштування.
- В поле Ім'я хоста вкажіть PQDN DNS-ім'я пристрою TING (в нашому прикладі, FQDN-имя - це tinga.dom.loc, а PQDN-ім'я - це tinga).
- В поле Домен вкажіть повне DNS-ім'я домену (в нашому прикладі, домен називається dom.loc).
- В поле DNS-сервери, вкажіть IP-адреса доменного DNS-сервера. У нашому прикладі, це IP-адреса 192.168.137.2.
- В поле Налаштування DNS-сервера, встановіть прапорець навпроти опції Не використовуйте перенаправляє DNS-сервер або DNS-перетворювач як DNS-сервера для брандмауера

Для перевірки налаштувань підключіться до пристрою TING за допомогою SSH-клієнта (наприклад, Putty).
Виконайте команду:
У висновку ви повинні побачити:
domain dom. loc nameserver 192.168. 137.2
Налаштування мережевого часу
Налаштування часу на пристрої проводиться в рамках роботи майстра початкового налаштування, який доступний в розділі Система -> Майстер.
Також, настройки часу доступні в розділі Служби -> Мережеве час -> Загальні налаштування. В поле Сервери часу вкажіть ваш бажаний сервер часу, наприклад, time.bakulev.ru. У доменній середовищі, як NTP-сервера, вкажіть DNS-ім'я або IP-адресу контролера домену, в нашому прикладі, controller.dom.loc (192.168.137.2).
Примітка
Час на контролері домену і пристрої TING має бути синхронізовано.
Налаштування LDAP-коннектора
Для успішного підключення до каталогу Active Directory потрібно налаштувати параметри підключення.
Пройдіть в розділ Система -> Доступ -> Сервери, в правому верхньому куті натисніть на кнопку Додати сервер і задайте такі параметри:
Описову назву LDAP connector Тип LDAP Ім'я хоста або IP-адреса 192.168.137.2 Значення порту 389 Транспортний протокол TCP Версія протоколу 3 Прив'язати параметри доступу Ім'я та пароль Область пошуку Рівень: одиничний Базовий DN DC = dom, DC = loc Контейнери для аутентифікації CN = Users , DC = dom, DC = loc Початковий шаблон Microsoft AD Атрибут присвоєння імені користувачеві samAccountName
Ім'я та пароль
Ім'я доменної облікового запису з правами читання з домена і пароль для неї
Контейнери для аутентифікації
Виберіть контейнери, в яких розташовуються доменні облікові записи (наприклад, CN = Users, DC = dom, DC = loc)
Налаштування веб-проксі
У розділі Служби -> Веб-проксі -> Адміністрування, на вкладці Основні настройки проксі, встановіть прапорець Включити проксі, якщо він ще не встановлений.
У розділі Служби -> Веб-проксі -> Адміністрування, на вкладці перенаправляє проксі -> Налаштування Аутентифікації, в поле Метод аутентифікації вкажіть ваш налаштований LDAP-коннектор .
Примітка
Використання механізму прозорого HTTP-проксінг не сумісно ні з одним методом аутентифікації. Щоб використовувати аутенітіфікацію Kerberos, даний механізм повинен бути вимкнений.
У розділі Служби -> Веб-проксі -> Адміністрування, на вкладці перенаправляє проксі, в меню Основні настройки перенаправлення зніміть прапор Включити прозорий HTTP-проксі, якщо він встановлений.
Налаштування Kerberos
Установка плагіна os-proxy-sso
Пройдіть в розділ Система -> Прошивка -> Оновлення. На вкладці Модулі натисніть на кнопку + навпроти плагіна os-proxy-sso для його установки.

Після встановлення плагіну os-proxy-sso, в розділі Служби -> Веб-проксі з'являється підрозділ Технологія єдиного входу (SSO).
Генерація конфігураційного файлу Kerberos і завантаження хелпера для Squid
У розділі Служби -> Веб-проксі -> Single Sign On, на вкладці Загальні настройки, встановіть прапорець Включити Single Sign On.
В поле Реалізація AD Kerberos виберіть значення Windows 2008 with AES.

Примітка
При натисканні на кнопку Застосувати будуть проведені наступні дії:
- відбувається автогенерація конфігураційного файлу krb5.conf для бібліотеки Kerberos
- модифікується конфігураційний файл Squid /usr/local/sbin/squid.conf для завантаження хелпера Kerberos-аутентифікації negotiate_kerberos_auth
- виробляється перезапуск веб-сервера Squid
Для перевірки налаштувань підключіться до пристрою TING по SSH.
Виконайте команду:
Ви повинен побачити висновок, аналогічний наступного:
[Libdefaults] default_realm = DOM. LOC dns_lookup_kdc = no dns_lookup_realm = no ticket_lifetime = 24 h default_keytab_name = / usr / local / etc / squid / squid. keytab default_tgs_enctypes = aes256 - cts - hmac - sha1 - 96 rc4 - hmac des - cbc - crc des - cbc - md5 default_tkt_enctypes = aes256 - cts - hmac - sha1 - 96 rc4 - hmac des - cbc - crc des - cbc - md5 permitted_enctypes = aes256 - cts - hmac - sha1 - 96 rc4 - hmac des - cbc - crc des - cbc - md5 [realms] DOM. LOC = {kdc = 192.168. 137.2 admin_server = 192.168. 137.2 default_domain = dom. loc} [domain_realm]. dom. loc = DOM. LOC dom. loc = DOM. LOC
Виконайте команду:
cat / usr / local / etc / squid / pre - auth / 20 - negotiate. auth. conf
Ви повинен побачити висновок:
auth_param negotiate program / usr / local / libexec / squid / negotiate_kerberos_auth - d - i - s HTTP / tinga. dom. loc @DOM. LOC auth_param negotiate keep_alive on auth_param negotiate children 5
Виконайте команду:
ps lax | grep negotiate_kerberos_auth
Ви повинен побачити запущені процеси хелпера negotiate_kerberos_auth:
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND 100 60833 46251 0 20 0 55744 8700 sbwait I - 0: 00.02 (negotiate_kerberos_auth) - d - i - s HTTP / tinga. dom. loc @DOM. LOC (negotiate_kerberos_) 100 60867 46251 0 21 0 55744 8700 sbwait I - 0: 00.02 (negotiate_kerberos_auth) - d - i - s HTTP / tinga. dom. loc @DOM. LOC (negotiate_kerberos_) 100 60979 46251 0 22 0 55744 8692 sbwait I - 0: 00.02 (negotiate_kerberos_auth) - d - i - s HTTP / tinga. dom. loc @DOM. LOC (negotiate_kerberos_) 100 61257 46251 0 22 0 55744 8696 sbwait I - 0: 00.02 (negotiate_kerberos_auth) - d - i - s HTTP / tinga. dom. loc @DOM. LOC (negotiate_kerberos_) 100 61480 46251 0 20 0 55744 8696 sbwait I - 0: 00.02 (negotiate_kerberos_auth) - d - i - s HTTP / tinga. dom. loc @DOM. LOC (negotiate_kerberos_)
Реєстрація керберізірованной служби в каталозі AD
Пройдіть в розділ Служби -> Веб-проксі -> Технологія єдиного входу (SSO), на вкладку Автентифікація по протоколу Kerberos.
В поле Ім'я адміністратора AD, вкажіть ім'я облікового запису адміністратора домену.
В поле Пароль адміністратора AD, вкажіть пароль для облікового запису адміністратора домену. Натисніть на кнопку Створити keytab-файл.

Примітка
В поле Результат виводиться інформація про здійснювані діях:
- генерується keytab-файл /usr/local/etc/squid/squid.keytab на пристрої TING c SPN-іменами / ключами для керберізірованной служби
- утиліта msktutil створює аккаунт для пристрою TING в каталозі AD і прописує необхідні SPN-імена
Для перевірки налаштувань, натисніть на кнопку Показати keytab-файл.
В поле Результат, відобразиться вміст keytab-файлу:
/usr/local/etc/squid/squid.keytab: Vno Type Principal Aliases 4 arcfour-hmac-md5 [email protected] 4 aes128-cts-hmac-sha1-96 [email protected] 4 aes256-cts-hmac-sha1-96 [email protected] 4 arcfour-hmac-md5 HTTP/[email protected] 4 aes128-cts-hmac-sha1-96 HTTP / tinga.dom. [email protected] 4 aes256-cts-hmac-sha1-96 HTTP/[email protected] 4 arcfour-hmac-md5 host/[email protected] 4 aes128-cts-hmac-sha1- 96 host/[email protected] 4 aes256-cts-hmac-sha1-96 host/[email protected] 4 arcfour-hmac-md5 host/[email protected] 4 aes128-cts -hmac-sha1-96 host/[email protected] 4 aes256-cts-hmac-sha1-96 host/[email protected]
На контролері домену AD, через оснащення Користувачі і комп'ютери Active Directory, в контейнері Computers, перевірте наявність аккаунта для Вашого пристрою TING. У нашому випадку, створений акаунт називається TINGA-K.
попередження
Для користувачів DC Windows 2003. Перед створенням keytab файлу на контролері домену не повинно бути облікового запису комп'ютера для TING !!! Інакше при створенні keytab буде помилка. Якщо з якоїсь причини необхідно перебудувати keytab, то перед його створенням обліковий запис комп'ютера для TING потрібно видалити.
Перевірте наявність SPN-імен в обліковому записі. Для цього на контролері домену AD виконайте команду:
Ви повинні побачити наступний висновок:
Registered ServicePrincipalNames for CN = TINGA - K, CN = Computers, DC = dom, DC = loc: host / tinga. dom. loc HTTP / tinga. dom. loc
Налаштування комп'ютера користувача
На комп'ютері користувача задайте явні настройки на проксі, аналогічно тому, як показано на скріншоті:
Примітка
Важливо вказувати проксі як DNS-ім'я, а не як IP-адреса!
Перевірка Kerberos-аутентифікації на проксі
Перевірте можливість аутентифікації за допомогою Kerberos.
Пройдіть в розділ Служби -> Веб-проксі -> Технологія єдиного входу (SSO), на вкладку Автентифікація по протоколу Kerberos.
Вкажіть ім'я та пароль існуючого доменного користувача і натисніть на кнопку Перевірити вхід через Kerberos.
В поле Результат, ви повинні побачити висновок аналогічний тому, який наведено нижче:
AF oRQwEqADCgEAoQsGCSqGSIb3EgECAg == khilchenko @DOM. LOC BH quit command
Налаштування пристрою TING з декількома контролерами доменів
До поступовим зниженням дози додамо ще один домен MOD.LOC
Контролер домену має IP-адресу 192.168.140.2 і DNS-ім'я dc1.mod.loc.
Пристрій Traffic Inspector Next Generation має IP-адресу 192.168.140.8 і DNS-ім'я tinga.mod.loc.
Примітка
Домени повинні мати різні підмережі, в нашому випадку 192.168.137.0/24 і 192.168.140.0/24.
Налаштування DNS
В меню Служби: Unbound DNS: Загальні встановлюємо прапор Включити
В меню Служби: Unbound DNS: Перевизначення в секції Перевизначення домену додаємо форвард прямий і зворотній зони для кожного домена.

В меню Система: Налаштування: Загальні в секції DNS-сервери змінюємо значення DNS-сервера на 127.0.0.1
Налаштування LDAP-коннектора
За аналогією схеми з одним доменом додаємо в Система -> Доступ -> Сервери коннектор для домену dom.loc
Налаштування веб-проксі
У розділі Служби -> Веб-проксі -> Адміністрування, на вкладці перенаправляє проксі -> Налаштування Аутентифікації, в поле Метод аутентифікації вкажіть ldap-коннектор для домену mod.loc
Реєстрація керберізірованной служби в каталозі AD
Пройдіть в розділ Служби -> Веб-проксі -> Технологія єдиного входу (SSO), на вкладку домену mod.loc Аутентификация по протоколу Kerberos.
За аналогією схеми з одним доменом створюємо keytab-файл для домену mod.loc
Налаштування завершено.