Налаштування squidguard, linuxoid

Наприклад, дозволити групі відвідувати тільки ресурси з білого списку. Для прискорення обробки великих списків вони зберігаються в BerkeleyDB. Установка в Ubuntu складнощів не викликає:

$ Sudo apt-get install squidguard

Підключається squidGuard до Squid так само, як і інші редиректори, просто додаємо в squid.conf рядок для запуску:

redirect_program / usr / bin / squidGuard
# Якщо конфігураційний файл знаходиться в іншому місці, вказуємо його так:
# Redirect_program / usr / bin / squidGuard -c /usr/local/etc/squid/squidGuard.conf
redirect_children 5
redirector_bypass on

Всі настройки squidGuard виробляються в файлі конфігурації /etc/squid/squidguard.conf. Але спочатку потрібно пояснити структуру БД. Мінлива dbhome вказує на каталог, в якому зберігаються описи ресурсів. В Ubuntu і деяких інших дистрибутивах - це / var / lib / squidguard / db. При установці за допомогою пакетів цей каталог порожній, тому доведеться самому подбати про його наповненні. Список blacklist можна взяти як з архіву вихідних текстів програми, так і вибрати будь-який з посиланням Blacklists на сайті проекту. Списки, пропоновані сторонніми організаціями, набагато повніше і оновлюються частіше, тому їх і будемо використовувати. наприклад:

В результаті всередині виявиш цілу структуру каталогів з назвами на кшталт ads. warez та інше. Порядок проходження дуже важливий, адже в правилах вказується шлях щодо dbhome. Усередині кожного каталогу можуть перебувати такі файли:

Списків expressions в більшості blacklist мало, і зловживати ними не варто, так як їх використання сильно навантажує систему.
Ще один момент, пов'язаний з оновленням списку. Наприклад, може виникнути ситуація, коли потрібно додати або прибрати ресурс з balcklist. якщо це зробити в одному із зазначених вище файлів, то при оновленні всі зміни будуть втрачені. Щоб уникнути цього, зберігай зміни в потрібному підкаталозі в файлах з розширенням diff. Наприклад, поряд з оригінальним domains пишемо domains.diff. Формат його простий:

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

створюємо правила

$ Sudo mcedit /etc/squid/squidguard.conf

dest warez domainlist warez / domains
urllist warez / urls
>

# І тепер створюємо ACL
acl default pass! adv! warez all
>
>

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
>

src managers ip 192.168.0.0/24
within workhours
>

Або безпосередньо в acl. Тепер всі описи збираємо в конфіги:

$ Sudo mcedit /etc/squid/squidguard.conf

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

Хоча робити це необов'язково, при першому завантаженні бази будуть створені автоматично, але так можна переконатися у відсутності помилок. Для поновлення конкретного списку замість all вказуємо на конкретний файл. Якщо оновлення проводиться з diff файлу, то використовуємо параметр '-u':

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

Після чого перезапускаємо Squid і перевіряємо роботу.

Схожі статті