Веб-фильтрация с помощью прокси

Настройка браузера на компьютере пользователя

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

Настройка веб-прокси вручную

Веб-прокси использует порт 3128 для проксирования HTTP, HTTPS (метод CONNECT) и FTP (метод GET).

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


_images/proxy_settings1.png

Настройка веб-прокси с помощью групповых политик Active Directory

Если используется доменная среда Active Directory, то настройки веб-прокси можно распространять на клиентские компьютеры с помощью групповых политик.

Для создания и назначения групповой политики (GPO) проделайте следующие действия.

  1. Зайдите на контроллер домена под учетной записью, имеющей привилегии администратора.
  2. Откройте оснастку Group Policy Management - для этого в меню Выполнить (вызывается по нажатию Win+R) наберите gpmc.msc и нажмите Enter.
  3. Кликните на домен или организационную единицу (OU), на которую должна действовать групповая политика, и выберите Create a GPO in this domain, and Link it here ....
  4. Дайте создаваемой групповой политике адекватное название, например, Web Proxy Settings.
  5. Кликните на созданную групповую политику и выберите Edit.
  6. В консольном дереве пройдите в раздел User configuration\Preferences\Control Panel Settings.
  7. Кликните на раздел Internet Settings, выберите New и затем Internet Explorer 10.
  8. Кликните на вкладку Connections, далее LAN settings и укажите настройки прокси, аналогично тому, как показано на скриншоте.
  9. Нажмите OK, закройте редактируемую групповую политику для сохранения настроек.

Настройка прозрачного проксирования

Прокси-сервер Traffic Inspector Next Generation поддерживает работу в прозрачном режиме.

Смысл «прозрачного проксирования» заключается в том, что пользователи не имеют явных настроек на веб-прокси, но тем не менее их трафик все равно будет перехвачен и попадет на веб-прокси.

Настройка прозрачного проксирования описана в разделе Прозрачное проксирование.

Настройки на устройстве Traffic Inspector Next Generation

Перед тем, как переходить к настройкам фильтрации, осуществите базовую настройку веб-прокси в соответствии с инструкцией Базовые настройки веб-прокси.


Запрет работы в обход веб-прокси

Фильтрация трафика осуществляется при его обработке веб-прокси сервером. Если пользователи будут иметь возможность работать в обход веб-прокси, то правила прокси не будут применены.

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

Пройдите в Межсетевой экран -> Правила на вкладку LAN и создайте два правила со следующими настройками:

Правило для блокировки HTTP-трафика, идущего мимо прокси

   
Действие Блокировка
Интерфейс LAN
Протокол TCP
Источник LAN net
Диапазон портов назначения HTTP
Описание Блокировка HTTP-трафика мимо прокси

Правило для блокировки HTTPS-трафика, идущего мимо прокси

   
Действие Блокировка
Интерфейс LAN
Протокол TCP
Источник LAN net
Диапазон портов назначения HTTPS
Описание Блокировка HTTPS-трафика мимо прокси

Traffic Inspector Next Generation имеет ряд преднастроенных правил, которые разрешают любое обращение в Интернет со стороны внутренней локальной сети. Для того, чтобы новые правила применялись, их нужно разместить до преднастроенных правил. Расположите правила в порядке, указанном на скриншоте:

_images/block_proxy_bypass.png

Сохраните и примените изменения.

Поддерживаемые типы фильтрации

Веб-прокси Squid поддерживает широчайшие возможности фильтрации по различным критериям. В настоящее время, через веб-интерфейс Traffic Inspector Next Generation можно управлять следующими типами фильтрации:

  • Фильтрация по IP-адресам
  • Фильтрация по портам назначения
  • Фильтрация по типу User Agent (по типу браузера)
  • Фильтрация по типу контента (по MIME-типам)
  • Фильтрация по общим белым и черным спискам
  • Фильтрация по скачиваемым спискам
  • Фильтрация по спискам NetPolice для пользователей и групп (локальных или доменных)
  • Фильтрация по спискам для пользователей и групп (локальных или доменных)

Примечание

