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

Исходное сообщение
"Проблемы с ограниченеим доступа пользователей"

Отправлено Elrond , 14-Ноя-03 15:44 
Пытаюсь сделать следующее:
1. Для пользователя test запретить доступ к хосту http://some_fignya
2. Для пользователей test, ady, aiv
    a: закрыть доступ к http://www.microsoft.com
    б: открыть доступ к хосту http://www.yandex.ru
3. На все остальные адреса ходить нельзя

Реализация:
---- squid.conf ----
http_access allow localnet
http_access allow ext_stat

########################
# GENERATE BY GENACL.PHP
acl usr_57 proxy_auth test
acl deny_57 url_regex http://some_fignya
acl usr_1 proxy_auth  test aiv ady
acl allow_1 url_regex http://www.yandex.ru
acl deny_1 url_regex http://www.microsoft.com

http_access deny deny_57 usr_57
http_access allow allow_1 usr_1
http_access deny deny_1 usr_1
########################
http_access deny all

------ end ---------

Что получаем в результате:
1. Открываем браузер, идем на www.yandex.ru
2. Получаем запрос на авторизацию, вводим верный логин и пароль для
   пользовтеля test
3. Открывается yandex.ru
4. НЕ ЗАКРЫВАЯ браузер вводим адрес www.microsoft.com
5. Получаем запрос (СНОВА) на авторизацию на который даем верные данные для пользователя test. Авторизация не проходит. goto 5.
6. После трех неверных попыток получаем Cache Access Denied а не ожидаемое сообщение об отказе в доступе к данному URLю.

Вопрос:
Почему авторизация спрашивается два раза, почему она не проходит при правильных данных?


Содержание

Сообщения в этом обсуждении
"Проблемы с ограниченеим доступа пользователей"
Отправлено junior , 14-Ноя-03 16:33 
>Вопрос:
>Почему авторизация спрашивается два раза, почему она не проходит при правильных данных?

Ибо неправильно заданы правила.

=================================

acl all src 0.0.0.0./0.0.0.0

acl usr_test proxy_auth test
acl usr_aiv proxy_auth aiv
acl usr_ady proxy_auth ady
------------------------------
#Авторизацию делаем каждому!
------------------------------

acl deny_test url_regex -i ^http://some_fignya ^http://www.microsoft.com
acl allow_all url_regex -i ^http://www.yandex.ru

------------------------------
#
#Непонятно одно, если для test закрыто всё, кроме яндекса, зачем #указывать ещё и some_fignya ? Лишнее и ненужно правило.
#Получаем:

http_access allow usr_test allow_url
http_access allow usr_aiv allow_url
http_access allow usr_ady allow_url
http_access deny all

#some_fignya выброшен за ненадобностью.

Удачного дня.


"Проблемы с ограниченеим доступа пользователей"
Отправлено elrond , 16-Ноя-03 11:53 
Дело в том, что описанная ситуация не конечная и пределывать правила под нее не хотелось бы. Меня больше интересует - в чем ошибка acl описанных в первом посте. Они в принцепе работают,но когда срабатыает запрет проиходит нежелатльный запрос на авторизацию (3 раза) а затем утверждается что авторизация не прошла. В правилах разрешениях (yandex.ru)
такого не происходит и все срабатывает нормально.

"Проблемы с ограниченеим доступа пользователей"
Отправлено junior , 17-Ноя-03 07:25 
>Дело в том, что описанная ситуация не конечная и пределывать правила под
>нее не хотелось бы. Меня больше интересует - в чем ошибка
>acl описанных в первом посте. Они в принцепе работают,но когда срабатыает
>запрет проиходит нежелатльный запрос на авторизацию (3 раза) а затем утверждается
>что авторизация не прошла. В правилах разрешениях (yandex.ru)
> такого не происходит и все срабатывает нормально.

Повторная авторизация происходит от того, что не сработала первый раз.
Если всё в порядке, то никакой повторной не будет.
Описанная мной последовательность запрашивает повтор на аутентификацию?


"Проблемы с ограниченеим доступа пользователей"
Отправлено junior , 17-Ноя-03 07:40 
>acl usr_1 proxy_auth  test aiv ady

Вот ошибка             ^^^^^^^^^^^^^
У тебя задано сразу три логина на авторизацию.
Потому условия вида:
http_access allow allow_1 usr_1
http_access deny deny_1 usr_1

означают, что доступ будет разрешён к сайту, если всё три пользователя зайдут одновременно! Так же и с запретом. Ничего ведь не мешает вынести каждого  пользователя в отдельные acl?
Удачного дня.


"Проблемы с ограниченеим доступа пользователей"
Отправлено Helg , 17-Ноя-03 15:14 
>>acl usr_1 proxy_auth  test aiv ady
>
>Вот ошибка          
>  ^^^^^^^^^^^^^
http://squid.opennet.ru/FAQ/my/FAQrus-23.html
-------------------------------
acl foo proxy_auth REQUIRED
acl bar proxy_auth lisa sarah frank joe
acl daytime time 08:00-17:00
acl all src 0/0
http_access allow bar
http_access allow foo daytime
http_access deny all
--------------------------------------------
А что вы на это скажете, junior?


