Техническая поддержка

www.ingineer.ru
Регистрируйтесь и задавайте вопросы, делитесь опытом.
Если что обращайтесь:
e-mail: обратная связь.
Не востребованные пользователи будут удаляться!
Текущее время: 26 сен 2017, 12:10

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 29 янв 2017, 10:30 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 мар 2008, 10:49
Сообщения: 131
Откуда: г. Пермь
На прозрачном проси не будет работать эта аутентификация
Прежде всего заведем служебного пользователя, в нашем случае squid (оригинальный текст)
Код:
Имя: squid
Имя пользователя: squid @имя.домена
Имя входа пользователя: ИМЯ.ДОМЕНА\ squid
далее

Запрещаем смену пароля пользователем и не ограничиваем срок его действия,
Код:
вводим пароль

Теперь создадим специальный keytab-файл, который содержит имя Kerberos-принципала (имя хоста, пользователя и домен) и ключ, созданный на основе пароля.
В дальнейшем keytab-файл будет использоваться squid (на компьютере gw01.имя.домена) для аутентификации пользователей в AD.
Откроем командную строку и введем следующую команду (соблюдая регистр):
Код:
ktpass -princ HTTP/gw01.имя.домена@ИМЯ.ДОМЕНА -mapuser squid -pass пароль -ptype KRB5_NT_PRINCIPAL -out C:\squid.keytab

Если все сделано правильно, то команда должна отработать без ошибок.
Затем следует передать сгенерированный keytab-файл на комп со squid-ом любым доступным образом,
например, через WinSCP в домашнюю директорию пользователя.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 29 янв 2017, 10:54 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 мар 2008, 10:49
Сообщения: 131
Откуда: г. Пермь
Настройка поддержки Kerberos в Ubuntu Server / Debian

После того, как мы передали keytab-файл, его следует разместить в надежном месте и ограничить доступ.
Понятно, что домашняя директория пользователя не самое лучшее для этого место.
Так как работать с ним будет squid, то логично будет расположить keytab-файл в папке с настройками прокси-сервера.
Код:
mv ~/squid.keytab /etc/squid

Затем изменим владельца и установим ограниченные права на файл:
Код:
chown proxy:proxy /etc/squid/squid.keytab
chmod 640 /etc/squid/squid.keytab

Для поддержки Kerberos установим пакет krb5-user:
Код:
apt-get install krb5-user

Теперь откроем файл /etc/krb5.conf, он содержит очень много ненужных параметров, поэтому удаляем или комментируем все лишнее, у вас должно остаться только то, что будет приведено ниже.

Первой идет секция libdefaults, которая содержит параметры по умолчанию,
а именно область Kerberos (опция создается автоматически) и keytab-файл:
Код:
[libdefaults]
          default_realm = ИМЯ.ДОМЕНА
          default_keytab_name = /etc/squid/squid.keytab

Следующая секция realms описывает области Kerberos, у нас она одна
Код:
[realms]
        ИМЯ.ДОМЕНА = {
              kdc = dc01.имя.домена
              kdc = dc02.имя.домена
              admin_server = dc01.имя.домена
              default_domain = имя.домена
        }

Здесь все понятно, единственного пояснения требует опция admin_server,
в ее качестве указываем контроллер домена, исполняющий FSMO-роль PDC.

Последняя секция сопоставляет домены с областями Kerberos:
Код:
[domain_realm]
          .имя.домена = ИМЯ.ДОМЕНА
          имя.домена = ИМЯ.ДОМЕНА

Сохраняем файл. Теперь проверим работу Kerberos, для этого выполним команду:
Код:
kinit -kV -p HTTP/gw01.имя.домена

Если все сделано правильно, вы должны получить сообщение об успешной аутентификации.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 29 янв 2017, 11:04 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 мар 2008, 10:49
Сообщения: 131
Откуда: г. Пермь
Удалим полученный билет командой:
Код:
kdestroy

Настройка Kerberos-аутентификации в Squid
Прежде всего следует "научить" squid работать с keytab-файлом, для этого создадим специальный файл настроек:
Код:
touch /etc/default/squid

И внесем в него следующие строки:
Код:
KRB5_KTNAME=/etc/squid/squid.keytab
export KRB5_KTNAME

Откроем конфигурационный файл /etc/squid/squid.conf, найдем три строки, начинающиеся с auth_param negotiate,
раскомментируем и приведем их к следующему виду:
Код:
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -d -s HTTP/gw01.имя.домена
auth_param negotiate children 20 startup=0 idle=1
auth_param negotiate keep_alive on

Ключ -d в первой строке указан для отладки, убедившись, что все работает как надо его следует убрать, чтобы избежать чрезмерного раздувания логов.

В секцию с элементами ACL добавим:
Код:
acl auth proxy_auth REQUIRED

Данный элемент будет соответствовать всем пользователям, успешно прошедшим Kerberos-аутентификацию.
если дополнительно к аутентификации хотите добавить своих правил,то
Код:
acl имя_правила proxy_auth "/путь/к/файлу/списка/пользователей"

в этом файле пишим список коменных пользователей в формате:
Код:
имя_пользователя@ИМЯ.ДОМЕНА
имя2_пользователя@ИМЯ.ДОМЕНА

Ниже, в секции со списками доступа, строку
Код:
http_access allow localnet

меняем на:
Код:
http_access allow auth

сохраняем изменения, перезагружаем сервер.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 29 янв 2017, 11:09 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 мар 2008, 10:49
Сообщения: 131
Откуда: г. Пермь
Чтобы не бегать по компам и прописывать в свойствах обозревателя прокси, gw01.имя.домена:3128 и исключения локальный адресов,
в групповых политиках, для пользователей, в реестре, указываем, (оригинальный текст)
Код:
WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable","00000001","REG_DWORD")
WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyServer","gw01.имя.домена:3128","REG_SZ")
WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyOverride","192.168.0.*;<local>","REG_SZ")


Изображение


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB