URL-фильтрация на локальном компьютере с помощью прокси-сервера Squid на основе блэклистов Digincore под Ubuntu
В статье описываются шаги по установке прокси сервера squid3 на отдельной клиентской машине. Мы рассмотрим минимальную конфигурацию этих сервисов для подключения блэклистов и перенаправим запросы браузеров (firefox, chrome, opera) на установленный прокси squid3.
Описание системы:
- Ubuntu 12.04 LTS (www.ubuntu.com) и выше
- Squid: Version 3.1.19 (www.squid-cache.org)
- Squid-совместимые блэклисты (обновления файлов производится каждую вторую среду) - http://digincore.org/index.php/zagruzit-bleklisty/category/6-squid
1. Из-под пользователя root устанавливаем squid3:
apt-get install squid
После установки необходимо настроить файлы конфигурации, которые расположены по следующим путям: /etc/squid3/squid.conf
2. Настроим конфигурационные файлы. Для удобства создадим отдельный конфигурационный файл, предназначенный для описания правил обработки блэклистов:
touch /etc/squid3/squid.acl.conf
и добавим в него следующие строки:
acl url_filtered src 127.0.0.1 # squid будет обрабатывать входящие запросы с заданного адреса / группы адресов
acl blacklist dstdomain -i "/etc/squid3/blacklists/squid_porn" # правило blacklist гласит, что оно определяется содержимым блэклиста ./squid_porn, а содержимым этого файла являются домены.
http_access deny blacklist url_filtered # для всех запросов от фильтруемых IP-адресов (url_filtered) запрещать доступ (deny) к доменам из правила blacklist
Не забудем подключить его в общем конфигурационном файле /etc/squid3/squid.conf, добавив строку:
include /etc/squid3/squid.acl.conf
Создадим папку в которой будет храниться блэклист:
mkdir /etc/squid3/blacklists
3. Переходим по ссылке http://digincore.org/index.php/zagruzit-bleklisty/category/6-squid, скачиваем блэклист и распаковываем его в папку /etc/squid3/blacklists/ командой
unzip ./squid_porn.zip -d /etc/squid3/blacklists/
Подготовка завершена.
4. Перезапускаем Squid (эта команда выполняется каждый раз, когда вы обновляете блэклисты):
service squid3 restart
Настройка фильтрующего прокси завершена.
5. Для того, чтобы браузеры использовали установленный нами прокси, необходимо явным образом указать это в их настройках. Например, в Mozilla Firefox это делается так:
Выбираем пункты меню Preferences → Advanced → Network → пункт “Connections” кнопка “Settings” → Manual proxy configuration и в поле HTTP Proxy вписываем localhost, а также указываем порт 3128.
Настройки для Chrome browser:
Settings → Show advanced settings... → Change proxy settings
браузер вызывает настройки сети операционной системы, далее кликаем на пункт Network proxy и в выпадающем списке, выбираем Manual и выставляем localhost и порт 3128 (необходим пароль суперпользователя)
Настройки для Opera browser:
Settings → Preferences (Ctrl-F12) → Advanced → Network → Proxy settings и выставляем localhost и порт 3128
С этого момента ваши браузеры начинают совершать http-запросы через прокси сервер squid3, который, проверяет, не находится ли запрашиваемый url в списке блокируемых.