Май 27 2010

Установка и настройка 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

На этом в общем то и все.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть