pfSense — это мощное решение с открытым исходным кодом для брандмауэра и маршрутизатора. Основанный на FreeBSD, pfSense акцентирует внимание на безопасности. Даже в «ванильной» конфигурации pfSense будет гораздо безопаснее, чем любой готовый купить маршрутизатор.
Изначально pfSense предоставляет множество инструментов для настройки защищенной сети. Но помимо своих стандартных инструментов, pfSense также имеет репозиторий дополнительных пакетов, которые можно установить, чтобы еще больше улучшить настройку.
Связанное руководство: Как заблокировать рекламу на всех ваших устройствах с помощью pfSense, Squid и SquidGuard
Краткое резюме статьи:
pfSense — это надежное решение для брандмауэра и маршрутизатора с открытым исходным кодом, основанное на FreeBSD, которое обеспечивает более высокий уровень безопасности по сравнению с готовыми купить маршрутизаторами.
Помимо стандартных инструментов, pfSense предлагает дополнительные пакеты, такие как pfBlockerNG, который улучшает функциональность брандмауэра, позволяя настраивать входящие и исходящие соединения с использованием списков блокировки IP и DNS.Две основные функции pfBlockerNG включают фильтрацию входящего и исходящего трафика по спискам IP и применение ограничений GeoIP, а также блокирование рекламы и вредоносных сайтов через фильтрацию DNS.
Путем проверки DNS-запросов по спискам блокировки, pfBlockerNG предотвращает доступ к вредоносному контенту и служит эффективным средством блокировки рекламы без необходимости использования прокси-сервера.
У pfBlockerNG есть два основных варианта использования:
Фильтрация входящего и исходящего трафика
pfBlockerNG может фильтровать входящий и исходящий трафик с использованием списков IP и применять ограничения GeoIP, разрешая или блокируя трафик в/из конкретных стран. Вторая функциональность может быть очень полезной, если вы открываете порты на вашей WAN.
Блокирование рекламы и вредоносных сайтов через блокирование DNS
pfBlockerNG может блокировать рекламу и доступ к вредоносным сайтам с помощью фильтрации DNS. При просмотре веб-страниц, ваши DNS-запросы проверяются по блок-листу. Если найдется совпадение, запрос будет заблокирован. Это отличный способ блокировать рекламу без использования прокси-сервера.
Мы рассмотрим оба варианта использования и подробно расскажем о каждом из них.
Это руководство предполагает, что вы уже настроили pfSense с функциональными интерфейсами WAN и LAN.
Давайте начнем.
Первое, что нам нужно сделать, это установить pfBlockerNG.
Теперь, когда у нас установлен pfBlockerNG-devel, нам нужно настроить наш пакет. И мы начнем с фильтрации IP и GeoIP.
Мы будем настраивать раздел pfBlockerNG пошагово. Любые настройки, которые не будут упомянуты, следует оставить значениями по умолчанию.
Как я упомянул ранее, функция GeoIP в pfBlockerNG позволяет фильтровать трафик входящий и исходящий из целых стран или континентов. Для этого pfBlocker использует базу данных MaxMind GeoIP, которая требует лицензионный ключ. Ссылка в описании поля MaxMind License Key перенесет вас на страницу регистрации MaxMind. Лицензионный ключ MaxMind бесплатный.
Заполните регистрационную форму, чтобы получить ваш лицензионный ключ. Как только у вас будет ключ, вставьте его в поле MaxMind License Key.
И:
Этот раздел определяет, к какому входящему и исходящему интерфейсу(ам) применяется фильтрация IPv4, IPv6 и GeoIP pfBlockerNG.
Пришло время добавить некоторые блок-листы в pfBlockerNG. Хотя вы можете добавить свои собственные ленты, у pfBlockerNG есть встроенные ленты, которые мы можем активировать (термины «список» и «лента» в данном контексте взаимозаменяемы).
Это очень удобно, потому что поиск блок-листов в Интернете требует времени, и многие из них не работают или больше не поддерживаются. Ленты внутри pfBlocker — это актуальные списки, которые регулярно обновляются, поэтому мы будем использовать их.
Наименование набора лент заполняется вместе с его описанием. Также заполняются URL-адреса лент, включенных в набор, и их соответствующие описания. Однако наши ленты по умолчанию установлены в OFF. Мы должны включить их.
Но перед этим нам нужно удалить одну из лент из набора PRI1. Pulsedive, седьмая лента сверху, является премиум-списком, который требует платного API-ключа. Мы не будем получать API-ключ для этого урока. Щелкните кнопку Удалить.
Вы можете повторить те же шаги для IPv6, если ваш интернет-провайдер назначает вашему WAN и IPv4, и IPv6 IP-адрес. Большинство из нас все еще используют только IPv4.
Прежде чем настроить фильтрацию по GeoIP, нам нужно сначала принудительно обновить pfBlockerNG. pfBlocker автоматически обновляется через фиксированные интервалы. Но для настройки фильтрации по GeoIP, сначала pfBlocker должен загрузить базу данных MaxMind, и принудительное обновление именно это сделает.
Журнал GeoIP
Обзор GeoIP состоит из лент IP-адресов, организованных по континентам, а также двух дополнительных категорий: Топ Спамеров и Прокси и Спутниковые. Топ Спамеров — это список стран, известных как частые источники онлайн-атак. И Прокси и Спутниковые — это известные анонимные прокси и поставщики спутникового интернета.
Вы можете фильтровать трафик к/от всего континента, либо настроить ленту, выбрав только те страны, которые хотите отфильтровать.
Настройка пользовательских списков стран
Теперь здесь есть некоторые моменты, о которых следует подумать. Если вы хотите блокировать исходящие соединения к стране или континенту, дерзайте. Однако, если вы задумываетесь о блокировке входящих ссылок от правительства или континента, имейте в виду, что по умолчанию pfSense блокирует всек несанкционированный входящий трафик на WAN.
Это означает, что если у вас нет открытых портов на вашем WAN, блокирование стран или континентов бесполезно и будет только занимать память без толку. Если у вас есть открытые порты на WAN, убедитесь, что вы не блокируете подключения из стран, которые вы хотите разрешить подключаться к вашим открытым портам.
Псевдонимы — это списки IP-адресов, которые являются внутренними для pfSense. Используя псевдонимы, вы можете разрешить только те страны, которые вы выбрали, чтобы получить доступ к вашим открытым портам. Однако есть способ создать пользовательские псевдонимы из базы данных MaxMind GeoIP прямо внутри pfBlockerNG, которые можно использовать напрямую как источник в правилах брандмауэра для переадресации портов.
Поскольку pfSense автоматически блокирует любой трафик, который не разрешен явно в правилах брандмауэра, мы хотим создать псевдоним стран, которые мы будем разрешать через брандмауэр. pfSense по умолчанию будет блокировать все остальное.
Если у вас есть открытые порты, но вы хотите упростить, вы можете блокировать входящие соединения от Топ Спамеров и Прокси и Спутниковые без создания пользовательского псевдонима. Помните, что это полезно только если у вас есть открытые порты на WAN.
Если у вас нет открытых портов на WAN, заблокируйте только исходящий трафик или оставьте фильтрацию GeoIP отключенной.
Чтобы убедиться, что наш трафик фильтруется, мы можем попробовать подключиться к известному IP-адресу в блок-листе. Если я попытаюсь зайти на 1.13.9.177 (IP-адрес из моих лент pfBlockerNG IPv4) в браузере, IP-адрес не будет преобразован в доменное имя, и я не смогу подключиться. Это то, что нам нужно.
Перейдем к настройке DNSBL в pfBlocker.
Ладно. Мы настроили фильтрацию IPv4 и фильтрацию GeoIP, а также псевдонимы. Теперь пришло время перейти к использованию pfBlockerNG для блокировки рекламы. В pfBlockerNG блокировка рекламы осуществляется с помощью блокировки DNS. Это означает, что ваши запросы DNS проверяются на совпадение с известными рекламными сетями и трекерами и блокируются на уровне DNS при совпадении, что приводит к отсутствию рекламы в интернете. Ура!
Чтобы использовать функцию DNSBL в pfBlockerNG, вы должны использовать Резольвер DNS в pfSense для разрешения DNS. Это означает, что вы не можете назначить DNS вашим хостам через DHCP или использовать DNS-пересыльщик (dnsmasq), если вы хотите использовать функцию DNSBL.
По умолчанию pfSense использует DNS-резольвер на всех интерфейсах. Так что если вы не вносили никаких изменений в настройки DNS-резольвера, у вас все хорошо. Если вы вносили изменения, настройте Резольвер на привязку к вашей локальной сети (исходящий) и к входящему интерфейсу WAN. И выберите любые другие интерфейсы типа LAN (OPT интерфейсы) и WAN (множественные WAN, VPN-шлюзы), для которых вы хотите, чтобы DNSBL выполнял фильтрацию.
Теперь нам нужно добавить некоторые ленты DNSBL.
Теперь нам нужно принудительно обновить pfBlockerNG, как мы делали выше.
После завершения обновления, мы можем видеть, что наши ленты DNSBL были обновлены.
Для проверки работы фильтрации DNSBL мы попробуем подключиться к домену, который я добавил в DNSBL Custom_List: vungle.com. Если я попытаюсь получить доступ к vungle.com в браузере, будет отображена страница блокировки DNSBL с некоторой полезной информацией.
Примечание: DNSBL pfBlocker включает мини-веб-сервер, который может обслуживать эту страницу блокировки. Фильтрация IPv4, IPv6 и GeoIP расширяет существующую функциональность брандмауэра pfSense и блокирует или разрешает IP-адреса без отображения страницы блокировки.
Итак, вот и все! Вы успешно установили и настроили pfBlockerNG-devel в pfSense. Мы настроили фильтрацию IPv4, фильтрацию по GeoIP и фильтрацию DNSBL. Все три эти компонента делают вашу сеть более безопасной и приватной, не замедляя ваше соединение.
По мере роста вашей сети вам может понадобиться открывать определенные порты на вашем WAN, если вы хотите запустить VPN-сервер или хостить веб-сервер, доступный из интернета. Когда вы это делаете, pfBlockerNG будет полезным инструментом в вашем арсенале безопасности, помогая вам укрепить защиту вашей сети и детально контролировать доступ снаружи.
Связано: Как выбрать лучшие VPN