Настройка редиректора Squidguard

Большинство системный администраторов сталкиваются с задачей фильтрации сайтов, доступных для пользователей, то есть для запрета например контент для взрослых, видео, радио и так далее . Можно использовать для этого сам Squid, однако это не очень удобно и достаточно трудоемко. Чтобы облегчить эти задачи были созданы специальные программы редиректоры.

Squidguard это программа-редиректор для прокси-сервера Squid.

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

Далее необходимо установить сам SquidGuard используя пакетный менеджер Вашей ОС. Например в Centos это yum.

yum install squidGuard

Теперь можно переходить к настройке SquidGuard. Его настройки стандартно находятся в файле /etc/squid/squidGuard.conf

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

Создадим папку для блеклистов используя команду создания каталогов mkdir с ключом -p, создающим также всю структуру каталогов, если ее нет.

mkdir -p /var/squidGuard/blacklists

Перейдем туда командой смены каталога cd.

cd /var/squidGuard/blacklists

Скачаем туда свежую базу.

wget http://www.shallalist.de/Downloads/shallalist.tar.gz

И распакуем командой tar

tar xzvf shallalist.tar.gz
  • x- распаковать архив
  • z - указывает что архив упакован архиватором gzip (т.е надо еще и разархивировать)
  • v - показывать ход выполнения
  • f - архивировать в файл (tar может архивировать и напрямую на устройства, например стримерные ленты)

Теперь настроим сам Squidguard. Его настройки хранятся в файле /etc/squid/squidGuard.conf. Это можно сделать любым текстовым редактором - например vi или nano.

vi /etc/squid/squidGuard.conf nano /etc/squid/squidGuard.conf

Ниже я приведу свой файл конфигурации с описанием параметров. Настройки также достаточно подробно описаны на официальном сайте squdguard.org.

#Каталоги для базы блокируемых сайтов и логов

dbhome /var/squidGuard/ logdir /var/log/squidGuard

#Так описываются временные периоды.

# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat

time workhours { weekly mtwhf 08:00 - 16:30 date *-*-01 08:00 - 16:30 }

#Адреса и/или имена пользователей источников. Можно указать в какие часы траффик будет фильтроваться, а в какие нет. Например группа Admin будет фильтроваться только в рабочие часы, а locnet всегда. Можно задавать ip отдельно через пробел, диапазоном через тире или полной записью CIDR ip/mask.

src admin { ip 10.0.0.17 user root within workhours } src locnet { ip 10.0.0.1-10.0.0.16 10.0.0.18 }
  • # Группы ресурсов назначения:
  • # adv - реклама
  • #good хорошие сайты
  • #violence - насилие и т.д.

Группа содержит список доменов для блокировки (domainlist), отдельных адресов (urls), а также страницу, которая будет показываться вместо запрашиваемой страницы (redirect). Пути к спискам доменов и url указываются относительно dbhome.

dest adult { domainlist BL/porn/domains urllist BL/porn/urls redirect http:/127.0.0.1/cgi/blocked.html }

Сами правила фильтрации выглядят как показано ниже. Слово pass означает разрешение, deny - запрет, any - любой. Например группа admin может ходить куда угодно, locnet в рабочие часы везде кроме порно, в остальное время вообще везде, все остальные никуда ходить не могут.

acl { admin { pass any } locnet within workhours { pass good !adult } else { pass any } default { deny any redirect http:/127.0.0.1/blocked.html } }

После завершения настройки SquidGuard необходимо выполнить перенастройку и перезапуск Squid. для этого в файле настройки /etc/squid/squid.conf необходимо раскомментировать опцию url_rewrite_program и вписать туда команду запуска SquidGuard. В нашем случае строка выглядит так:

url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

После этого Squid необходимо перезагрузить и перечитать его файл конфигурации. Воспользуемся командой squid с ключем -k, посылающем Squid команду перечитать файл конфигурации.

squid -k reconfigure

Средняя оценка: 5,0, всего оценок: 1
Последнее обновление: 24.08.2018 174