Ниже описывается ввод различных значений в текстовые поля веб-интерфейса. Не забывайте нажимать клавишу Enter после ввода каждого элемента или ставить запятую после каждого элемента. В противном случае, элемент не будет добавлен в поле.

Фильтрация по IP-адресам

Настройки данного типа фильтрации доступны в разделе Службы -> Прокси-сервер -> Администрирование, вкладка Forward прокси, пункт меню Список контроля доступа.


_images/acl_ip.png

Ниже описывается ввод IP-адресов в текстовые поля. Допускается указание одиночных IP-адресов и IP-сетей:

192.168.1.77
192.168.1.0/24

В поле Разрешенные подсети можно задать сети, из которых разрешено работать через веб-прокси. Сети, к которым шлюз подключен через LAN-адаптеры, считаются разрешенными по умолчанию.

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

В поле Заблокированные IP-адреса можно задавать IP-адреса хостов. Запрещенный хост не сможет пользоваться услугами данного прокси.

Фильтрация по портам назначения

Настройки данного типа фильтрации доступны в разделе Службы -> Прокси-сервер -> Администрирование, вкладка Forward прокси, пункт меню Список контроля доступа, поле Разрешенные TCP-порты назначения.


_images/acl_ports.png

При указании портов, можно использовать диапазоны, например:

222–226

И добавлять комментарии, разделяемые двоеточием, например:

22:ssh

Примечание

Squid преднастроен таким образом, что разрешает проксирование запросов только к некоторому множеству портов, считающихся безопасными (указаны на скриншоте). Проксирование SSL/TLS-соединений методом CONNECT разрешено только для порта TCP/443.

Фильтрация по типу User Agent (по типу браузера)

Настройки данного типа фильтрации доступны в разделе Службы -> Прокси-сервер -> Администрирование, вкладка Forward прокси, пункт меню Список контроля доступа, поле Блокировать browser/user-agent строки.


_images/acl_useragent.png

При указании User Agent строк, можно использовать синтаксис регулярных выражений.

Регулярное выражение:

^(.)+Macintosh(.)+Firefox/37\.0

даст совпадение с версией Firefox revision 37.0 для Macintosh

Регулярное выражение:

^Mozilla

даст совпадение с всеми браузерами на базе Mozilla

Фильтрация по типу контента (по MIME-типам)

Настройки данного типа фильтрации доступны в разделе Службы -> Прокси-сервер -> Администрирование, вкладка Forward прокси, пункт меню Список контроля доступа, поле Блокирировать ответы с конкретным MIME-типом.


_images/acl_mime.png

MIME-тип можно указывать в синтаксисе регулярных выражений.

Регулярное выражение:

video/flv

даст совпадение с Flash Video

Регулярное выражение:

application/x-javascript

даст совпадение с Java-скриптами

Фильтрация по URL

Порядок обработки списков

Traffic Inspector Next Generation предусматривает несколько списков доступа для нужд фильтрации по URL.

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

Некоторые списки являются глобальными и действуют на всех пользователей. Другие списки назначаются на локального или доменного пользователя или группу.

Поддерживаются удаленные списки, т.е. списки, скачиваемые по сети с определенного URL.

Для понимания результирующей политики доступа, важно знать о порядоке обработки списков:

  • общий белый список
  • общий чёрный список
  • скачиваемые чёрные списки
  • белый и черный списки доступа NetPolice на пользователей и группы
  • белый и черный списки доступа на пользователей и группы

Примечание

Как видно, пользовательские списки имеют приоритет перед групповыми списками, а групповые списки перед общими списками.

Если в общем белом списке прописано love.mail.ru, а в общем черном списке .mail. - то пользователи смогут попасть на love.mail.ru, но не смогут попасть на mail.ru.

Если в общем черном списке прописано gosuslugi, а в групповом белом списке для group1 прописано gosuslugi, то пользователи group1 смогут попать на госуслуги.

Если в общем белом списке прописано .salon.by, а в удаленном черном списке прописано .salon.by, то пользователи смогут попать на этот ресурс.


