Заметка предназначена для RPM-Based дистрибутивов линукс, но с
небольшой доработкой может использоваться и в версиях линукс,
основанных на других репозитариях.
Установка SquidGuard достаточно проста. Заходим в консоль сервера как пользователь root и пишем:
wget http://www.squidguard.org/Downloads/squidGuard-1.4.tar.gz
tar zxvf squidGuard-1.4.tar.gz
cd squidGuard-1.4
./configure
make
make install
Для работы SquidGuard также необходимо наличие в системе установленной BerkeleyDB.
Как пишет Википедия:”Berkeley DB (BDB) — высокопроизводительная
встраиваемая база данных, реализованная в виде библиотеки”. Вот именно
в формате Berkeley DB и будут храниться и использоваться SquidGuard-ом
списки URL для фильтрации.
Проверим есть ли в системе установленная Berkeley DB. Подходит для CentOS 4.x
rpm -qa | grep db4
Если вывод команды примерно такой:
db4-utils-4.2.52-7.1
db4-devel-4.2.52-7.1
db4-4.2.52-7.1
значит все в порядке.
Если нет, то устанавливаем Berkeley DB командой: yum install db4* и проводим установку SquidGuard повторно.
Далее нам необходимо скачать список запрещенных URL. К счастью
создавать их самостоятельно необходимости нет. Есть соответствующие
сервисы в сети. Я использую бесплатный сервис http://www.shallalist.de/ Скачиваем архив ссылок и распаковываем его в каталог /usr/local/squidGuard/db. В нашем случае выполняем следующие действия:
cd /usr/local/squidGuard/db
wget http://www.shallalist.de/Downloads/shallalist.tar.gz
tar zxvf shallalist.tar.gz
cp -R BL/* /usr/local/squidGuard/db/
rm -R BL
Настройка SquidGuard выполняется с помощью редактирования файла
squidGuard.conf в каталоге /usr/local/squidGuard. Настроек хватает в
нем, они хорошо описаны в в соответствующем примере по умолчанию.
Приведу один из наиболее простых конфигов:
dbhome /usr/local/squidGuard/db
logdir /usr/local/squidGuard/logs
dest porn {
domainlist porn/domains
urllist porn/urls
}
dest redirector
{
domainlist redirector/domains
urllist redirector/urls
}
dest spyware
{
domainlist spyware/domains
urllist spyware/urls
}
acl {
default {
pass !redirector !porn !spyware all
redirect http://172.16.0.1/block.html
}
}
Далее необходимо инициализировать наш блэклист, заданный в
squidGuard.conf, а именно, преобразовать список ссылок в
соответствующий db файл. Делается это следующей командой:
squidGuard -C all
chown -R squid /usr/local/squidGuard/db/*
где squid – это пользователь, от имени которого в системе
запускается прокси сервер Squid. При изменении конфиг файла
squidGuard.conf, а именно при добавлении новых списков блокировки,
каждый раз необходимо повторять вышеуказанную инициализацию.
На этом настройка SquidGuard завершена. Перейдем к настройке squid,
чтобы он начал использование SquidGuard для блокировки нежелательных
URL.
Открываем файл squid.conf и вставляем в него следующую строку (для версии squid 2.5.*)
redirect_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
Для версии squid 2.6.* строка будет выглядеть так:
url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
После чего перезапускаем прокси сервер и наслаждаемся полученным эффектом.
Источник: http://dedicatesupport.com/archives/53 |