Squid. Создание и редактирование ACL

Для начала работы с ACL, нажмите на иконку Access Control(Контроль доступа) на главной странице модуля.

Squid proxy ACL

Рисунок - Главная страница модуля Squid. Для увеличения картинки, нажмите на неё.

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

1. Выберите тип ACL из меню расположенного ниже таблицы Access control lists(списки контроля доступа) и нажмите кнопку Create new ACL(Создать новый ACL).

Access Control Squid

Рисунок - Таблица Access Control lists. Для увеличения картинки, нажмите на неё.

2. В форме которая появилась, введите название нового ACL в поле ACL name(ACL имя). Название должно состоять только из букв и цифр без пробелов и специальных символов.

Client address ACL

Рисунок - Форма Create ACL. Для увеличения картинки, нажмите на неё.

3. При заполнении описания ACL, руководствуйтесь таблицей ниже.

4. В поле Failure URL(Ошибочный URL) введите полный URL на который будут перенаправлены все клиенты если они не проходят по ACL Это позволяет определить пользовательские страницы ошибок, которые будут отображаться вместо автоматически генерируемых Squid ответов.

5. Нажмите кнопку Save(Сохранить) в нижней части формы.

После того, как ACL будет создан, вы можете редактировать его, нажав на его имя в списке. После внесения изменений нажмите кнопку Save(Сохранить). Вы также можете удалить его (если он не используется некоторым прокси или ICP ограничениями), нажав кнопку Delete(Удалить). Как обычно, кнопка Apply Changes(Применить изменения) активирует изменения, которые вы сделали.

Squid имеет удивительное число ACL типов, хотя и не все доступны во всех версиях прокси сервера. Таблица ниже представляет собой список тех типов, которые вы можете создадвать в Squid 2.4. К каждому типу прилагается объяснение в соседних столбцах.

 

Таблица - Squid ACL типы

Тип

Цель

Поля

Browser RegExp

Проверяет заголовок User-Agent HTTP для определения типа браузера клиента. Полезно для блокирования определенных

браузеров

Browser regexp: Для ввода Perl-syle регулярных выражений для идентификации браузеров.

Например, IE 5.5 отправляет идентификатор

Mozilla/4.0 (compatible;

MSIE 5.5; Windows 98;

H010818).

Client address

Проверяется IP-адрес клиента, имеет ли он право отправлять запросы.

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

Как поясняется в разделе 44.6 "Введение в ACL ", при создании или редактировании ACL такого типа, появится таблица с тремя колонками. Каждая строка в таблице

определяет соответствие IP-адреса или диапазона адресов сети. Заполнение строки осуществляется, введением значений в поля -From IP(Начиная с IP адреса), To IP(Заканчивая IP адресом), либо можно указать диапазон адресов введя необходимые значения в поля From IP(Начиная с IP) и Netmask(Маска сети). Сохраняя и заново редактируя Client address ACL, вы получаете каждый раз ещё одну пустую строку к таблице уже введенных значений. Это позволяет добавлять более одной строки в таблицу.

Client Hostname

Проверяет имя хоста клиента от которого поступил запрос. Осуществляется поиск в базе DNS запись соответствующая IP адресу клиента. После этого найденная запись сравнивается с именем хоста или домена. Бывает полезным для разрешения доступа клиентам только из вашей сети. Заметим, что этот тип ACL очень похож на Client Address, с той лишь разницей, что в Client Address происходит сравнение с IP адресом, а в Client Hostname - с именем согласно DNS.

Domains: Для ввода списка хостов или доменных имен с которыми будет сравниватся клиентский хост или домен. Например, example.com.

Client RegExp

Проверяет имя хоста клиента от которого поступил запрос. Как и тип Client Hostname ACL, но совпадения ищутся согласно регулярному выражению.

Regular expression: Для ввода Perl-style регулярных выражений, для сравнения с именем хоста, например ^.*.foo.com$. Если выбрано Ignore case?, тогда сравнения будут регистронезависимыми.

Date and Time

Проверяет дату и время поступления запроса. Позволяет ограничивать доступ по дате и времени. Обычно используется, для организации доступа в Интернет, строго в рабочие часы.

Days of the week: Если выбрано All(Все), то в ACL попадут клиенты запросивший доступ в любой день недели. Если выбрано Selected(Выбранные), то в ACL попадут клиенты запросившие доступ в выбранные дни.

Hours of the day: Если выбрано All(Все), то в ACL попадут клиенты запросившие доступ в любое время. Иначе вам следует ввести время открытия доступа и его закрытие, в формате 24 часов, по маске ЧЧ:ММ (часы: минуты) в соответствующие поля. Например, начало в 08:00, а окончание в 17:00. Только запросы в этот промежуток времени будут отправлены.

Dest AS Numbers

Не используется.

Не используется.

Ethernet Address

Проверяет клиентский MAC адрес. Это может использоватся в сети с динамической раздачей IP адресов. Но это оказывается бесполезным, если между клиентом и прокси есть маршрутизатор(роутер). Этот тип ACL доступен, если Squid скомпилирован с опцией -enable-arp-acl.

Client Ethetnet addresses: Вводится список MAC-адресов, разделённых точкой с запятой. Например, 00: D0: B7: 1D: FB: A1.

External Auth

Проверяется Username клиента, отправившего запрос. Если этот тип ACL используется, то клиенты пропускаются прокси, сверяя только Username. См. "Установка прокси авторизации" для более подробной информации.