"Проблемы с ограниченеим доступа пользователей"
Отправлено junior , 17-Ноя-03 19:40 
>-------------------------------
>acl foo proxy_auth REQUIRED
>acl bar proxy_auth lisa sarah frank joe
>acl daytime time 08:00-17:00
>acl all src 0/0
>http_access allow bar
>http_access allow foo daytime
>http_access deny all
>--------------------------------------------
>А что вы на это скажете, junior?

Повторю - ошибка осталась там же.
Разжёвываю для желающих.
В примере:
1. acl foo proxy_auth REQUIRED
2. acl bar proxy_auth lisa sarah frank joe
3. acl daytime time 08:00-17:00
4. acl all src 0/0
5. http_access allow bar
6. http_access allow foo daytime
7. http_access deny all

1. Обязательная аутентификация
2. Аутентификация для группы пользователей
3. Описание времени доступа
4. Все.
5. Разрешить доступ группе (без всяких условий!!!!!)
6. Разрешить всем прошедшим аутентификацию доступ в оговоренное время
7. Запретить всем.


Теперь что было:

acl usr_57 proxy_auth test
acl deny_57 url_regex http://some_fignya       # Тут первая неточность (если по документации)
acl usr_1 proxy_auth  test aiv ady             # Оставим как в доке
acl allow_1 url_regex http://www.yandex.ru     # Вторая (по доке)
acl deny_1 url_regex http://www.microsoft.com  # Третья (опять же см. squid.conf)

http_access deny deny_57 usr_57
# Запрещаем бедному челу смотреть фигню
http_access allow allow_1 usr_1
# Разрешим группе смотреть яндекс
http_access deny deny_1 usr_1
# Запрещаем группе смотреть сайт мелкомягких.

А теперь найдите 10 отличий от правил описанных по работе с группой в приведённой ссылке ;-)

Вариант 2.
Неправильно созданный файл паролей. Отпадает, ибо вопрошающий сказал о том, что аутентификация ПРОШЛА УСПЕШНО в первый раз.

Значит всё дело в правилах.
Вопрос к постящему:
Мой пример, приведённый в ответном посте работает?

Какие ещё вопросы?

Удачного дня.


"Дык я не о том."
Отправлено Helg , 17-Ноя-03 20:01 
>>acl bar proxy_auth lisa sarah frank joe
Выше утверждалось что авторизацию нужно делать ДЛЯ КАЖДОГО ЮЗЕРА В ОТДЕЛЬНОСТИ.
данная строчка из фака показывает что наше правило (мы с постящим  Elrond'ом - коллеги :) ) синтаксически верно и что предположение о том, что "сразу все пользователи должны залогиниться одновременно" не верно.

>Повторю - ошибка осталась там же.
Дык все-таки где же там же если не с proxy_auth
Я не пойму, то ли я дурак, толи лыжи не едут :)
>http_access deny deny_57 usr_57
># Запрещаем бедному челу смотреть фигню
>http_access allow allow_1 usr_1
># Разрешим группе смотреть яндекс
>http_access deny deny_1 usr_1
># Запрещаем группе смотреть сайт мелкомягких.
>
>А теперь найдите 10 отличий от правил описанных по работе с группой
>в приведённой ссылке ;-)
То есть вы хотите сказать нельзя указывать
http_access allow|deny куда для_какого_ACL'я
Или неверен порядок?

>Вопрос к постящему:
>Мой пример, приведённый в ответном посте работает?
Отвечу за постящего.
Дело не в работоспособности вашего примера, а в том что нужно остаться как можно ближе к приведенному примеру! Т.е. задавить данного конкретного бага: или в примере или в ДНК программера :)


"Дык я не о том."
Отправлено junior , 18-Ноя-03 07:30 
Ладно... оставим ДНК и лыжи в покое.
Начнём с другого.
Вы можете конкретно сформулировать задачу, чтобы
мы не занимались гаданием на кофейной гуще и битьём в тамтамы?
Согласитель - странный способ спрашивать совета не говоря конкретно
что же требуется в конце-концов.

Если опасаетесь нарушить какие-то privat-ные моменты - можете сбросить
описание задачи по почте. Только умоляю - давайте обойдёмся без
совсем ненужных шифровок и иже с ним. :)

Удачного дня.


"Проблемы с ограниченеим доступа пользователей"
Отправлено elrond , 17-Ноя-03 20:06 
>Вопрос к постящему:
>Мой пример, приведённый в ответном посте работает?


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


"Проблемы с ограниченеим доступа пользователей"
Отправлено elrond , 17-Ноя-03 20:10 
еще одна странность, ведъ

acl bar proxy_auth lisa sarah frank joe
acl url url_regex -i ^http://www.microsoft.com

работает когда идет правило

http_access allow bar url

и в то же время сыплется когда идет вместо того

http_access deny bar url