Синтаксис регулярных выражений в списках

При указании URL в списках можно использовать синтаксис регулярных выражений, например:

Регулярное выражение:

mydomain.com

даст совпадение с URL *.mydomain.com

Регулярное выражение:

^https?:\/\/([a-zA-Z]+)\.mydomain\.

даст совпадение с URL http(s)://textONLY.mydomain.*

Регулярное выражение:

\.gif$

даст совпадение с *.gif но не с *.giftest

Регулярное выражение:

\[0-9]+\.gif$

даст совпадение с 123.gif но не с test.gif

Фильтрация по общим белым и черным спискам

Настройки данного типа фильтрации доступны в разделе Службы -> Прокси-сервер -> Администрирование, вкладка Forward прокси, пункт меню Список контроля доступа.


_images/acl_global.png

В поле Белый список можно задать URL разрещенных ресурсов.

В поле Черный список можно задать URL запрещенных ресурсов.

Примечание

Общий белый список имеет приоритет перед общим черным списком. Пользовательские и групповые списки имеют приоритет перед общими черным и белым списками.

Скачиваемые черные списки: фильтрация рекламы

Рассмотрим пример фильтрации рекламы с помощью скачиваемого списка.

Для данного примера мы используем список, доступный по адресу: http://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml

Список представляет собой простой текстовый файл, который выглядит следующим образом:

101com.com
101order.com
123found.com
180hits.de
180searchassistant.com
207.net
247media.com
24log.com
24log.de
24pm-affiliation.com
2mdn.net
2o7.net
360yield.com
...

Пройдите в Службы -> Прокси-сервер -> Администрирование и кликните на вкладку Удаленные списки контроля доступа. Далее, кликните на + в нижнем правом углу формы для создания нового списка. Укажите следующие значения:

   
Включено Флажок установлен
Имя файла yoyoads
URL http://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml
Категории (оставить пустым)
Описание Yoyo Ads Blacklist

Нажмите Загрузить списки доступа. Сохраните изменения.

Настройка фильтрации рекламы с помощью скачиваемого списка завершена.

Скачиваемые черные списки: фильтрация нежелательных категорий сайтов

Рассмотрим пример фильтрации нежелательных категорий сайтов с помощью скачиваемого списка.

Для данного примера мы используем Список для веб-категоризации UT1, поддерживаемый Фабрисом Прижаном из Тулузского университета. Данный список распространяется под лицензией Creative Commons и доступен по URL ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz.

Другие популярные списки для веб-прокси Traffic Inspector Next Generation:

   
http://www.shallalist.de Бесплатный для личного использования и частично-платный для коммерческого использования.
http://urlblacklist.com Платный коммерческий список.
http://www.squidblacklist.org Платный коммерческий список.

Указание скачиваемого списка

Пройдите в Службы -> Прокси-сервер -> Администрирование и кликните на вкладку Удаленные списки контроля доступа.

Далее, кликните на + в нижнем правом углу формы для создания нового списка. Укажите следующие значения:

   
Включено Флажок установлен
Имя файла UT1
URL ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
Категории (оставить пустым)
Описание UT1 web фильтр

Нажмите Сохранить изменения.


Загрузка категорий

Нажмите Загрузить списки доступа. Учтите, что загрузка займет некоторое время (до нескольких минут), так как полный список (>19 МБ) конвертируется в списки Squid.


Настройка категорий

Выберите нужные категории – кликните на иконку с изображением карандаша рядом с описанием списка. Будет открыто окно редактирования, в котором - все доступные категории, извлеченные из списка.

_images/acl_remote_categories.png

Например, мы будем фильтровать контент для взрослых и сайты онлайн шопинга. Самый простой способ добиться этого – очистить список и выбрать следующие записи из выпадающего списка:

_images/acl_remote_categories_selected.png

Далее cохраните изменения и нажмите Загрузить списки доступа для того, чтобы загрузить и перестроить список на основе выбранных категорий. Это займет примерно столько же времени, как и загрузка первого списка.

Настройка фильтрации нежелательных категорий сайтов с помощью скачиваемого списка завершена.

