[Ред] Ідентифікація користувачів
[Ред] Принцип роботи протоколу Kerberos (схематично)
- Client (Користувач) - користувач, учасник домену, запитувач доступ до ресурсів;
- AS (Authentication Server) - сервер аутентифікації (наприклад, Microsoft Active Directory);
- TGS (Ticket Granting Server) - сервер надання квитків (наприклад, Microsoft Active Directory);
- SS (Service Server) - сервер надає доступ до ресурсів (наприклад, проксі-сервер Squid);
- TGT (Ticket Granting Ticket) - квиток для отримання квитка.
Визначення протоколу Kerberos а також більш докладні пояснення його принципів роботи можна почерпнути з наступних джерел:
[Ред] Конфігурація користувача для роботи з Kerberos
Конфігурації клієнтської машини
Користувач повинен бути членом домену і знаходиться в базі даних домен контролера Microsoft Active Directory. Клієнтська машина повинна знаходитися в базі домен контролера.
В налаштуваннях проксі веб-оглядача встановити повне доменне ім'я (FQDN) проксі-сервера (наприклад, [email protected]) і номер порту (наприклад, 3180).
Конфігурація сервера Microsoft Active Directory
Необхідно створити користувача в домені: proxy_squid. Пароль користувача повинен не мати терміну придатності (password never expires). Для оптимального рівня безпеки, пароль повинен складатися з восьми символів - це мінімум (букви, цифри, а також спеціальні символи). Для аутентифікації проксі-сервера на контролері домену і подальшої ідентифікації користувачів проксі-сервером Squid, необхідно створити файл keytab. Keytab - це файл який містить Kerberos Principal (хост, користувач і домен) і ключі шифрування (визначаються з пароля Kerberos). Це файл застосовується для аутентифікації в інфраструктурі Kerberos (при цьому не потрібно вручну вводити логін і пароль). Squid буде використовувати keytab для аутентифікації користувачів через протокол Kerberos.
Після створення, файл keytab потрібно створити на проксі-сервер (наприклад, в каталог / etc /).
Створення файлу keytab в командному рядку домен контролера Microsoft Active Directory:
- nbtname - netbios ім'я домену
- password - вказати пароль.
realm для Kerberos (то, що пишеться після @) обов'язково писати ВЕЛИКИМИ буквами!
Конфігурація мережевого доступу до проксі-сервера
- Дозволити доступ проксі-серверів в мережу Інтернет і назад по протоколам: HTTP, HTTPS, SSH, FTP, DNS;
- Дозволити доступ проксі-серверів в локальну мережу (ЛВС) і назад використовуючи порти:
- Kerberos, TCP / UDP: 88, 464, 749, 750; TCP: 4444;
- Ldap, TCP / UDP: 389;
- Squid, TCP: 3180;
- SSH, TCP: 22, 10010, 10011;
- Msft-gc, TCP: 3268;
- Klogin, TCP: 543;
- Kshell, TCP: 544;
- Tell, TCP: 754;
- Eklogin, minipay, TCP: 2105;
- DNS, TCP / UDP: 53;
- HTTPS, TCP: 443;
- HTTP, TCP: 80;
- NTP, UDP: 123;
- ICMP.
[Ред] Конфігурація проксі-сервера Squid на базі ОС Linux
Приклад для ОС CentOS
Проксі-сервера необхідно присвоїти ім'я (hostname): proxy_squid.domain.loc.
Необхідно перевірити доступність DNS сервера за допомогою програм dig і nslookup. Якщо DNS сервер не налаштований, налаштувати DNS. Ім'я проксі-сервера, має бути занесено в базу DNS сервера.
Необхідно перевірити синхронізацію часу на проксі-сервері, домен контролері і клієнта. Для правильної роботи протоколу Kerberos, різниця в часі повинна бути не більше 5 хвилин. Синхронізувати проксі-сервер з NTP сервером можна за допомогою ntpdate.
Установка з FTP сховища пакетів для Kerberos аутентифікації, пакета Squid 3.0 і бібліотеки SASL (Simple Authentication and Security Layer):
Зміна прав доступу для keytab файлу (це файлу, який раніше був сформований на домен контролері за допомогою команди ktpass).
Перевірка правильності створеного файлу keytab.
Якщо файл створений вірно, виконається аутентифікація в домені: Authenticated to Kerberos v5.
Подивитися отриманий квиток Kerberos можна за допомогою команди klist.
Зміна конфігурації аутентифікації Kerberos. У файл /etc/krb5.conf необхідно внести наступні зміни:
Для автоматичної аутентифікації через Squid, необхідно внести такі зміни в виконуваний файл /etc/init.d/squid
Якщо необхідно використовувати для роботи проксі-сервера Squid не стандартний порт (наприклад, 3180), відкрити цей порт в SELinux.
[Ред] Аутентифікація користувачів Active Directory
Налаштування аутентифікації в файлі конфігурації /etc/squid/squid.conf. Для аутентифікації використовується вбудована в Squid програма squid_kerb_auth.
Опція -W вказує на шлях до файлу, який містить пароль. Користувачем файлу повинен бути squid. Пароль повинен збігатися з паролем в Kerberos keytab файлі, сформованому раніше за допомогою ktpass.
Якщо перевірка працює, додати конфігурацію для squid_ldap_group в /etc/squid/squid.conf.
Параметр% LOGIN в описі зовнішньої групи вказує на те, перед перевіркою на входження в цю групу, користувача повинен розпізнаватися
[Ред] Визначення правил доступу для користувачів
Групі GG-KV-GOUP0 і GG-KV-GROUP1 надано доступ в Інтернет через Squid. Група GG-KV-GROUP0 не отримує доступу до файлів в Інтернеті, тип яких вказано в файлі / etc / squid / blocked (для визначення типів файлів можна використовувати регулярні вирази). Група GG-KV-GROUP0 отримує доступ до всіх файлів тип яких не вказано в файлі / etc / squid / blocked. Група GG-KV-GROUP1 отримує повний доступ до всіх файлів.
[Ред] Визначення політик QoS (delay pools)
Оголосити delay pools
Визначити приналежність користувачів до delay pools
Обмежити пропускну здатність