Get Adobe Flash player

postheadericon SquidGuard - фильтрация контента

Фильтрацию рекламы и прочей гадости интернета можно осуществить через Proxy сервер. Для этого делаем следующее:

1. Через пакетный менеджер Synaptic установите пакет squidGuard. С помощью squidGuard можно отфильтровывать и переадресовывать запросы по адресам, именам и регулярным выражениям, определять пользователей по адресам и логинам, которые можно распределять по группам с заданием собственных настроек и указанием временного промежутка (например, разрешить группе посещать только ресурсы из белого списка).

2. Отконфигурируйте через Midnight Commander файл /etc/squid/squidGuard.conf:

# расположение базы данных запрещенных адресов

dbhome /usr/share/squidGuard/db

# файл, в котором вести журнал

logdir /var/log/squidGuard

# создаем правила для блокировки рекламы

dest adv {

domainlist adv/domains

urllist adv/urls

}

# создаем правила для блокировки порнографии

dest porn {

domainlist porn/domains

urllist porn/urls

}

# создаем правила для блокировки пиратских программ

dest warez {

domainlist warez/domains

urllist warez/urls }

# И теперь создаем контроля доступа ACL

acl {

default {

# запрет рекламы, порнографии, пиратских программ

pass !adv !porn !warez all

# перенаправление на страницу с сообщением о запрете доступа

redirect http://www.mypclinuxos.local/block.html

}

}

3. Создайте html-файл с сообщением о запрете доступа в каталоге /var/www/html/block.html

4. Установите/создайте сами (и затем регулярно обновляйте) базы данных запрещенных адресов. Базу можно скачать отсюда. Затем ее нужно распаковать и полученные папки с файлами положить в папку db.

Внутри найдете целую структуру каталогов с названиями вроде ads, warez и т.д. Внутри каждого каталога могут находиться следующие файлы: - domains – список доменных имен и адресов сайтов (ad.count.com); - urls – список конкретных ссылок на ресурс (site.com/banners); - expressions - список регулярных выражений, ожидаемых в URL (adult|girls|avi|mp3 и т.д.). Списков expressions в большинстве blacklist мало, и злоупотреблять ими не стоит, так как их использование сильно нагружает систему.

5. Для установки данной базы выполнить следующие команды:

  • cd/usr/share/squidGuard/ - переход в каталог squidGuard
  • rm -rf db - удаление старой базы
  • tar xf/путь до/shallalist.tar.gz - разархивирование
  • mv BL db - переименование

И еще один момент, связанный с обновлением списка. Например, может возникнуть ситуация, когда нужно добавить или убрать ресурс из blacklist, если это сделать в одном из указанных выше файлов, то при обновлении все изменения будут потеряны. Чтобы избежать этого, сохраняйте изменения в нужном подкаталоге в файлах с расширением diff. Например, рядом с оригинальным domains пишем domains.diff. Формат его прост:

  • +ads.domain.com
  • -domain.com

Первый ресурс будет добавлен в базу, второй убран. При обновлении списка ситуация не изменится.

6. Когда правила записаны, базы созданы, устанавливаем права (от rootа):

  • squidGuard -d -C all
  • chown -R squid /var/lib/squidguard/db/*

Хотя делать это необязательно, при первой загрузке базы будут созданы автоматически, но так можно убедиться в отсутствии ошибок. Для обновления конкретного списка вместо all указываем на конкретный файл. Если обновление производится из diff файла, то используем параметр –u:

  • squidGuard -u /var/lib/squidguard/db/ads/domains.diff

7. Раскомментируйте строки в файле squid.conf, относящиеся к squidGuard и перезапустите proxy-сервер командой:

  • service squid restart

Примечание

* Чтобы блокировать не все подряд, а выборочно для отдельные группы клиентов (детей, коллег, начальников и т.п.) применяется src, в качестве значения ему можно передать: отдельный IP-адрес, адрес сети, домен или список пользователей.

src clients {
ip 192.168.1.2-192.168.1.50
}

src admins {
ip 192.168.1.55, 192.168.1.150
}

Временной диапазон задается так:

time workhours {
weekly mtwhf 09:00-18:00
date *.04.01
}

Под описание work-time попадают дни от понедельника по пятницу (используются первые буквы английских слов) и время с 9 до 18. Плюс сюда же входит первое апреля каждого года.
Время можно использовать прямо в описании клиентов:

src managers {
ip 192.168.0.0/24
within workhours
}

Теперь полное правило в squidguard.conf:

acl {
# этой группе режем все, и пускать менеджеров будем только в workhours
managers {
pass !warez !chat !porno !agressive !drugs !ads all
}
# в рабочее время режем все
clients within workhours {
pass !warez !chat !porno !agressive !drugs !ads all
} else {
pass !ads all # после работы режем только рекламу
}
# администратору ничего не режем
admins {
pass !adv all
}
default {
pass !adv all
}
}

** Хорошая статья на подобную тему здесь.

Скачать PCLinuxOS

Поиск
Язык сайта