Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   Squid3+AD win 2008 R2 (http://forum.oszone.net/showthread.php?t=182224)

Negativ 05-08-2010 17:15 1467552

Squid3+AD win 2008 R2
 
Задача:
Настроить прозрачный прокси с авторизацией в АД 2008 R2.
Шлюз на базе FreeBSD 7.2 i386.
Установлена samba34-3.4.8, squid-3.0.14.
Натроен ipfw с форвардингом пакетов на прокси.
Машина включена в домен.
Код:

klist
Credentials cache: FILE:/tmp/krb5cc_0
        Principal: admin@OFFICE.LOCAL

  Issued          Expires        Principal
Aug  3 13:22:03  >>>Expired<<<  krbtgt/OFFICE.LOCAL@OFFICE.LOCAL

Код:

wbinfo -t
checking the trust secret via RPC calls succeeded

wbinfo -g и wbinfo -u
выдают списки пользователей и групп домена.
Аутентификация проходит успешно:

Код:

wbinfo --authenticate=domainuser%password
plaintext password authentication succeeded
challenge/response password authentication succeeded

Проблема:
Клиентская машина в домене, при попытке через браузер попасть на любой из сайтов выдает сообщение:
Код:

Запрошенный URL не может быть доставлен.

--------------------------------------------------------------------------------

Во время доставки URL: /

Произошла следующая ошибка:

•Неправильный URL
Некоторые аспекты URL неправильны. Возможные проблемы:

•Отсутствует либо неверный протокол доступа (должен быть `http://'' или похожий)
•Отсутствует имя сервера
•Некорректный двойной управляющий символ в URL-пути
•Недопустимый символ в имени сервера; подчёркивания недопустимы



--------------------------------------------------------------------------------

Generated Thu, 05 Aug 2010 08:54:00 GMT by GATE_17.OFFICE.LOCAL (squid/3.0.STABLE14)

Из сообщения видно что сквиду приходит урл вида / вместо запрашиваемого.
Где и что нужно поправить?

Negativ 29-10-2010 14:04 1530146

В общем задача не изменилась.
Имеем шлюз с
Код:

squid-3.1.4_1      HTTP Caching Proxy
Шлюз включен в домен win2008 r2 enterprise

klist
Код:

klist
Credentials cache: FILE:/tmp/krb5cc_0
        Principal: inetuser@DOMEN.LOCAL

  Issued          Expires          Principal
Oct 29 13:46:41  Oct 29 23:45:18  krbtgt/DOMEN.LOCAL@DOMEN.LOCAL


krb5.conf
Код:

[libdefaults]
        default_realm = DOMEN.LOCAL
        dns_lookup_kdc = no
        dns_lookup_realm = no
        default_keytab_name = /etc/krb5.keytab
........
default_tgs_enctypes = rc4-hmac
default_tkt_enctypes = rc4-hmac
permitted_enctypes = rc4-hmac

........
[realms]
        DOMEN.LOCAL = {
            kdc = host-pdc.domen.local
            admin_server = host-pdc.domen.local

        }
........
[domain_realm]
        .domen.local = DOMEN.LOCAL
        domen.local = DOMEN.LOCAL
........................................................
[logging]
        kdc = FILE:/var/log/krb5kdc.log
        admin_server = FILE:/var/log/kadmin.log
        default = FILE:/var/log/krb5lib.log


squid.conf брал из примера отсюда -> http://www.lissyara.su/?id=2101
Код:

#порт на котором будет висеть сквид
http_port 3128 accel vhost vport allow-direct
#http_port 3128
#директория под кеш и её параметры
cache_dir ufs /usr/local/squid/cache 8000 8 64
#лог доступа, полезен для отладки
access_log /var/log/squid/access.log squid
cache_store_log /var/log/squid/store.log

#сл. три строки - аутентификатор
auth_param negotiate program /usr/local/libexec/squid/squid_kerb_auth -d -s HTTP/gate_serv.domen.local@DOMEN.LOCAL
#auth_param basic program /usr/local/libexec/squid/squid_kerb_auth -d
#кол-во аутентификаторов 10 у меня хватает на сотню пользователей
#(хватает и 4 на 100)
auth_param negotiate children 2
auth_param negotiate keep_alive on

#хелпер, который берёт информацию о принадлежности пользователя к группе из AD
external_acl_type ldap_search %LOGIN \
/usr/local/libexec/squid/squid_ldap_group \
-R -b "dc=domen,dc=local" \
-f "(&(samaccountname=%v)(memberof=cn=%a,cn=users,dc=domen,DC=local))" \
-D inetuser@domen.local -W /usr/local/etc/squid/authpw \
-K -h host-pdc.domen.local
acl i_allowed external ldap_search internet

acl AUTHENTICATED proxy_auth REQUIRED

acl localnet dst 192.168.0.0/24
#выпускаем всех кто прошёл kerberos аутентификацию на локальные сайты
http_access allow AUTHENTICATED localnet
#выпускаем в инет всех кто в нужной группе
http_access allow i_allowed
#всем остальным оставить попытки и заниматься своими обязанностями.
http_access deny all

в итоге браузер на клиенте требует аутентифицироваться, а в логах сквида вижу:
Код:

2010/10/29 13:46:00| squid_kerb_auth: DEBUG: Got 'YR TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbA
dAAAADw==' from squid (length: 59).
2010/10/29 13:46:00| squid_kerb_auth: DEBUG: Decode 'TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbA
dAAAADw==' (decoded length: 40).
2010/10/29 13:46:00| squid_kerb_auth: WARNING: received type 1 NTLM token
2010/10/29 13:46:00| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error re
turned 'BH received type 1 NTLM token'

Т.е. аутентификация не прошла.
Уже 3 месяца пытаюсь разными способами подружить домен и сквид.

Iruta-san 27-01-2011 17:04 1598519

прозрачный сквид с авторизацией из AD сделать невозможно. Потому что иначе получается следующее: браузер ломится на сайт, прокси спрашивает пароль, а браузер не понимает, что прокси - это прокси. И никакого пароля не дает.
Проще насильно распихать адрес прокси через групповую политику.

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


Время: 13:16.

Время: 13:16.
© OSzone.net 2001-