LINUX.ORG.RU
ФорумAdmin

Squid: auth_param basic credentialsttl 15 minutes не работает

 


0

2

Приветствую!

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

В общем делал я Squid на Centos 6, который умеет запрашивать логин-пароль у пользователя, проверять его на LDAP-сервере (OpenLDAP), после проверять, состоит ли аутентифицированный пользователь в группе inet и, если это так, пускать его на один единственный сайт.

Долго тренировался с конфигом squid, но за пару дней все же подружил его с ldap. Однако при работе пользователя окно ввода логина/пароля вываливалось на каждый запрос.

Чуть покурив, я добавил в squid строчку auth_param basic credentialsttl 2 minute

(именно, minute. Без «s» в конце. «s» я добавил уже когда стал разбираться с нижесказанной проблемой).

Постоянный вывод окна исчез и я с чистой совестью увеличил credentialsttl до 15 минут (сохранит ошибку с «s»), перезапустил squid и ушел пробовать настраивать SAMS.

Прошло неделя и я обратил внимание, что при простое соединения с прокси-сервером аутентификацию действительно выбивает, но проходит далеко не 15 минут, а ровно 2 (по часам сверял). Я сначала полез в squid-конфиг проверять, точно ли я поменял credentialsttl на 15, после добрые десяток раз перезапускал/перезагружал squid, после обнаружил ошибку с minutes, исправил, перезагрузил, после поменял credentialsttl вообще на 2 hours, вообще весь сервер перезапускал - один фиг таймаут аутентификации стоит в 2 минуты.

В общем я уже исчитал гугл, но похожих симптомов не нашел. Поэтому и прошу Вашей помощи.

P.S. Авторизация пользователя по группе работает нормально. Сам по себе конфиг полезный т.к. не-AD авторизации мало где раскрыта.

Вот конфиг моего squid сейчас

# created by SAMS _sams_ 2016-3-10 19:2:44
http_port 127.0.0.1:3128
http_port 10.1.1.4:3128 

#tcp_outgoing_address 0.0.0.0 all
#dns_v4_first on

auth_param basic program /usr/lib64/squid/squid_ldap_auth -b "dc=tni,dc=int" -f "uid=%s" ldap1
auth_param basic children 25
#auth_param basic max_challenge_reuses 0
auth_param basic realm Access Permit. Please, auth
auth_param basic credentialsttl 15 minutes



external_acl_type ldap_users ttl=120 %LOGIN /usr/lib64/squid/squid_ldap_group -R -b "ou=groups,dc=tni,dc=int" -f "(&(memberUid=%u)(cn=%g)(objectClass=posixGroup))" -h ldap1

#------ SQUID service access ------#

acl manager proto cache_object
acl localhost src 127.0.0.1/32 
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


#------ LDAP Group Access ------#
acl inetaccess external ldap_users inet
acl ldap_user proxy_auth REQUIRED
acl site	dstdomain mysite.com

http_access allow site inetaccess
#http_access allow ldap_user
#http_access deny !ldap_user
#http_access allow inetaccess


#------ LAN Access -------#

acl lan src 10.0.0.0/8
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 5190 5222 # https
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl CONNECT method CONNECT

#http_access allow lan
http_access allow localhost
http_access deny all

#redirect_program /usr/bin/samsredir
#redirect_children 5


Ответ на: комментарий от NemesisSOAD

Потому-что я хочу пускать в интернет не всех пользователей LDAP, а только тех, которые состоят в группе inet.

Все закомментированные http_access - это остатки поэтапного тестирования конфигурации, не более.

Попробовал при остановленном squid запускать $ sudo squid -D Squid стартует, но по прежнему простой 2 минуты считается и заново спрашивает логин/пароль.

PIKNIK ()
Ответ на: комментарий от PIKNIK

Обнаружил, что в строчке external_acl_type ldap_users ttl=120 %LOGIN /usr/lib64/squid/squid_ldap_group

установлен ttl как раз на 2 минуты. Решил ради интереса поменять его ttl=900. Теперь пользователя по тайм-ауту вообще не выбивает даже через несколько часов.

Что происходит?

P.S. credentialsttl установлен на 16 minutes

PIKNIK ()
Ответ на: комментарий от PIKNIK

Подозреваю, что на все external идёт своя конфигурация. Ибо позволяет запускать внешние скрипты.

NemesisSOAD ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.