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

Установите и настройте pfBlockerNg для черного списка DNS в брандмауэре pfSense.


В предыдущей статье обсуждалась установка мощного межсетевого экрана на базе FreeBSD, известного как pfSense. pfSense, как упоминалось в предыдущей статье, представляет собой очень мощное и гибкое решение брандмауэра, которое может использовать старый компьютер, который может лежать без дела.

В этой статье речь пойдет о замечательном дополнительном пакете для pfsense под названием pfBlockerNG.

pfBlockerNG — это пакет, который можно установить в pfSense, чтобы предоставить администратору брандмауэра возможность расширить возможности брандмауэра за пределы традиционного брандмауэра L2/L3/L4 с отслеживанием состояния.

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

pfBlockerNG предоставляет pfSense возможность брандмауэру принимать решения о разрешении/запрете на основе таких элементов, как геолокация IP-адреса, доменное имя ресурса или рейтинги Alexa определенных веб-сайтов.

Возможность ограничения таких элементов, как имена доменов, очень выгодна, поскольку позволяет администраторам препятствовать попыткам внутренних компьютеров подключиться к заведомо плохим доменам (другими словами, к доменам, о которых может быть известно, что они содержат вредоносное ПО, нелегальный контент или другие коварные фрагменты данных).

В этом руководстве описана настройка брандмауэра pfSense для использования пакета pfBlockerNG, а также приведены некоторые базовые примеры списков блокировки доменов, которые можно добавить/настроить в инструменте pfBlockerNG.

Требования

В этой статье будет сделано несколько предположений, основанных на предыдущей статье об установке pfSense. Предположения будут следующими:

  • pfSense уже установлен и в настоящее время не настроено ни одного правила (чистый лист).
  • Брандмауэр имеет только порт WAN и порт LAN (2 порта).
  • На стороне локальной сети используется IP-схема 192.168.0.0/24.

Следует отметить, что pfBlockerNG можно настроить на уже работающем/настроенном брандмауэре pfSense. Причина этих предположений здесь просто ради здравомыслия, и многие задачи, которые будут выполнены, все еще можно выполнить на нечистом поле pfSense.

Лабораторная диаграмма

На изображении ниже представлена лабораторная диаграмма среды pfSense, которая будет использоваться в этой статье.

Установите pfBlockerNG для pfSense.

Лаборатория готова к работе, пора начинать! Первым шагом является подключение к веб-интерфейсу брандмауэра pfSense. Опять же, в этой лабораторной среде используется сеть 192.168.0.0/24, а брандмауэр выступает в качестве шлюза с адресом 192.168.0.1. Используя веб-браузер и перейдя по адресу «https://192.168.0.1», вы увидите страницу входа в pfSense.

Некоторые браузеры могут жаловаться на сертификат SSL. Это нормально, поскольку сертификат самоподписан брандмауэром pfSense. Вы можете спокойно принять предупреждающее сообщение и при желании установить действительный сертификат, подписанный законным центром сертификации, но это выходит за рамки этой статьи.

После успешного нажатия кнопки «Дополнительно», а затем «Добавить исключение…» нажмите, чтобы подтвердить исключение безопасности. Затем отобразится страница входа в pfSense, которая позволит администратору войти в систему брандмауэра.

После входа на главную страницу pfSense щелкните раскрывающийся список «Система», а затем выберите «Менеджер пакетов».

Щелкнув эту ссылку, вы перейдете в окно диспетчера пакетов. Первая загружаемая страница будет содержать все установленные на данный момент пакеты и будет пустой (опять же, в этом руководстве предполагается чистая установка pfSense). Нажмите на текст «Доступные пакеты», чтобы получить список устанавливаемых пакетов для pfSense.

После загрузки страницы «Доступные пакеты» введите «pfblocker» в поле «Поисковый запрос» и нажмите кнопку «Поиск ». '. Первым возвращаемым элементом должен быть pfBlockerNG. Найдите кнопку «Установить» справа от описания pfBlockerNG и нажмите «+», чтобы установить пакет.

Страница перезагрузится, и администратору будет предложено подтвердить установку, нажав «Подтвердить».

После подтверждения pfSense начнет установку pfBlockerNG. Не уходите со страницы установщика! Подождите, пока на странице не появится сообщение об успешной установке.

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

После настройки pfBlockerNG DNS-запросы для веб-сайтов должны перехватываться брандмауэром pfSense, на котором установлено программное обеспечение pfBlockerNG. Затем pfBlockerNG обновит списки известных плохих доменов, сопоставленных с неверным IP-адресом.

Брандмауэру pfSense необходимо перехватывать DNS-запросы, чтобы иметь возможность фильтровать плохие домены, и он будет использовать локальный преобразователь DNS, известный как UnBound. Это означает, что клиентам на интерфейсе локальной сети необходимо использовать брандмауэр pfSense в качестве преобразователя DNS.

