Настройка URL-фильтраций на локальном компьютере (только Squid)

URL-фильтрация на локальном компьютере с помощью прокси-сервера Squid на основе блэклистов Digincore под Ubuntu

В статье описываются шаги по установке прокси сервера squid3 на отдельной клиентской машине. Мы рассмотрим минимальную конфигурацию этих сервисов для подключения блэклистов и перенаправим запросы браузеров (firefox, chrome, opera) на установленный прокси squid3.

Описание системы:

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. 

Mozilla FireFox Squid settings

Настройки для Chrome browser:

Settings → Show advanced settings... → Change proxy settings

браузер вызывает настройки сети операционной системы, далее кликаем на пункт Network proxy и в выпадающем списке, выбираем Manual и выставляем localhost и порт 3128 (необходим пароль суперпользователя)

Chrome Squid proxy settings

Настройки для Opera browser:

Settings → Preferences (Ctrl-F12) → Advanced → Network → Proxy settings и выставляем localhost и порт 3128

Opera Squid settings

С этого момента ваши браузеры начинают совершать http-запросы через прокси сервер squid3, который,  проверяет, не находится ли запрашиваемый url в списке блокируемых.