Squid настройка url-фільтрації за списками, aqis

Squid настройка URL-фільтрації за списками

Squid настройка url-фільтрації за списками, aqis

Перед багатьма системними адміністраторами постає питання обмеження доступу користувачів до тих чи інших ресурсів мережі інтернет. У більшості випадків в ресурсномісткої і складної контент фільтрації немає необхідності, цілком достатньо URL-списків. Реалізувати такий метод цілком можливо средсвами проксі-сервера squid не привертаючи стороннього ПО.

Ефективність даного методу слід розглядати з точки зору поставленої задачі, так якщо потрібно заблокувати для співробітників соцмережі і ряд розважальних ресурсів, на яких вони проводять найбільше часу, то фільтрація по URL-списками здатна повністю вирішити цю проблему. У той же час така фільтрація виявиться малоефективною, якщо потрібно обмежити доступ до будь-яких ресурсів певного змісту.

Надалі ми будемо мати на увазі, що читач має початковими навичками адміністрування Linux. Також нагадаємо, що всі наведені нижче команди слід виконувати від супрепользователя.

Перш за все створимо файл списку. Розташовуватися він може в будь-якому місці, але буде логічно розмістити його в конфигурационной директорії / etc / squid3

і приступимо до його заповнення. При вказівці URL слід використовувати RegExp синтаксис, ми не будемо детально зупинятися на цьому питанні, так як це виходить за рамки статті, докладніше з правилами RegExp можна ознайомитися тут. Для прикладу заблокуємо популярні соцмережі:

vk \ .com
odnoklassniki \ .ru

Зверніть увагу, точка в RegExp є службовим симоволом і тому повинна бути екранована символом \ (зворотний слеш).

У файлі конфігурації squid (/etc/squid3/squid.conf) створимо acl список, в який включимо хости або користувачів, для яких буде проводитися фільтрація.

acl url_filtred src 192.168.1.221-192.168.1.225

Потім підключимо наш список:

acl blacklist url_regex -i "/ etc / squid3 / blacklist"

Ключ -i вказує на те, що список нечутливий до регістру.

Тепер перейдемо до секції правил і перед правилом

http_access allow localnet

http_access deny blacklist url_filtred

Ще раз звернемо вашу увагу, що всі правила в squid обробляються послідовно, до першого входження, тому якщо ми розмістимо більш загальне правило перед більш приватним, то воно працювати не буде. Те ж саме справедливо і для перекриваються правил - спрацює найперше.

Збережемо зміни і перезапустити squid:

sudo service squid3 restart

Спробуємо відвідати сайт зі списку, якщо все зроблено правильно, то ви побачите повідомлення squid про заборону доступу до цього ресурсу.

Надалі ви можете доповнювати списки, не забуваючи кожного разу після цього перезапускати squid.

Розглянемо трохи іншу ситуацію, потрібно фільтрувати інтернет для всіх, крім певної групи. В цьому випадку створимо acl для виключених користувачів:

acl url_no_filtred 192.168.1.210 192.168.1.211

і змінимо забороняє правило в такий спосіб:

http_access deny blacklist! url_no_filtred

Також ви можете використовувати кілька URL-списків і списків доступу, гнучко регулюючи доступ для різних груп користувачів.

то це призведе до блокування всіх ресурсів, у яких дане поєднання входить в доменне ім'я, тобто і mail.ru і hotmail.com. Тому до складання списків, особливо що містять короткі прості поєднання, потрібно підходити обережно.

Розглянемо простий, але показовий приклад. Припустимо потрібно заблокувати відомий сайт auto.ru і його піддомени. Якщо ми, не довго думаючи, напишемо

auto \ .ru

Те разом з необхідним порталом будуть заблоковані всі сайти мають дане поєднання в імені, наприклад abc-auto.ru. Є над чим замислитися. Якщо з піддоменів все просто, достатньо написати

vk \ .com \ / na_utro_ru

Підключимо лист:

acl whitelist url_regex -i "/ etc / squid / whitelist"

і додамо правило перед заборонним, в результаті повинно вийти:

http_access allow whitelist
http_access deny blacklist url_filtred

Так як дозволяє правило розташоване раніше, то зазначені в «білому» аркуші ресурси будуть доступні, незважаючи на те, що будуть потрапляти під правила «чорного».

Як бачимо, технологія URL-фільтрації за списками за допомогою squid дуже проста і дозволяє в найкоротші терміни обмежити доступ до небажаних ресурсів.

Схожі статті