Поиск по сайту:

Настройка SquidGuard, включение правил контента и анализ журналов Squid. Часть 6


LFCE (Сертифицированный инженер Linux Foundation) – это профессионал, обладающий необходимыми навыками для установки, управления и устранения неполадок сетевых служб в системах Linux, а также отвечающий за проектирование, внедрение и постоянное сопровождение архитектуры системы в полном объеме.

Представляем программу сертификации Linux Foundation.

В предыдущих статьях мы обсуждали, как установить Squid + squidGuard и как настроить squid для правильной обработки или ограничения запросов доступа. Пожалуйста, убедитесь, что вы изучили эти два руководства и установили Squid и squidGuard, прежде чем продолжить, поскольку они задают фон и контекст для того, что мы рассмотрим в этом посте: интеграция squidguard в рабочую среду squid для реализации правил черного списка и контроля контента над Прокси сервер.

Требования

  1. Установка Squid и SquidGuard – Часть 1
  2. Настройка прокси-сервера Squid с ограниченным доступом – часть 5

Для чего можно/нельзя использовать SquidGuard?

Хотя squidGuard, безусловно, расширит и улучшит возможности Squid, важно подчеркнуть, что он может, а что не может.

squidGuard можно использовать для:

  1. ограничить разрешенный веб-доступ для некоторых пользователей только списком разрешенных/хорошо известных веб-серверов и/или URL-адресов, одновременно запрещая доступ к другим веб-серверам и/или URL-адресам, занесенным в черный список.
  2. блокировать для некоторых пользователей доступ к сайтам (по IP-адресу или доменному имени), соответствующим списку регулярных выражений или слов.
  3. требовать использования доменных имен/запретить использование IP-адреса в URL-адресах.
  4. перенаправить заблокированные URL-адреса на страницы ошибок или информации.
  5. используйте отдельные правила доступа в зависимости от времени суток, дня недели, даты и т. д.
  6. реализовывать разные правила для разных групп пользователей.

Однако ни squidGuard, ни Squid нельзя использовать для:

  1. анализируйте текст внутри документов и действуйте в результате.
  2. обнаруживать или блокировать встроенные языки сценариев, такие как JavaScript, Python или VBscript, внутри HTML-кода.

Черные списки – основы

Черные списки являются важной частью squidGuard. По сути, это обычные текстовые файлы, которые позволят вам реализовать фильтры контента на основе определенных ключевых слов. Существуют как бесплатные, так и коммерческие черные списки, и вы можете найти ссылки для скачивания на веб-сайте проекта черных списков squidguard.

В этом уроке я покажу вам, как интегрировать черные списки, предоставляемые Shalla Secure Services, в вашу установку squidGuard. Эти черные списки бесплатны для личного/некоммерческого использования и обновляются ежедневно. На сегодняшний день они включают более 1 700 000 записей.

Для нашего удобства создадим каталог для загрузки пакета черного списка.

mkdir /opt/3rdparty
cd /opt/3rdparty 
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

Последняя ссылка для скачивания всегда доступна, как показано ниже.

После распаковки только что загруженного файла мы перейдем к папке черного списка (BL).

tar xzf shallalist.tar.gz 
cd BL
ls

Вы можете рассматривать каталоги, показанные в выводе ls, как категории заднего списка, а соответствующие им (необязательные) подкаталоги - как подкатегории, спускающиеся до определенных URL-адресов и доменов, которые перечислены в файлах. urls и домены соответственно. Более подробную информацию можно найти на изображении ниже.

Установка черных списков

Установка всего пакета blacklist или отдельных категорий осуществляется путем копирования каталога BL или одного из его подкаталогов соответственно в каталог /var/ каталог lib/squidguard/db.

Конечно, вы могли бы сначала загрузить архив черного списка в этот каталог, но подход, описанный ранее, дает вам больше контроля над тем, какие категории следует блокировать (или нет) в определенное время.

Далее я покажу вам, как установить черные списки anonvpn, хакинга и чата и как настроить squidGuard для их использования.

