Блокирайте реклами и зловреден софтуер на pfSense с pfBlockerNG
Ако търсите мощно решение за защитна стена/рутер, което набляга на сигурността, pfSense CE трябва да е в горната част на вашия списък. Изграден върху FreeBSD, pfSense CE предоставя набор от инструменти, които да ви помогнат да конфигурирате защитена мрежа, съобразена с вашите спецификации. Дори и без никакво персонализиране, pfSense пак ще бъде по-сигурен от всеки закупен от магазина рутер.
Преди да продължите, ще забележите, че използвам името pfSense CE. CE означава Community Edition. Всъщност има две версии на pfSense: pfSense CE и pfSense Plus. pfSense CE е изцяло с отворен код, докато pfSense Plus добавя някои допълнителни функции със собствен код. И двете версии са безплатни за отделни потребители. Това ръководство използва pfSense CE.
Един изключително популярен пакет с добавки за pfSense CE/Plus е pfBlockerNG. Пакетът допълнително подобрява функционалността на вашата защитна стена, като ви дава възможност да филтрирате входящи и изходящи връзки с помощта на списъци за блокиране на IP и DNS.
Двете основни функции на pfBlockerNG са:
IP базирано филтриране на входящ и изходящ трафик
pfBlockerNG ви позволява да филтрирате както входящия, така и изходящия трафик с помощта на IP списъци. Може също така да приложи GeoIP ограничения, за да разреши или забрани трафик към и от определени страни. Това може да бъде особено полезно, ако отворите портове на вашата WAN.
Блокиране на реклами и злонамерени сайтове на базата на DNS
pfBlockerNG може да блокира реклами и да предотврати достъпа до злонамерени сайтове без нужда от прокси сървър. Той постига това чрез блокиране, базирано на DNS, понякога наричано DNS-blackholing. Използвайки pfBlockerNG, вашите DNS заявки се препращат към списък с блокирани домейни, докато се движите в интернет. Ако има съвпадение, заявката се отхвърля. Ако не, минава безпрепятствено.
Ще разгледаме и конфигурираме и двете функции, като ще предоставим повече подробности за всяка от тях, докато вървим.
Това ръководство предполага, че имате работеща конфигурация на pfSense с настройка на WAN и LAN интерфейс.
Да започваме.
Инсталиране на pfBlockerNG-devel
Първото нещо, което трябва да направите, е да инсталирате pfBlockerNG.
- Изберете Система > Диспечер на пакети от горните менюта. Това показва I инсталирани пакети раздел на Мениджър на пакети .
- Отидете на Налични пакети раздел. Това показва списъка с налични пакети.
- Превъртете надолу страницата, за да намерите pfBlockerNG . Ще забележите, че има два записа за pfBlockerNG: pfBlockerNG и pfBlockerNG-devel . Изберете pfBlockerNG-devel . Въпреки че суфиксът „devel“ (което означава версия за разработка) го прави да изглежда като бета пакет, това не е така. Версията „devel“ е напълно функционална и е в процес на активно разработване. Разработчикът зад пакета просто предпочита да го счита за бета софтуер, защото непрекъснато добавя нова функционалност за актуализиране на пакета.
- Щракнете върху Инсталирай бутон вдясно от pfBlockerNG-devel . Това води до Инсталатор на пакети прозорец.
- Кликнете Потвърдете за да започнете инсталацията.
- След завършване, Успех трябва да се покаже в долната част на Инсталатор на пакети прозорец. Вие инсталирахте успешно pfBlockerNG-devel .
Основна конфигурация
pfBlockerNG-devel вече е инсталиран. За да започнем да конфигурираме пакета, ще го настроим IP и GeoIP филтриране .
Ще конфигурираме pfBlockerNG секция по секция. Настройките, които не споменаваме, трябва да останат недокоснати и да бъдат оставени на стойностите им по подразбиране.
- Изберете Защитна стена > pfBlockerNG от горните менюта. Това води до съветник за конфигуриране на pfBlocker .
- Съветникът ни дава две опции: 1) стартиране на съветника за конфигуриране или 2) ръчно конфигуриране на pfBlockerNG. Това ръководство ви показва как да конфигурирате pfBlockerNG ръчно. Кликнете върху червеното ТУК за да излезете от съветника. Това ни отвежда до Общ страница с настройките на pfBlockerNG.
Общи / Общи настройки
- Отбележете Активирайте кутия до pfBlockerNG . Това, не е изненадващо, позволява услугата.
- Кликнете Запазване (в долната част на страницата).
- Оставете всички други настройки на тази страница недокоснати.
IPv4 филтриране
IP / IP конфигурация
- Щракнете върху IP раздел за показване на IP страница с настройки.
- Отбележете Дедупликация кутия. Това отхвърля дублиращи се записи, които могат да се появят при използване на множество IP канали.
- Отбележете CIDR агрегиране кутия.
- Отбележете Потискане кутия. Потискане гарантира, че трафикът към вашите локални подмрежи не е блокиран.
IP / MaxMind GeoIP конфигурация
на pfBlockerNG GeoIP функция ви позволява да филтрирате трафика към и от цели държави – или дори континенти. Той използва базата данни MaxMind GeoIP, която изисква (безплатен) лицензен ключ. Връзка в потребителския интерфейс на pfSense (в MaxMind Разрешително Ключ поле описание) връзки към страницата за регистрация на MaxMind. Попълнете регистрационния формуляр, за да получите своя безплатен лицензен ключ. След като получите вашия лицензен ключ, копирайте го и го поставете в Лицензионен ключ на MaxMind поле.
IP / Конфигурация на IP интерфейс/правила
В този раздел изберете входящите и изходящите интерфейси, върху които pfBlockerNG трябва да прилага IPv4, IPv6 и GeoIP филтриране.
- От Правила за входяща защитна стена поле, изберете ОТ (и всички други интерфейси от WAN тип, които имате и искате да филтрирате).
- От Изходящи правила за защитна стена поле, изберете И (и всички други интерфейси от тип LAN, които имате и искате да филтрирате).
- Отбележете Активирайте кутия до Плаващи правила . Плаващите правила се различават от правилата на защитната стена, които конфигурирате за всеки интерфейс; те се обработват и прилагат преди „обикновените“ правила на защитната стена. Използването на плаващи правила гарантира, че филтрирането на pfBlockerNG се задейства веднага щом защитната стена види нарушаващия трафик. Като поставите отметка в това поле, pfBlockerNG автоматично създава плаващите правила за вас.
- Кликнете Запазете IP настройките в долната част на страницата.
емисии
Сега ще добавим някои списъци за блокиране към pfBlockerNG. pfBlockerNG е в комплект с някои вградени емисии, които можем да използваме (емисии и списъци означават едно и също нещо в pfBlockerNG). Въпреки че сте свободни да използвате свои персонализирани списъци, наличието на „предварително зададени“ е наистина удобно, тъй като търсенето на списъци за блокиране в интернет отнема много време и много от тези, които ще намерите, или няма да работят, или вече няма да се поддържат . pfBlockerNG редовно актуализира своите пакетни емисии, така че продължете и ги използвайте.
- Кликнете върху емисии раздел.
- Кликнете върху синьото + отляво на PRI1 на върха. PRI1 е група от емисии (множество списъци). Щракване върху синьото + ви отвежда до IP / IPv4 страница, която показва избраните от вас канали. Повечето от съответните полета се попълват автоматично.
IP / IPv4
В горната част на страницата pfBlockerNG показва името на колекцията от емисии и нейното описание. По-долу са включените URL адреси на емисии и техните описания вдясно. Всички наши емисии са настроени на ИЗКЛ по подразбиране. Ние ще ги активираме.
Преди това ще изтрием една от емисиите от PRI1 група. 7-то подаване отгоре, Импулсно гмуркане , изисква платен API ключ. Това ръководство не изисква закупуване на API ключ, така че щракнете върху оранжевото Изтрий бутон до Импулсно гмуркане списък.
- Когато Pulsedive е изтрит, задайте оставащите емисии на НА .
- Отидете на Настройки раздел на страницата под списъка с емисии.
- Първото поле е Действие падащо меню. Изберете Отречете и двете . Това ще блокира IP адресите в горните списъци двупосочно (към и от IP адресите, съдържащи се в каналите). Можете да откажете входящи, изходящи връзки или и двете. Имайте предвид, че ако откажете само входящ трафик, когато хост във вашата мрежа установи изходяща връзка към един от IP адресите в горните списъци, pfBlocker ще позволи входящия отговор от този IP адрес. В нашия пример ще избера Отречете и двете .
- Кликнете Запазете IPv4 настройките (долната част на страницата).
Ако вашият интернет доставчик присвои както IPv4, така и IPv6 IP адрес на вашата WAN, можете да приложите същите стъпки за конфигуриране за IPv6 на IPv6 раздел. В момента по-голямата част от потребителите все още са в мрежи само за IPv4.
GeoIP филтриране
Ще наложим актуализация на pfBlockerNG, преди да конфигурираме GeoIP филтриране. Веднъж конфигуриран, pfBlocker автоматично ще се актуализира на зададени интервали. Но тъй като GeoIP филтрирането разчита на базата данни MaxMind, pfBlocker трябва да изтегли базата данни, преди да я настрои.
- От pfBlockerNG настройки , изберете Актуализация раздел.
- Щракнете върху Бутон за бягане за да започнете актуализацията.
- Трябва да видиш ПРОЦЕСЪТ НА АКТУАЛИЗИРАНЕ ПРИКЛЮЧИ в долната част на Дневник прозорец, след като актуализацията приключи.
- Прозорецът на регистрационния файл показва, че и двете ми IPv4 храни и GeoIP базата данни са актуализирани.
IPv4 регистрационни файлове
GeoIP регистрационни файлове
- Изберете GeoIP подменю до IPv6 от IP раздел в настройките на pfBlockerNG. Това показва GeoIP Резюме .
The Резюме на GeoIP групи емисии на GeoIP адреси, подредени по континент. Има и две допълнителни категории: Топ спамъри и Прокси и сателит . The Топ спамъри списъкът съдържа блокове на IP адреси от държави, където често се извършват онлайн атаки. The Прокси и сателит списъкът съдържа блокове от IP адреси от държави, за които е известно, че са анонимни прокси и сателитни доставчици.
pfBlockerNG ви позволява да филтрирате трафика към/от цял континент или да настроите фино филтрирането, като изберете само определени държави.
Персонализиране на списъци с държави
- За да редактирате емисия, щракнете върху икона на молив от дясната му страна.
- Изберете държавите, които искате да включите във вашия списък (и pfBlocker ще филтрира).
- Кликнете Запазване .
Конфигуриране на блокове за държави
- Изберете GeoIP меню в настройки на pfBlocker .
- Както и при IPv4 списъци, изберете едно от двете Блокиране на входящи , Блокиране на изходящи , или Блокирайте и двамата от Действие падащо меню вдясно от описанието на всеки списък.
Имайте предвид няколко неща, когато става въпрос за блокиране на изходящи или входящи връзки към държави или континенти. Ако искате да блокирате само изходящи връзки, направете го. Но ако обмисляте да блокирате входящи връзки, имайте предвид това pfSense е конфигуриран да блокира целия непоискан входящ трафик на WAN от кутията . Така че, освен ако нямате отворени портове на вашата WAN, блокирането на държави или континенти няма да направи нищо, освен да заеме памет. И ако имате отворени портове на вашата WAN, внимавайте да не блокирате връзки от държави, на които трябва да бъде разрешено да се свързват с отворения(ите) порт(ове) на вашата WAN.
За да улесни горното, pfBlockerNG ви позволява да създавате персонализирани псевдоними от базата данни на MaxMind GeoIP. Псевдонимите са списъци с IP адреси, вградени в pfSense, и можете да ги използвате, за да създавате правила за защитна стена за препращане на портове, които позволяват само на определени държави да имат достъп до вашите отворени портове. „Останалата част от света“ ще бъде блокирана от pfSense, без да е необходима намеса от ваша страна.
Създаване на GeoIP псевдоним в pfBlockerNG
pfSense блокира трафик, който не е изрично разрешен в правилата на защитната стена по подразбиране, така че създайте псевдоним, съдържащ държавите, за позволява през защитната стена.
- От IPv4 подменю, щракнете върху зеления Добавете бутон.
- Въведете име и описание за вашия псевдоним.
- Изберете GeoIP от формат кутия.
- Нагласи състояние поле към НА .
- Изберете държавите, които искате да добавите към псевдонима, като напишете първите букви на държавата, която искате да добавите към псевдонима. Това показва държавите, съответстващи на въведените от вас букви.
- Можете да добавите още държави към вашия псевдоним, като щракнете върху зеленото Добавете бутон.
- От Действие кутия, изберете Псевдоним Native за създаване на естествен псевдоним на pfBlocker.
- Изберете Веднъж на ден в на Честота на актуализиране кутия.
- Кликнете Запазете IPv4 настройките (долната част на страницата). Вашият псевдоним ще бъде достъпен за използване в правилата на защитната стена след принудително обновяване на pfBlockerNG.
Ако имате отворени портове и просто искате бързо и мръсно решение, можете да блокирате входящи връзки от Топ спамъри и Прокси и сателит без да се налага да създавате персонализиран псевдоним. Отново, блокирането на входящи връзки е само полезно ако вашата WAN има отворени портове .
Ако вашата WAN няма отворени портове, тогава или блокирайте само изходящия трафик, или деактивирайте GeoIP филтрирането.
Тестване на IPv4 филтриране
Преди да продължим, нека се уверим, че pfBlocker е правилно конфигуриран и филтрира нашия трафик. За тази цел ще се опитам да се свържа с IP адрес, включен в моите IPv4 канали: 1.13.9.177.
Виждаме, че IP адресът не е преведен в име на домейн и връзката е блокирана. Отлично.
Сега нека да преминем към pfBlocker DNSBL .
DNSBL
Конфигурирахме IPv4 филтриране и GeoIP филтриране и псевдоними. Сега е време да преминете към използването на pfBlockerNG за блокиране на реклами. Блокирането на реклами в pfBlockerNG се постига чрез DNS blackholing. Това препраща вашите DNS заявки към списък с известни рекламни мрежи и тракери и ги блокира на ниво DNS, когато има съвпадение, което води до интернет без реклами.
За да използвате DNSBL на pfBlockerNG, е необходимо да използвате DNS преобразувател (Необвързан) като резолвер. Компромисът е, че не можете да присвоите DNS сървъри на клиенти чрез DHCP или да използвате вградения DNS Forwarder на pfSense (dnsmasq).
В конфигурацията си по подразбиране pfSense е настроен да използва DNS Resolver на всички интерфейси. Ако приемем, че не сте направили никакви промени в настройките на DNS Resolver, можете да тръгнете. Ако все пак сте коригирали настройките, важно е да се уверите, че Resolver е конфигуриран да се свързва най-малко с вашата LAN (изходящ интерфейс) и WAN (входящ интерфейс). Ако сте в мулти-WAN или мулти-LAN (OPT интерфейси), можете да изберете и тях, ако искате да филтрирате трафика им с помощта на DNSBL на pfBlockerNG.
Конфигуриране на DNSBL
Ето как да конфигурирате DNSBL:
- Отидете на DNSBL раздел.
- Отбележете Активирайте DNSBL кутия.
- От DNSBL режим падащо меню, изберете Необвързан режим на Python .
- Намери DNSBL конфигурация раздел по-долу на страницата.
- Отбележете Активирайте кутия, до Правила за разрешаване на защитната стена и изберете интерфейсите от LAN тип, които искате DNSBL да филтрира. Това автоматично създава плаващи правила за защитна стена, като гарантира, че филтрирането на DNSBL ще се извърши веднага щом защитната стена види трафика.
- Кликнете Запазете DNSBL настройките .
Сега ще добавим някои DNSBL канали.
Добавяне на DNSBL канали
- Отидете на емисии раздел.
- По-надолу на страницата трябва да видите DNSBL категория наляво. Първият запис е EasyList .
- Кликнете върху синьото + знак до i . Това показва DNSBL групи страница, която изброява вашите емисии, като повечето от съответните полета се попълват автоматично.
- Искаме само две емисии тук: EasyList и EasyList поверителност , така че изтрийте останалите.
- Нагласи EasyList и EasyList поверителност захранва към НА .
- Слезте до Настройки раздел.
- От Действие падащо меню, изберете Без обвързване .
- Щракнете върху + знак до DNSBL Custom_List да повдигнем DNSBL Custom_List .
- В DNSBL Custom_List прозорец, влез vungle.com . Този домейн ще служи като наш тестов домейн, за да се уверим, че DNSBL на pfBlockerNG работи правилно.
- Кликнете Запазете настройките на DNSBL .
Принудително актуализиране на pfBlockerNG
За да приложим нашите настройки, трябва да наложим актуализация на pfBlockerNG.
- Отидете в раздела Актуализация. Това ви отвежда до страницата за актуализиране на pfBlockerNG.
- Щракнете върху Бягай бутон за стартиране на актуализацията.
След успешна актуализация, нашите канали са изтеглени и активирани, а тестовият ни домейн е включен в списъка с домейни в нарушение.
Тестване на DNSBL на pfBlockerNG
За да гарантираме, че DNSBL филтрирането работи, ще се опитаме да се свържем с домейна, към който добавих DNSBL Custom_List : vungle.com. Ако се опитам да осъществя достъп до vungle.com в моя браузър, страницата за блокиране на DNSBL се показва с малко полезна информация.
За да потвърдим, че DNSBL работи правилно, ще се опитаме да установим връзка с персонализирания домейн, към който добавих DNSBL Custom_List в предишната стъпка, която е vungle.com .
И можем да видим, че е блокиран.
DNSBL на pfBlocker е изграден с мини уеб сървър, който показва горната страница за блокирани домейни. Това се отнася само за DNSBL филтриране. Филтрирането на IPv4, IPv6 и GeoIP не показва страница за блокиране.
Обобщение
Ако сте стигнали дотук, значи сте инсталирали и настроили pfBlockerNG-devel на pfSense. С тази конфигурация имате IPv4 филтриране, GeoIP филтриране и DNSBL филтриране и подобрена сигурност и поверителност за вашата мрежа, без да компрометирате скоростта на вашата връзка.
С течение на времето е вероятно вашата мрежа да нарасне както по размер, така и по сложност и може да искате да отворите конкретни портове на вашата WAN за неща като стартиране на сървър за виртуална частна мрежа (VPN) или хостване на уеб сървър, който може да бъде достъпен от интернет. В такива случаи pfBlockerNG ще бъде ценен актив във вашия арсенал за сигурност, като ви помага да защитите вашата мрежа и да настроите фино външния достъп.