External auth users: Если выбрано All users, авторизация будет необходима каждому клиенту по его Username, и каждый попадет в этот список ACL. Если выбрано будет Only those listed, то получат доступ только те, чьи имена(Username) будут перечислены в поле для ввода.

External Auth Regexp

Проверяется Username клиента, отправившего запрос. ACL такой же как предыдущий, но с поддержкой регулярных выражений.

External auth users: Вводятся Perl-style регулярные выражения для сверки пользовательских имен(Username). Если выбрано Ignore case?(Игнорировать регистр?) то проверка будет регистронезависимой.

Maximum Connections

Тип ACL проверяет количество одновременных сессий от клиента. Используется для снижения нагрузки на сервер.

Maximum concurrent request: Вводится количество одновременных сессий на клиента.

Proxy IP Address

Проверяет IP адрес клиента. Используется в том случае, если ваша система имеет несколько сетевых интерфейсов и вы хотите использовать их по разному. Этот ACL можно использовать для блокировки соединений из Internet.

IP address: Вводится IP адрес или подсеть адресов локального пула. Например, 192.168.1.100.

Netmask: Вводится маска сети для проверки IP адреса. Если нужно указать один IP адрес, то укажите 255.255.255.255.

Proxy Port

Проверяет TCP порт прокси на который подключаются клиенты. ACL может быть полезен если ваш прокси слушает несколько портов, один из которых используется для прозрачного проксирования.

Proxy server port: Вводится список портов, разделенных пробелом, на которые будет "подвешен" локальный порт.

RFC931 User

Протокол  RFC931 может быть использован для идентификации UNIX пользователей, подключенных к вашему прокси. При этом клиентская система должна быть под UNIX'ом и демон ident включен. Этот ACL может быть использован для разрешения доступа удаленным пользователям, но это используется только если клиентская система под вашим контролем или под контроле доверенного лица, из соображений безопасности.

RFC931 users: Вводите список имен удаленных пользователей для разрешения доступа. Например, jcameron.

Request MIME type

Проверяет MIME тип пользовательского запроса. Обычно для POST запросов это application/x-www-form-urlencoded и для отправки(upload) файлов это multipart/form-data.

Request MIME type: Вводите тип запроса согласно которому будет производится сверка и занесение в ACL.

Request Method

Проверят метод, которым отправлен запрос.

Каждый HTTP запрос включает метод отправки данных. Это один из:

GET: используется для нормальных запросов со страниц или форм.

POST: используется только для форм.

CONNECT: используется для открытия прямого соединения на некоторый удаленный порт, обычно SSL.

Этот ACL может использоватся для блокировки незащищенных(non-SSL) соединений.

Request methods: Расставьте галочки напротив тех методов запроса, которые будут проверятся на совпадение.

SNMP Community

Проверяется запрос отправленный от SNMP агента. Этот тип полезен только для ограничения доступа к агенту SNMP Squid.

SNMP community string: Строка инициализации SNMP агента.

Source AS Number

Не используется.

Не используется.

URL Path RegExp

Проверяет путь в запрашиваемом URL. Путь это всё после имени хоста и порта. Например, /images/foo.gif. Полезно для определения запросов сгенерированных CGI-программами.

Regular expressions: Вводите Perl-style регулярные выражения для сравнения с URL path. Если выбрано Ignore case?(Игнорировать регистр?) то проверка будет регистронезависимой.

URL Port

Этот тип ACL проверяет порт по которому происходит URL запрос. Полезно для блокирования не-HTTP(non-HTTP) портов, таких как 23 или 25. Есл номер порта не указан, то будут использоваться порты по умолчанию: HTTP - 80; FTP - 21.

TCP ports: Ввводите список портов, разделённых пробелами, которые будут проходить проверку с запрошенным портом.

URL Protocol

Проверяется протокол URL Запроса. Например, HTTP или FTP. Этот ACL может использоватся для блокировки FTP доступа для одного или нескольких пользователей.

URL Protocols: Расставьте галочки напротив протоколов, которые будут проходить сверку. Специальный протокол cache_object используется только Squid cache manager.

 

URL RegExp

Првоеряет URL запрос на совпадение согласно регулярных выражений. Используется для блокировки отдельных страниц ли сайтов.

Regular expressions: Вводите Perl-style регулярные выражения для сравнения с URL. Если выбрано Ignore case?(Игнорировать регистр?) то проверка будет регистронезависимой.

Web Sever Address

Проверяется IP адрес сервера к которому отправлен запрос. Это может быть использовано для блокировки сетей или серверов со специфическим контентом, к которому вы хотите запретить доступ пользователям.

Введите IP адрес сервера и маску сети. Как и везде в Webmin, для добавления дополнительного IP адреса, необходимо сохранить введенную информацию и открыть этот ACL на редактирование вновь.

Web Server Hostname

Проверяет имя хоста в URL.

Domains: Вводите список имен хостов или доменных имен с которыми будут проводится сравнение.

Web Server RegExp

Проверяет имя хоста согласно регулярным выражениям.

Regular expressions: Вводите Perl-style регулярные выражения для сравнения с именами хоста. Если выбрано Ignore case?(Игнорировать регистр?) то проверка будет регистронезависимой.

Множество типов ACL несрабатывают в конкретных ситуациях. Например, клиент посылает CONNECT запрос, в нем нет URL path, поэтому URL path RegExp не сработает. В таких случаях ACL автоматически пропускает запрос.




Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика