@nikweter
Системный администратор

Как победить периодический Access Denid у squida?

Настраиваю squid с kerberos аутентификацией. Все компьютеры в домене freeipa. Согласно документации сделал нужный keytab.
auth_param negotiate program /usr/lib64/squid/squid_kerb_auth -d -s HTTP/squid01.example.com

Аутентификация проходит, все прекрасно.
Дальше мне нужно разграничить доступ в интеренет.
external_acl_type ipa_inet_full ttl=300 negative_ttl=60 ipv4 %LOGIN /usr/lib64/squid/ext_kerberos_ldap_group_acl -a -d -g inet_full@ -D example.com

И тут начинаются танцы с бубном. По большей части хелпер правильно определяет принадлежность пользователя к группе, но периодически выдает ERR и тогда на минуту доступ пропадает. Затем снова работает.
Поскольку в логах в этот момент видим отлуп аутентифицированному пользователю, то дело в хелпере.
Как побороть?
  • Вопрос задан
  • 280 просмотров
Решения вопроса 1
@nikweter Автор вопроса
Системный администратор
В общем, решил вопрос. Дело было вовсе не в хелпере, а в кривой настройке freeipa. Там есть какой-то режим compat, непонятно для чего нужный. Так вот... При миграции на freeipa c openldap у меня openfire не захотел оттуда пользователей тягать - якобы они задваиваются (что верно, так как пользователи во freeipa хранятся в двух ветках -
cn=users,cn=accounts,cn=domain,cn=lan и cn=users,cn=compat,cn=domain,cn=lan
). Я на одном сервере этот режим отключил. Почему-то хелперы стали на этом сервере только по GID пользователя проверять принадлежность, а все остальные группы игнорировали, хотя ldapsearch работал нормально. Там где режим включен все ОК. Составлять нормальный ldap фильтр для openfire я не стал - лень. Просто указал:
/lib64/squid/ext_kerberos_ldap_group_acl -a -g inet_full@ -D fs.lan -S "dc.fs.lan dc2.fs.lan dc4.fs.lan"

Как я понимаю, получая ERR на первом сервере, хелпер лезет дальше по списку. Остальные 2 правильно отрабатывают, значит все нормально. Может позже заставлю openfire с ipa-compat-manage enable работать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yoga655
@yoga655
auth_param negotiate children - возможно не хватает. Или с потоком запросов не справляется AD.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы