SquidGuard
SquidGuard це такий програмний додаток до Squid який дозволяє гнучко керувати доступом до ресурсів світових тенет користувачів вашого проксі. Він має власний окремий файл налаштувань, що спрощує контроль саме за доступом.
Встановлення
Щоб встановити SquidGuard достатньо дати команду: apt-get install squidGuard
Після встановлення пакунку ви отримаєте файл налаштувань у каталозі /etc/squid та потрібні для роботи самого SquidGuard каталоги та файли у var/lib/squidGuard. Під var/lib/squidGuard/db навіть будуть бази з якими вже можно починати працювати.
Налаштування
До пакунку вже включено попередньо налаштований файл налаштувань. Можливо, навіть, вам не доведеться нічого міняти щоб розпочати роботу. Проте, перевірити налаштування треба все одно. Наприклад, там заборонено доступ до www пошти у робочий час. Крім того, треба прописати шлях до файлу squidGuard у налаштуваннях самого Squid.
Налаштування у Squid
Для цього треба скорегувати два-три рядка у файлі /etc/squid/squid.conf.
redirect_program /usr/bin/squidGuard # шлях до файлу redirect_children 5 # скільки процесів перенаправлення запитів може бути відкрито одночасно redirector_bypass on # дозволити запити до ресурсів оминаючи сам squidGuard
Навіть один процес squidGuard зможе обслужити дуже велику кількість запитів. Головний виграш від кількості процесів більше одного, як кажуть, можна отримати на багатопроцесорних системах. Останній рядок дозволяє користувачам оминати контроль коли squidGuard не встигає за кількістю запитів. Кажуть, заборона прямих звертань оминаючи фільтр у такій ситуації "валить" Squid.
Налаштування SquidGuard
Визначення базових каталогів
Детальну інформацію щодо всіх можливостей налаштування SquidGuard ви можете подивитися у його документації. Але поглянемо на налаштування "з коробки". Файл досить "розлогий". Починається він з визначення двох змінних. dbhome визначає базовий шлях до баз з адресами які ми будемо використовувати у правилах доступу. logdir -- показує де буде розміщено файл журналу роботи SquidGuard.
dbhome /var/lib/squidGuard logdir /var/log/squid
Тут коментарі, як кажуть, зайві.
Керування доступом з урахуванням часу
Наступним іде блок визначення робочого часу:
# # TIME RULES: # abbrev for weekdays: # s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat
time workhours { weekly mtwhf 09:00 - 18:00 date *-*-01 09:00 - 18:00 }
Це дозволяє встановити різні правила на різні проміжки часу. У прикладі встановлюється робочий час з понеділка до п'ятниці. І за датою всі перші числа місця. Чесно кажучи, я не знаю на чому грунтується цей рядок.
Щоб це працювало у acl має бути присутнім щось такого типу:
<src> within
Далі визначаються правила підстановки у адресах. Вам самим визначатися чи вам це треба.
# # REWRITE RULES: #
rew dmz { s@://admin/@://admin.example.com/@i s@://example.com/@://www.example.com/@i }
Якщо подібна підстановка потрібна, не забудьте виправити назву домену на потрібну.