Если клиент запрашивает домен, который находится в списках блокировки pfBlockerNG, pfBlockerNG вернет ложный IP-адрес для домена. Давайте начнем процесс!

Конфигурация pfBlockerNG для pfSense

Первым шагом является включение преобразователя UnBound DNS на брандмауэре pfSense. Для этого нажмите раскрывающееся меню «Службы» и выберите «DNS Resolver».

Когда страница перезагрузится, общие параметры преобразователя DNS станут доступны для настройки. Первый параметр, который необходимо настроить, — это флажок «Включить DNS Resolver».

Следующие настройки — это установка порта прослушивания DNS (обычно порт 53), настройка сетевых интерфейсов, которые должен прослушивать распознаватель DNS (в этой конфигурации это должны быть порт LAN и локальный хост), а затем настройка выходного порта (должен быть глобальной сетью в этой конфигурации).

После того, как выбор сделан, обязательно нажмите «Сохранить» внизу страницы, а затем нажмите кнопку «Применить изменения», которая появится вверху страницы. страница.

Следующий шаг — это первый шаг в настройке pfBlockerNG. Перейдите на страницу конфигурации pfBlockerNG в меню «Брандмауэр», а затем нажмите «pfBlockerNG».

После загрузки pfBlockerNG сначала нажмите вкладку «DNSBL», чтобы начать настройку списков DNS, прежде чем активировать pfBlockerNG.

Когда загрузится страница «DNSBL», под меню pfBlockerNG появится новый набор меню (выделены зеленым ниже). Первый элемент, который необходимо устранить, — это флажок «Включить DNSBL» (выделен зеленым ниже).

Этот флажок потребует использования преобразователя UnBound DNS в поле pfSense для проверки DNS-запросов от клиентов локальной сети. Не волнуйтесь, UnBound был настроен ранее, но этот флажок необходимо будет установить! Другой элемент, который необходимо заполнить на этом экране, — это «Виртуальный IP-адрес DNSBL».

Этот IP-адрес должен находиться в диапазоне частной сети и не быть действительным IP-адресом в сети, в которой используется pfSense. Например, сеть LAN 192.168.0.0/24 может использовать IP-адрес 10.0.0.1, поскольку это частный IP-адрес и он не является частью сети LAN.

Этот IP-адрес будет использоваться для сбора статистики, а также для мониторинга доменов, которые отклоняются pfBlockerNG.

Прокрутив страницу вниз, можно увидеть еще несколько настроек, о которых стоит упомянуть. Первый — это «Интерфейс прослушивания DNSBL». Для этой настройки и большинства настроек для этого параметра должно быть установлено значение «LAN».

Другой параметр — «Действие по списку» в разделе «Настройки IP-брандмауэра DNSBL». Этот параметр определяет, что должно произойти, когда канал DNSBL предоставляет IP-адреса.

Правила pfBlockerNG можно настроить на выполнение любого количества действий, но, скорее всего, желаемым вариантом будет «Запретить оба». Это предотвратит входящие и исходящие подключения к IP-адресу/домену в канале DNSBL.

После выбора элементов прокрутите страницу вниз и нажмите кнопку «Сохранить». После перезагрузки страницы пришло время настроить черные списки DNS, которые следует использовать.

pfBlockerNG предоставляет администратору две опции, которые можно настроить независимо или вместе в зависимости от предпочтений администратора. Два варианта — это ручная подача с других веб-страниц или EasyLists.

Чтобы узнать больше о различных EasyLists, посетите домашнюю страницу проекта: https://easylist.to/

Настройка pfBlockerNG EasyList

Давайте сначала обсудим и настроим EasyLists. Большинство домашних пользователей найдут эти списки достаточными, а также наименее обременительными с административной точки зрения.

В pfBlockerNG доступны два списка EasyList: «EasyList без скрытия элементов» и «EasyPrivacy». Чтобы использовать один из этих списков, сначала нажмите «DNSBL EasyList» в верхней части страницы.

После перезагрузки страницы раздел конфигурации EasyList станет доступен. Необходимо будет настроить следующие параметры:

  • Имя DNS-группы – по выбору пользователя, но без специальных символов.
  • Описание – выбор пользователя, разрешены специальные символы.
  • Состояние каналов EasyList – используется ли настроенный список.
  • Лент EasyList – какой список использовать (EasyList или EasyPrivacy), можно добавить оба.
  • Заголовок/метка – выбор пользователя, но без специальных символов.

Следующий раздел используется для определения того, какие части списков будут заблокированы. Опять же, это все предпочтения пользователя, и при желании можно выбрать несколько. Важные настройки в разделе «DNSBL – EasyList Settings» следующие:

  • Категории – предпочтения пользователя и возможность выбора нескольких.
  • Действие со списком: для проверки DNS-запросов необходимо установить значение «Непривязано».
  • Частота обновления – как часто pfSense будет обновлять список плохих сайтов.

