Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Squid и авторизация Kerberos  (Прочитано 7427 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LagunaGuardian

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Squid и авторизация Kerberos
« : 21 Августа 2012, 08:44:55 »
Доброе утро.
Продолжаю опыты с заменой ISA на Squid. На данный момент работает сеть и маршрутизация, установлен squid3 и через него можно выйти в интернет без авторизации. В организации существует домен на основе Windows 2003 к которому подключены компьютеры в сети. Возник вопрос о авторизации на squid через Kerberos, в интернете огромное количество статей на эту тему, делал по мануалу http://www.k-max.name/linux/avtorizaciya-autentifikaciya-squid/ с небольшими нюансами (поскольку там домен windows 2008). Сейчас получается следующее, компьютер со squid прописан в домен, создан keytab-файл, но при попытке его использовать появляется ошибка, более подробно:

1) На контроллере домена создал записи типа (A) и (PTR) для компьютера squid-01
2) Настроил /etc/krb5.conf, при вводе команды kinit Administrator нормально получаю билет пользователя.
3) На контроллере домена ввожу команду
ktpass /princ HTTP/squid-01.OBR.DOMAIN.RU@OBR.DOMAIN.RU /mapuser squid-01$@OBR.DOMAIN.RU /crypto RC4-HMAC-NT /ptype KRB5_NT_PRINCIPAL /pass +rndpass /out C:\squid.keytab полученный файл копирую в /etc/squid3
4) Проверяю командой kinit -V -k -t /etc/squid3/squid.keytab HTTP/squid-01.OBR.DOMAIN.RU
получаю
(Нажмите, чтобы показать/скрыть)
Есть какие-нибудь мысли?   :uglystupid2:

Файлы конфигурации:
/etc/network/interfaces
(Нажмите, чтобы показать/скрыть)
/etc/resolv.conf
(Нажмите, чтобы показать/скрыть)
/etc/hostname
(Нажмите, чтобы показать/скрыть)
/etc/hosts
(Нажмите, чтобы показать/скрыть)
/etc/krb.conf
(Нажмите, чтобы показать/скрыть)

Оффлайн LagunaGuardian

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Squid и авторизация Kerberos
« Ответ #1 : 24 Августа 2012, 09:56:21 »
Продолжаю свои изыскания, может эта информация кому-нибудь поможет... После 4 дней созданий keytab файла разными способами (через ktpass, через msktutil) с разным шифрованием, разными именами, правами, нахождениями, конфигами и т.д. и т.п. решил попробовать перенести сервер из ДОЧЕРНЕГО домена в РОДИТЕЛЬСКИЙ. Повторил все действия которые мне уже снятся по ночам и при проверка keytaba получил заветную надпись "Authenticated to Kerberos v5"
Вот только мне надо чтобы оно заработало в ДОЧЕРНЕМ домене, есть какие-нибудь идеи?

Оффлайн LagunaGuardian

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Squid и авторизация Kerberos
« Ответ #2 : 04 Сентября 2012, 09:34:12 »
Скажу сразу что на гениальность и оригинальность не претендую, ибо мануалов в интернете немерянно по настройке. В моем случае надо было подружить домен на Windows 2003, xubuntu 12.04 и squid 3.1.19
Для настройки сети использую пока network-manager После тучи ошибок, проверок и настроек у меня заработало так:

/etc/hosts
(Нажмите, чтобы показать/скрыть)
/etc/network/interfaces
(Нажмите, чтобы показать/скрыть)
/etc/resolv.conf
(Нажмите, чтобы показать/скрыть)
/etc/hostname
(Нажмите, чтобы показать/скрыть)
/etc/default/squid3
(Нажмите, чтобы показать/скрыть)
/etc/krb5.conf
(Нажмите, чтобы показать/скрыть)
/etc/squid3/squid.conf
(Нажмите, чтобы показать/скрыть)

Самое интересное, что в некоторых мануалах советуют ставить первую строку
auth_param negotiate program /usr/lib/squid3/squid_kerb_auth -s -d HTTP/squid-01.obr.domain.ru@OBR.DOMAIN.RU
так вот если это делать, а я сделал сразу, то в логах сыпятся ошибки
authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH gss_acquire_cred() failed: Unspecified GSS failure.  Minor code may provide more information. '
authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH received type 1 NTLM token'
И авторизацию пройти не получается, вот именно с этим ключом я бился очень долго  :tickedoff:


apt-get install msktutil
keytab хранится в /etc/krb5.keytab, создавался с помощью команды:
msktutil -c -b "CN=COMPUTERS" -s HTTP/squid-01.obr.domain.ru -k /etc/krb5.keytab --computer-name SQUID-01-K --upn HTTP/squid-01.obr.domain.ru --server dc-01.obr.domain.ru --verbose

squid-01 -- сервер со сквидом
SQUID-01-K -- "виртуальный" комп который создается в AD и привязывается к реальному серверу со сквидом
dc-01 -- сервер раздающий ключи Kerberos, он же DNS, он же 10.0.0.62
Все эти ПК хранятся в AD в группе COMPUTERS (по-умолчанию так оно и есть, в мануалах рекомендуют группы с русскими именами не использовать)
На dc-01 предварительно создал записи типа "A" в прямой/обратной зоне DNS, объект типа КОМПЬЮТЕР в AD НЕ создавал.

chgrp proxy /etc/krb5.keytab
chmod g+r /etc/krb5.keytab
kinit -A -k -t /etc/krb5.keytab HTTP/squid-01.obr.domain.ru@OBR.DOMAIN.RU
squid3 -k reconfigure


В браузере прописал прокси squid-01 (не IP адрес), порт 3128 -- Заработало.

Во всем вышеописанном помогли мануалы:
http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos
http://wiki.squid-cache.org/ConfigExamples/Authenticate/WindowsActiveDirectory
Сейчас разбираюсь со временем жизни билета и необходимостью его обновления... В принципе тему можно и закрыть, я получил чего хотел  :coolsmiley:

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.