Как объединить ACL и включить аутентификацию на веб-прокси-сервере Squid3?

Я столкнулся с некоторыми трудностями при применении фильтра к аутентифицированным пользователям на веб-прокси-сервере squid3 версии 3.3.8.

Я уже настроил squid3 следующим образом:

  • Аутентификация NCSA

Базовая программа auth_param /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords

auth_param основные дети 5

auth_param основная область Squid Proxy Web Server

auth_param базовые учетные данныеttl 2 часа

auth_param базовый с учетом регистра вкл.

  • Пользовательские ACL

Я создал несколько новых ACL следующим образом:

acl group1 src /etc/squid3/group1_ips.txt proxy_auth НЕОБХОДИМО

acl bad_domains dstdomain /etc/squid3/bad_domains.txt

где group1_ips.txt — это файл, содержащий список IP-адресов определенной группы group1, а bad_domains.txt — это файл, содержащий список доменов, которые я хочу отфильтровать.

  • http_access

Теперь в http_access я сделал следующее:

http_access запретить группу bad_domains1

http_access разрешить всем

  • Моя проблема:

Аутентификация списка пользователей по их IP и предотвращение их входа на некоторые веб-сайты. В основном эта строка кода не работает.

acl group1 src /etc/squid3/group1_ips.txt proxy_auth НЕОБХОДИМО

Однако эта строка работает:

acl group1 proxy_auth НЕОБХОДИМО

Но я хочу, чтобы ACL group1 использовал аргумент src. Я тоже пробовал это, но это не сработало:

список источников доступа группы1 /etc/squid3/group1_ips.txt

acl group1 proxy_auth НЕОБХОДИМО

Пожалуйста, как я могу решить эту проблему: применить фильтр к аутентифицированным пользователям?

Заранее спасибо.


person Anis Bedhiafi    schedule 13.01.2015    source источник


Ответы (2)


Вы можете сделать что-то вроде этого:

acl group1 src "/etc/squid3/group1_ips.txt"
acl bad_domains dstdomain "/etc/squid3/bad_domains.txt
acl auth proxy_auth REQUIRED

# we require authentication for all users here
http_access deny !auth

# allow all for group1 except of bad_domains
http_access allow !bad_domains group1

# deny if not matched rules above
http_access deny all
person Stanislav German-Evtushenko    schedule 23.01.2015

Я проверил документацию, и нет ссылки на то, что вы можете использовать «src», за которым следует файл, содержащий IP-адреса — кажется, что каждый пример указывает на определенный адрес или сеть.

Вы уверены, что то, что вы пытаетесь сделать, поддерживается?

Источник: http://wiki.squid-cache.org/SquidFaq/SquidAcl

Я намеревался опубликовать это как комментарий, но мне не хватает репутации.

person João Miguel Brandão    schedule 13.01.2015
comment
да, используя файл, содержащий список IP-адресов или доменов, каждый в строке, работает очень хорошо. Попробуйте и посмотрите. - person Anis Bedhiafi; 13.01.2015
comment
Очень хорошо. Когда вы говорите, что не работает, что вы имеете в виду? Есть ли ошибка? Или у пользователей есть доступ в любом случае? - person João Miguel Brandão; 13.01.2015
comment
Я хочу, чтобы он работал следующим образом: - Пользователь должен пройти аутентификацию. Если он аутентифицирован, он может начать использовать свой браузер, но он не должен получать доступ к зарегистрированным сайтам. С той конфигурацией, которую я выложил. браузер говорит, что не может подключиться к прокси - person Anis Bedhiafi; 13.01.2015
comment
Если браузер говорит, что не может даже подключиться к прокси, значит ли это, что прокси запустился неправильно? Есть ли что-нибудь в журналах, указывающее на неправильную конфигурацию или сбой при запуске? - person João Miguel Brandão; 13.01.2015
comment
Нет !! Если я использую это так: acl group1 proxy_auth НЕОБХОДИМО http_access запретить bad_domains group1 http_access разрешить все Это работает. Но проблема в том, что у меня разные группы, и сайты, которые я хочу отфильтровать, не одинаковы для всех групп, поэтому мне нужно применить фильтр для каждой группы. - person Anis Bedhiafi; 13.01.2015
comment
Насколько я понял, когда вы говорите, что требуется proxy_auth, вы в основном говорите, что SRC для этого ACL — это список пользователей. Нельзя указать два источника. Вместо этого вам нужно сделать proxy_auth ‹список пользователей›, чтобы применить этот ACL к этому списку пользователей из прокси. - person João Miguel Brandão; 13.01.2015
comment
acl group1 src /etc/squid3/group1_ips.txt acl group1 proxy_auth НЕОБХОДИМО Исходя из этого предположения, когда вы делаете это, вы просто переписываете первую команду со второй. - person João Miguel Brandão; 13.01.2015