Шаг 1: рекурсивно скопируйте каталоги anonvpn, hacking и chat из /opt/3rdparty/ BL в /var/lib/squidguard/db.

cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

Шаг 2. Используйте файлы доменов и URL-адресов для создания файлов базы данных squidguard. Обратите внимание, что следующая команда будет работать для создания файлов .db для всех установленных черных списков – даже если определенная категория имеет 2 или более подкатегории.

squidGuard -C all

Шаг 3: Измените владельца каталога /var/lib/squidguard/db/ и его содержимого на прокси-пользователя, чтобы Squid мог читать файлы базы данных.

chown -R proxy:proxy /var/lib/squidguard/db/

Шаг 4: Настройте Squid для использования squidGuard. Мы будем использовать директиву url_rewrite_program Squid в /etc/squid/squid.conf, чтобы указать Squid использовать squidGuard в качестве переписчика/перенаправителя URL-адресов.

Добавьте следующую строку в squid.conf, убедившись, что /usr/bin/squidGuard — это правильный абсолютный путь в вашем случае.

which squidGuard
echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
tail -n 1 /etc/squid/squid.conf

Шаг 5: Добавьте необходимые директивы в файл конфигурации squidGuard (находится в /etc/squidguard/squidGuard.conf).

Пожалуйста, обратитесь к скриншоту выше после следующего кода для дальнейших разъяснений.

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

Шаг 6: Перезапустите Squid и протестируйте.

service squid restart 		[sysvinit / Upstart-based systems]
systemctl restart squid.service 	[systemctl-based systems]

Откройте веб-браузер в клиенте в локальной сети и перейдите на сайт, найденный в любом из файлов черного списка (домены или URL-адреса — в следующем примере мы будем использовать чат http://spin.de/). ), и вы будете перенаправлены на другой URL-адрес, в данном случае www.lds.org.

Вы можете убедиться, что запрос был отправлен на прокси-сервер, но был отклонен (ответ 301 HTTP – Перемещен навсегда) и вместо этого был перенаправлен на www.lds.org.

Удаление ограничений

Если по какой-то причине вам необходимо включить категорию, которая была заблокирована в прошлом, удалите соответствующий каталог из /var/lib/squidguard/db и прокомментируйте (или удалите) соответствующий acl. в файле squidguard.conf.

Например, если вы хотите включить домены и URL-адреса, занесенные в черный список по категории anonvpn, вам необходимо выполнить следующие шаги.

rm -rf /var/lib/squidguard/db/anonvpn

И отредактируйте файл squidguard.conf следующим образом.

Обратите внимание, что части, выделенные желтым цветом в разделе ДО, были удалены в разделе ПОСЛЕ.

Внесение в белый список определенных доменов и URL-адресов

В некоторых случаях вам может потребоваться разрешить определенные URL-адреса или домены, но не весь каталог, занесенный в черный список. В этом случае вам следует создать каталог с именем myWhiteLists (или любое другое имя по вашему выбору) и вставить нужные URL-адреса и домены в . /var/lib/squidguard/db/myWhiteLists в файлах с именами URL и доменов соответственно.

Затем инициализируйте новые правила контента, как и раньше:

squidGuard -C all

и измените squidguard.conf следующим образом.

Как и раньше, части, выделенные желтым цветом, обозначают изменения, которые необходимо добавить. Обратите внимание, что строка myWhiteLists должна быть первой в строке, начинающейся с pass.

Наконец, не забудьте перезапустить Squid, чтобы изменения вступили в силу.

Заключение

После выполнения шагов, описанных в этом руководстве, у вас должен быть мощный фильтр контента и перенаправитель URL-адресов, работающий рука об руку с вашим прокси-сервером Squid. Если у вас возникли какие-либо проблемы в процессе установки/настройки или у вас есть какие-либо вопросы или комментарии, вы можете обратиться к веб-документации squidGuard, но всегда можете написать нам, используя форму ниже, и мы свяжемся с вами, как только возможный.