Установка и настройка SquidGuard.
SquidGuard – редиректор предназначенный для фильтрации посещаемых сайтов. Этот редиректор достаточно гибкий в своих настройках, позволяет создавать отдельные группы пользователей, с отдельными списками доступа, временными интервалами действия правил. Позволяет фильтровать доступ к сайтам по урлам, включая фильтрацию по регекспам.
Установим SquidGuard из портов:
cd /usr/ports/www/squidguard/ make install clean
В начале небольшой диалог настройки:
┌────────────────────────────────────────────────────────────────────┐ │ Options for squidGuard 1.4_2 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ [X] SAMPLE_BL Install sample blacklists │ │ │ │ [ ] LDAP Enable LDAP support │ │ │ │ │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘
В опциях мы указали устанавливать стандартный черный список сайтов.
После того, как сам SquidGuard установлен, перейдем к настройке.
Конфигурационный файл SquidGuard лежит вместе с конфигами Squidа в /usr.local/etc/squid/. По умолчанию там расположен файл-пример squidGuard.conf.sample, копируем его в squidGuard.conf и начнем править:
cp squidGuard.conf.sample squidGuard.confМой конфиг выглядит так:
dbhome /var/db/squidGuard logdir /var/log #Описываем адреса нашей локалки, по группам source limited { ip 192.168.0.10,192.168.0.15 } soutce chif { ip 192.168.0.17 } source full { ip 192.168.0.43 } #Стандартные черные списки сайтов dest hacking { domainlist hacking/domains urllist hacking/urls } dest violence { domainlist violence/domains urllist violence/urls expressionlist violence/expressions } dest proxy { domainlist proxy/domains urllist proxy/urls } dest porn { domainlist porn/domains urllist porn/urls expressionlist porn/expressions } dest mail { domainlist mail/domains } dest warez { domainlist warez/domains urllist warez/urls } dest gambling { domainlist gambling/domains urllist gambling/urls } dest drugs { domainlist drugs/domains urllist drugs/urls } dest audio-video { domainlist audio-video/domains urllist audio-video/urls } dest aggressive { domainlist aggressive/domains urllist aggressive/urls } dest ads { domainlist ads/domains urllist ads/urls } #Наш персональный утвержденный черный список dest community { domainlist community/domains urllist community/urls } #Запрещаем качать музыку, архивы, видео с помощью редиректа на специально подготовленные файлы. rewrite mp3 { s@.*\.mp3$@http://www.hilik.org.ua/fake.mp3@r } rewrite rar { s@.*\.rar$@http://www.hilik.org.ua/fake.rar@r } rewrite zip { s@.*\.zip$@http://www.hilik.org.ua/fake.zip@r } rewrite avi { s@.*\.avi$@http://www.hilik.org.ua/fake.avi@r } #Вот тут, наконец то, раздаем права. Группе limited запрещаем вообще все acl { limited { pass !hacking !violence !proxy !porn !mail !warez !gambling !drugs !audio-video !aggressive !ads !in-addr !community any rewrite mp3 rar zip avi #на 192.168.0.15 ставим страничку с приказом о запретах и номером телефона ITотдела - это для несогласных redirect http://192.168.0.15 } #Шефу не запрещаем только то, что он запретил своим приказом. Все стандартные запреты ставим chif { pass !hacking !violence !proxy !porn !mail !warez !gambling !drugs !audio-video !aggressive !ads !in-addr any redirect http://192.168.0.15 } #Админам полный доступ full { pass any } #Все кто не в группах доступ закрыт вообще default { pass none redirect http://192.168.0.15 } }
в /var/db/squidGuard создаем каталог community, в нем я планировал размещать адреса социальных сетей, но по факту туда добавляется все, что не нравится руководству.
mkdir /var/db/squidGuard/community/
И в нем создать файлы urls и domains.
В них можно внести локальные запреты.
Теперь пересоздаем базу squidGuard:
squidGuard -C allТеперь остается прописать squidGuard в настройках Squid и перезапустить:
redirect_program /usr/local/bin/squidGuard redirect_children 5
И перезапускаем:
/usr/local/etc/rc.d/squid restart
На этом в общем то и все.



