Разобравшись с форматом базы приступим к конфигурированию squidGuard. Cоздаем файл /usr/local/squidGuard/squidGuard.conf. И вносим в него вот это:
logdir /usr/local/squidGuard/log
|
# тут у нас логи лежат |
logdir /usr/local/squidGuard/db
|
# здесь базы |
src it-department {
|
# описываем адреса отдела ИТ |
ip 192.168.10.222-192.168.10.223
|
|
}
|
|
# отдел доставки | |
|
|
ip 192.168.10.101, 192.168.10.104
|
|
}
|
|
|
# отдел снабжения |
ip 192.168.10.105
|
|
}
|
|
# говорим что, все обращения к файлам *.mp3 нужно перенаправить на http://192.168.10.9/replace/my.mp3 # и запротоколировать это событие в файле /usr/local/squidGuard/log/rewr_mp3 |
|
|
|
s@.*\.mp3$@http://192.168.10.9/replace/my.mp3@r
|
|
log rewr_mp3
|
|
}
|
|
dest porn {
|
# описываем базу порносайтов # записать протокол в файл /usr/local/squidGuard/log/porn |
domainlist porn/domains
|
|
urllist porn/urls
|
|
log porn
|
|
}
|
|
dest ads {
|
# описываем базу рекламы # записать протокол в файл /usr/local/squidGuard/log/ads # подменяем все баннеры прозрачным изоражением размером 1x1 пиксель |
domainlist ads/domains
|
|
urllist ads/urls
|
|
log ads
|
|
redirect http://192.168.10.9/replace/1x1.gif
|
|
}
|
|
dest banners {
|
# описываем свою собственную базу баннерных систем # в этом файле записаны выражения типа baner, banner, ads, show_ads # перенаправляем все запросы на прозрачный gif размером 1x1 пиксель |
domainlist banners/domains
|
|
expressionlist banners/expressions
|
|
urllist banners/urls
|
|
redirect http://192.168.10.9/replace/1x1.gif
|
|
log banners
|
|
}
|
|
dest local-ok {
|
# описываем домены которые не должны блокироваться никогда # вне зависимости от списка скачиваемого из сети |
domainlist local-ok/domains
|
|
urllist local-ok/urls
|
|
}
|
|
dest local-block {
|
# описываем домены которые должны быть заблокированы всегда |
domainlist local-block/domains
|
# вне зависимости от списка скачиваемого из сети |
urllist local-block/urls
|
# и перенаправляем все запросы на block.cgi |
redirect http://192.168.10.9/cgi-bin/block.cgi?clientaddr=%a&clientname=%n&clientident=%i&clientgroup=%s&targetgroup=%t&url=%u
|
|
}
|
|
acl {
|
# начинаем раздавать права |
it-department {
|
|
pass local-ok !banners !ads all
|
# отделу ИТ можно все кроме рекламы |
}
|
|
dostavka {
|
|
pass local-ok !porn !banners !ads !local-block all
|
|
redirect http://192.168.10.9/cgi-bin/block.cgi?clientaddr=%a&clientname=%n&clientident=%i&clientgroup=%s&targetgroup=%t&url=%u
|
|
rewrite mp3
|
|
}
|
|
snab {
|
# отделу снабжения разрешаем только то что определено в local-ok |
pass local-ok none
|
# так можно дать пользователю доступ только к избранным сайтам |
redirect http://192.168.10.9/cgi-bin/block.cgi?clientaddr=%a&clientname=%n&clientident=%i&clientgroup=%s&targetgroup=%t&url=%u
|
|
rewrite mp3
|
|
}
|
|
default {
|
# действия выполняемые по умолчанию, если пользователь не описан ни в одном src |
pass none
|
# блокируем все |
redirect http://192.168.10.9/cgi-bin/block.cgi?clientaddr=%a&clientname=%n&clientident=%i&clientgroup=%s&targetgroup=Not_Authorized&url=%u
|
|
log default
|
# пишем логи в файл /usr/local/squidGuard/log/default |
}
|
|
}
|
# закрываем список acl |
Покончив с файлом конфигурации, продолжим настройку squidGuard. Даем права пользователю, от мени которого будет работает squidGuard на директории log и db. Так же поступаем и с файлом squidGuard.conf.
# chown -R nobody /usr/local/squidGuard/log /usr/local/squidGuard/db
# chown nobody /usr/local/squidGuard/squidGuard.conf
SquidGuard может работать с текстовыми базами данных, но в таком случае при каждом запуске ему приходится создавать в оперативной памяти слепок всех загружаемых баз данных в формате Berkeley DB. Этот процесс занимает довольно продолжительное время. Подобных задержек можно избежать, если заранее самому создать базы в формате Berkeley DB. Поэтому мы напишем скрипт для перестройки баз и перезапуска squidGuard с новыми базами.
# cat > /usr/local/squidGuard/bin/rebuid_base.sh
#!/bin/sh
/usr/local/squidGuard/bin/squidGuard -C all
chown -R nobody /usr/local/squidGuard/db
killall -HUP squid
^D
# chmod 100 /usr/local/squidGuard/bin/rebuid_base.sh
# /usr/local/squidGuard/bin/rebuid_base.sh
Запустив rebuid_base.sh, необходимо дождаться нормального завершения задачи.
Теперь во всех директориях, упомянутых в разделах dest конфигурационного файла,
появятся файлы баз данных domains.db и urls.db.
страницы: | 1, 2, 3, 4 |