Когда настройки EasyList настроены в соответствии с предпочтениями пользователя, обязательно прокрутите страницу вниз и нажмите кнопку «Сохранить». После перезагрузки страницы прокрутите страницу до ее верха и нажмите вкладку «Обновить».

На вкладке обновления установите переключатель «Обновить», а затем установите переключатель «Все». Для этого потребуется выполнить серию веб-загрузок для получения списков блокировки, выбранных ранее на странице конфигурации EasyList.

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

Следите за окном журнала ниже на наличие ошибок. Если все пойдет по плану, клиентские машины на стороне локальной сети брандмауэра должны иметь возможность запрашивать брандмауэр pfSense на наличие известных плохих сайтов и получать взамен неверные IP-адреса. Опять же, клиентские машины должны быть настроены на использование поля pfsense в качестве преобразователя DNS!

Обратите внимание, что в приведенном выше nslookup URL-адрес возвращает ложный IP-адрес, настроенный ранее в конфигурациях pfBlockerNG. Это желаемый результат. Это приведет к тому, что любой запрос к URL-адресу «100pour.com» будет направлен на ложный IP-адрес 10.0.0.1.

Настройка каналов DNSBL для pfSense

В отличие от AdBlock EasyLists, в pfBlockerNG также есть возможность использовать другие черные списки DNS. Существуют сотни списков, которые используются для отслеживания командования и контроля вредоносных программ, шпионского ПО, рекламного ПО, узлов Tor и всевозможных других полезных списков.

Эти списки часто можно перенести в pfBlockerNG, а также использовать в качестве дополнительных черных списков DNS. Есть довольно много ресурсов, которые предоставляют полезные списки:

  • https://forum.pfsense.org/index.php?topic=114499.0
  • https://forum.pfsense.org/index.php?topic=102470.0
  • https://forum.pfsense.org/index.php?topic=86212.0

По ссылкам выше приведены темы на форуме pfSense, где участники разместили большую коллекцию списков, которые они используют. Некоторые из любимых списков автора включают следующее:

  • http://adaway.org/hosts.txt
  • http://www.malwaredomainlist.com/hostslist/hosts.txt
  • http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext
  • https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
  • https://gist.githubusercontent.com/BBcan177/4a8bf37c131be4803cb2/raw

Опять же, существует множество других списков, и автор настоятельно рекомендует людям искать другие/другие списки. Однако давайте продолжим выполнение задач по настройке.

Первый шаг — снова войти в меню конфигурации pfBlockerNG через «Брандмауэр» -> «pfBlockerNG» -> 'DSNBL'.

Снова оказавшись на странице конфигурации DNSBL, щелкните текст «DNSBL Feeds», а затем нажмите кнопку «Добавить» после обновления страницы.

Кнопка «Добавить» позволит администратору добавлять дополнительные списки неверных IP-адресов или DNS-имен в программное обеспечение pfBlockerNG (два элемента, уже находящиеся в списке, принадлежат автору по результатам тестирования). Кнопка «Добавить» переводит администратора на страницу, где списки DNSBL можно добавить в брандмауэр.

Важными настройками в этом выводе являются следующие:

  • Имя DNS-группы – выбрано пользователем.
  • Описание – полезно для организации групп.
  • Настройки DNSBL – это фактические списки.
    • Состояние – используется ли этот источник или нет и как его получить.
    • Источник – ссылка/источник черного списка DNS.
    • Заголовок/Ярлык – выбор пользователя; никаких специальных символов
  • Действие со списком – установлено значение «Непривязано».
  • Частота обновления – как часто следует обновлять список.

После установки этих настроек нажмите кнопку Сохранить внизу страницы. Как и любые изменения в pfBlockerNG, изменения вступят в силу в следующий запланированный интервал cron, или администратор может вручную принудительно перезагрузить, перейдя на вкладку «Обновить» и нажав кнопку «Перезагрузить<».», а затем нажмите переключатель «Все». После того как они выбраны, нажмите кнопку «Выполнить».

Следите за окном журнала ниже на наличие ошибок. Если все пошло по плану, проверьте, работают ли списки, просто попытавшись выполнить nslookup от клиента на стороне локальной сети к одному из доменов, перечисленных в одном из текстовых файлов, используемых в конфигурации DNSBL.

Как видно из приведенного выше вывода, устройство pfSense возвращает виртуальный IP-адрес, который был настроен в pfBlockerNG как неверный IP-адрес для доменов из черного списка.

На этом этапе администратор может продолжить настройку списков, добавляя новые списки или создавая собственные списки доменов/IP-адресов. pfBlockerNG продолжит перенаправлять эти ограниченные домены на поддельный IP-адрес.

Спасибо, что прочитали эту статью о pfBlockerNG. Пожалуйста, выразите свою признательность или поддержку программному обеспечению pfSense, а также pfBlockerNG, внося свой вклад в дальнейшее развитие обоих этих замечательных продуктов. Как всегда, пожалуйста, оставляйте комментарии ниже с любыми предложениями или вопросами!