URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 4927
[ Назад ]

Исходное сообщение
"таймаут использования IP"

Отправлено MKuznetsov , 02-Июн-07 20:34 
чтобы при разрыве/восстановлении соединения авторизация не переспрашивалась,
если прошло скажем меньше часа с последнего сеанса.
Есть ли подобное в squid`е ?


Содержание

Сообщения в этом обсуждении
"таймаут использования IP"
Отправлено maxsvet , 04-Июн-07 16:36 
>чтобы при разрыве/восстановлении соединения авторизация не переспрашивалась,
>если прошло скажем меньше часа с последнего сеанса.
>Есть ли подобное в squid`е ?

читай

authenticate_ttl
и
authenticate_ip_ttl


"таймаут использования IP"
Отправлено MKuznetsov , 05-Июн-07 00:38 
>>чтобы при разрыве/восстановлении соединения авторизация не переспрашивалась,
>>если прошло скажем меньше часа с последнего сеанса.
>>Есть ли подобное в squid`е ?
>
>читай
>
>authenticate_ttl

>authenticate_ip_ttl

читал, эксперементировал; но работают они немного не так
(может пробовал не то ) :(
authenticate_ttl даёт таймер простоя на РАБОТАЮЩЕМ соединении,
за который не будет востребована новая аутентификация;
authenticate_ip_ttl вообшем похажа на то что надо, но при
max_user_ip -s 1 получается совсем не то..

(в общем случае каждый юзер сидит за своей машиной(то есть с тем же IP)
в течении N часов; при обращении спустя N часов авторизацию надо переспросить,
но не раньше этих чёрт-их-дери N часов; у большинства пользователей стиль работы :
открыл броузер, глянул чё надо, закрыл броузер; так что постоянного соединения с проксей нету..NTLM авторизация не канает пока в силу прочих причин; так что вся надежда на таймеры)


"таймаут использования IP"
Отправлено andy , 05-Июн-07 05:42 
стандартных решений что-то на ум не приходит, может быть потому, что сквидом занимался мало.
Предлагаю использовать external acl`ы. Т.е.:

1. в конфиге сквида

# описываем внешний "хелпер". Переменная %SRC - клиентский ИП
external_acl_type IP_AUTH_TTL %SRC /usr/lib/squid/ip_auth_ttl
# определяем внешний список доступа
acl authed_ip external IP_AUTH_TTL
# плюс к этому, конечно, авторизация и доступ для авторизованных пользователей
# даем доступ
http_access allow authed_ip

2. пишем "хелпер", хотя бы на том же перле. Для работы нам надо где-то хранить соответствие IP->последнее_обращение. В хелпере читаем из стандартного ввода клиентский ИП (%SRC который), проверяем время последнего обращения, в случае, если текущее время минус время последнего обращения больше таймаута, посылаем на стандартный вывод "ERR\n", если меньше - "OK\n". Также не забываем обновить время последнего обращения ИП

Короче, нечто в этом роде. Пользовать базу, имхо, слишком круто для такой задачи, тем более, слово "контора" наводит на мысль, что ИПшников не более сотни. Я бы предложил в некотором каталоге создавать файлы с именами IPшников (типа "192.168.0.1") и проверять/модифицировать время их последнего обращения. Быстро и вручную посмотреть можно.

ЗЫ: столько текста получилось, проще было код написать ))


"таймаут использования IP"
Отправлено andy , 05-Июн-07 05:47 
прикол... где я слово "контора" увидел не понятно, извиняйте

"таймаут использования IP"
Отправлено MKuznetsov , 06-Июн-07 03:18 
>Предлагаю использовать external acl`ы.

как тогда запрашивать пароль ?
если acl вернёт ERR то будет просто блокированно обращение к ресурсу
(а должен быть запрос авторизации)

при попытке совместить external_acl c базовой авторизацией
получался тот-же эффект что и от параметра athenticate_ttl


"таймаут использования IP"
Отправлено maxsvet , 05-Июн-07 14:15 
>>>чтобы при разрыве/восстановлении соединения авторизация не переспрашивалась,
>>>если прошло скажем меньше часа с последнего сеанса.
>>>Есть ли подобное в squid`е ?
>>
>>читай
>>
>>authenticate_ttl
>>и
>>authenticate_ip_ttl
>
>читал, эксперементировал; но работают они немного не так
>(может пробовал не то ) :(
>authenticate_ttl даёт таймер простоя на РАБОТАЮЩЕМ соединении,
>за который не будет востребована новая аутентификация;
>authenticate_ip_ttl вообшем похажа на то что надо, но при
>max_user_ip -s 1 получается совсем не то..
>
>(в общем случае каждый юзер сидит за своей машиной(то есть с тем
>же IP)

смысл тогда в авторизации юзеров???
сделай ACLы привязку по IP, вообще не будет спрашивать авторизации!

>в течении N часов; при обращении спустя N часов авторизацию надо переспросить,
>
зачем?
>но не раньше этих чёрт-их-дери N часов; у большинства пользователей стиль работы
>:
>открыл броузер, глянул чё надо, закрыл броузер; так что постоянного соединения с
>проксей нету..NTLM авторизация не канает пока в силу прочих причин; так
>что вся надежда на таймеры)