Фильтрация по спискам NetPolice

Установка ключа для плагина NetPolice

Пройдите в раздел Сводка -> Сертификат.

Введите приобретенный ключа для плагина NetPolice и нажмите на кнопку Получить новый сертификат.

Установленный сертификат выглядит следующи образом:

_images/cert_netpolice.png

Установка плагина os-netpolice

Для работы с категориями URL через онлайн сервис NetPolice нужно установить плагин os-netpolice.

Пройдите в раздел Система -> Прошивка -> Обновления. На вкладке Плагины нажмите на кнопку + напротив плагина os-netpolice для его установки.

После установки плагина os-netpolice, в разделе Службы -> Веб-прокси появляется подраздел Классификация URL с помощью NetPolice.


Проверьте принадлежность веб-сайта к категории NetPolice

_images/netpolice_test.png

В выводе видно, что данный веб-ресурс классифицирован NetPolice как принадлежащий к категории алкоголь.

Удачное прохождение проверки вместе с включением блокировки для соответствующей категории гарантирует запрет доступа к данному ресурсу для клиентов.


Общие списки NetPolice для всех пользователей

В качестве примера, запретим доступ к сайтам из категорий алкоголь.

В разделе Службы -> Веб-прокси -> Классификация URL с помощью NetPolice на вкладке Настройки, установите флаг Включить NetPolice и установите флаги напротив категорий веб-сайтов, доступ к которым должен быть запрещен и нажмите на кнопку Применить.

_images/netpolice_acl_for_all.png

Списки NetPolice для индивидуальных пользователей и групп (локальных или доменных)

Для того, чтобы назначать списки доступа на доменных пользователей и группы, должен быть настроен коннектор для обращения к LDAP-каталогу (контроллеру домена).

Настройка LDAP-коннектора описана в разделе Настройка аутентификации в Active Diretory через LDAP на прокси.

Примечание

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

Списки для индивидуальных пользователей и групп создаются в разделе Службы -> Веб-прокси -> Классификация URL с помощью NetPolice -> Groups and Users.

_images/netpolice_acl_for_users_and_groups.png

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

Если в веб-прокси настроен метод аутентификации по LDAP или Kerberos (в домене Active Directory), то списки буду назначаться на доменных пользователей и доменные группы.


Работа с неклассифицированными ресурсами

Плагин NetPolice поддерживает специальную категорию “Неопределенная категория” которую можно использовать в отношении ресурсов, которые еще не были категоризированны онлайн-сервисом NetPolice.

Например, ниже демонстриуется запрет доступа к ресурсам с неопределенной категорией для пользователей доменной группы group2.

_images/netpolice_undefined_category.png

Фильтрация по спискам для пользователей и групп (локальных или доменных)

Настройка LDAP

Для того, чтобы назначать списки доступа на доменных пользователей и группы, должен быть настроен коннектор для обращения к LDAP-каталогу (контроллеру домена).

Настройка LDAP-коннектора описана в разделе Настройка аутентификации в Active Diretory через LDAP на прокси.

Примечание

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

Установка плагина os-proxy-useracl

Для работы с пользовательскими и групповыми списками нужно установить плагин os-proxy-useracl.

Пройдите в раздел Система -> Прошивка -> Обновления. На вкладке Плагины нажмите на кнопку + напротив плагина os-proxy-useracl для его установки.

После установки плагина os-proxy-useracl, в разделе Службы -> Веб-прокси появляется подраздел Group and User ACL.

Создание списков

Списки для пользователей создаются в разделе Службы -> Веб-прокси -> Group and User ACL, на вкладке User ACL.

Списки для групп создаются в разделе Службы -> Веб-прокси -> Group and User ACL, на вкладке Group ACL.

Если в веб-прокси настроен метод аутентификации по локальной базе пользователей, то списки будут назначены на локальных пользователей и локальные группы.

Если в веб-прокси настроен метод аутентификации по LDAP или Kerberos (в домене Active Directory), то списки будут назначены на доменных пользователей и доменные группы.