Squid. Введение в ACL

ACL(списки контроля доступа от англ. Access Control List), возможно является в Squid самой мощной функцией. ACL просто проверяет запросы клиента на соответствие заданным правилам. Используя ACL, каждому запросу можно создать правило, чтобы блокировать его, кэшировать, отправить в пул задержки или направить на другой прокси-сервер. Существует много различных типов ACL, например, один тип проверяет клиентские IP адреса, другой - запрашваемые URL адреса, следующие могут проверять порт назначения, имя веб-сервера, подлинность пользователя и так далее.

Наиболее распространенным способом использования ACL состоит в том, чтобы блокировать подключения от внешних клиентов. Если вы используете прокси-сервер, подключенный к Интернет и доступный из внешней сети, хосты находящиеся вне вашей локальной сети не должны иметь доступа к нему. Злоумышленники часто используют другие прокси, для взлома, отправки спама или доступа к сайтам на которые им запрещено входить.

При использовании подключения через прокси, клиент может посылать запросы на любой порт(например, использование ICQ на порту 5190). Таким образом вашим прокси могут воспользоватся люди для подключения к серверам отличным от веб-серверов, такими как AIM, ICQ или MSN. ACL обычно используется для блокировки такой возможности, оставляя только 443 порт (SSL по умолчанию). Таким же способом, ACL может использован для блокировки HTTP запросов на порты 22, 23 и 25, которые, как правило, используются для SSH, telnet и SMTP.

Простое определение ACL в Squid конфигурации фактически ничего не даст - все изменения должны быть актуализированы(применены), чтобы начать действовать. В этом разделе объясняется, как использовать ACL для управления тем, какие запросы к вашему серверу разрешены, а какие запрещены. Другие разделы объясняют, каким образом они(ACL) связаны с кэшированием и доступом к другим серверам.

Когда он (сервер) получает запрос, Squid первым делом проверяет ACL. Он сверяет - проходит ли запрос, согласно директив Allow(Разрешить). Если запрос подпадает под правило запрета(Deny), то он не проходит до клиента. Последним шагом проверяется наличие директив Allow all(Разрешить всё) или Deny all(Запретить всё). В случае если используется Allow all, то имеет смысл использовать только директивы Deny(Запретить) для ввода ограничений. А если используется Deny all, то разумно использовать только директивы Allow(Разрешить). Это сделано для удобства. Например, если вы хотите разрешить пользователям только определенные веб-сайты, то правильно будет запретить всё, и назначить разрешенные через директиву Allow. Напротив если вы хотите запретить определенные сайты, то вы можете разрешить всё, а пункт «Кроме» оформить директивами Allow.

ICP запросы от других прокси-серверов, также проверяется, чтобы определить, проходят ли они по правилам ACL. Смотри раздел "Подключение к другим прокси" для более конретной информации об ICP и для чего они используются.

Типичная конфигурация по умолчанию Squid включает несколько ACL и ограничений прокси. Из соображений безопасности, всем запросам должно быть отказано по умолчанию. Это означает, что вам необходимо изменить список ограничений прежде чем кто-либо может использовать ваш прокси-сервер.

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

Squid proxy module ACL

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

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

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

1. На странице Access Control(Контроль доступа), выберите Client Address(Адресация клиентов), из списка существующих ACL. При нажатии кнопки Create new ACL(Создать новый ACL), будет отображена форма для ввода адресов в ACL.

Squid proxy ACL

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

2. В ACL name (Имя ACL) введите короткое имя, например mynetwork.

Client address ACL squid

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

3. В пустом поле From IP(с IP), введите начальный IP-адрес диапазона, например

192.168.1.0.

4. В поле To IP(до IP), введте конечный IP-адрес диапазона, например 192.168.1.100.

Только клиенты, которые входят в этот диапазон будут проходить по ACL.

5. Вы также можете указать IP сеть, введя начальный IP-адрес в поле From IP(с IP) и маску подсети (например, 255.255.255.0), в поле Netmask(Маска сети). Для ввода более одной записи, вам необходимо нажать «Сохранить», а затем повторно редактировать этот ACL, чтобы появились новые пустые поля для ввода.

6. Нажмите на кнопку «Сохранить», чтобы добавить ACL и вернуться на страницу Access Control(Контроль доступа), на которой ваш новый ACL уже будут отображен.

7. Нажмите кнопку Add proxy restriction(Добавить прокси ограничение) под таблицей Proxy restrictions(Прокси ограничения).

Proxy restrictions

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

8. На форме, которая появится, выберите Allow(Разрешить) в поле Action(Действие).

Create proxy restriction

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

9. В Match ACLs(Списки ACL) выберите ваш новый mynetwork ACL.

10. Нажмите кнопку «Сохранить» на этой форме, чтобы вернуться к странице access control(контроль доступа) снова. Новое ограничение будет отображено в нижней части таблицы, скорее всего, ниже Deny all(Запретить все)

11. Нажмите кнопку «стрелка вверх» рядом с вашим новым ограничением, чтобы переместить его выше пункта Deny all(Запретить все). Это означает, что в Squid будут разрешены соединения из вашей сети и запрещены все остальные.

12. Наконец, нажмите кнопку Apply Changes(Применить изменения) в верхней части страницы. Прокси-сервер теперь будет доступен клиентам во внутренней сети, но никому более.

Эти инструкции предполагают, что вы начинаете работать с конфигурацией Squid по умолчанию. Если прокси-сервер уже настроен для доступа из любого места (путем изменения ограничения Deny all(Запретить все) на Allow all(Разрешить все), вы должны изменить это, чтобы заблокировать клиентов извне. Чтобы узнать более подробно о типах ACL и как использовать их, прочтите следующие два раздела.




Ссылки:

К содержанию

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

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

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