Firewall pfSense: instalace a správa

Lukáš Malý 21. 6. 2016

Dnes si povíme, jak se pfSense instaluje na jednotlivé platformy. Ujasníme si možnosti práce se sériovou konzolí, ukážeme si základní diagnostické nástroje a základní nástroje správy.

Volba Hardware

Jak již bylo řečeno v předchozím díle, pfSense se dá instalovat na velmi široké spektrum hardware, vždy je nutné si zkontrolovat, zda např. námi zvolená Mini-ATX základní deska s vestavěnou síťovou kartou je ve FreeBSD podporována potřebným ovladačem. Pro potřeby routeru s NAT funkcí budeme potřebovat síťové karty dvě.

Pokud máme dost peněz a chceme získat i podporu k danému produktu, můžeme kontaktovat některého z evropských partnerů pfSense, případně patrona projektu společnost Netgate, u kterého se dá pořídit široká škála produktů dle požadovaného výkonu.

Seznam instalačních souborů
PC platforma USB VGA,ISO pfSense-CE-memstick-2.3.1-RELEASE-amd64.img.gz
Embedded APU USB Serial pfSense-CE-memstick-serial-2.3.1-RELEASE-amd64.img.gz
Embedded ALIX img pro CF pfSense-CE-2.3.1-RELEASE-4g-amd64-nanobsd.img.gz
Virtualizace ISO pfSense-CE-2.3.1-RELEASE-amd64.iso.gz

Instalace pfSense do VMware

Pro demonstraci instalace jsem zvolil virtuální prostředí. Obdobné postupy platí pro instalace na běžný hardware.

Ze stránky projektu si stáhneme instalační obraz, který nahrajeme např. do úložiště ESXi pfSense-CE-2.3.1-RELEASE-amd64.iso. Vytvoříme si virtuální počítač, jako FreeBSD(64bit) s např. 2GB RAM a 8GB HDD. Virtuálce přidělíme dvě síťové karty. U CD nastavíme ISO pro boot.

pfSense: Downlaod install ISO

Downlaod install ISO

Instalátor je velmi jednoduchý a je funkční jak pod VGA, tak pomocí sériové konzole, v případě instalace z USB např. Na PC Engines APU desku.

pfSense: Install I

Pro Install stiskneme (I)

pfSesne: Quick/Easy Install

Quick/Easy Install

Při volbě instalace kernelu je nutné vybrat ten správný, dle použitého hardware. U desek, které nemají VGA je nutné volit Embedded kernel.

pfSesne: Install Kernel

Install Kernel

pfSense: reboot after install

Reboot po instalaci

Po instalaci je nutné přidělit jednotlivé síťové karty, např. WAN a LAN.

pfSense: Přiřazení interface

Přiřazení interface

Po dokončení instalace a rebootu se nám na konzoli objeví menu s volbami správy systému. Konzole je dostupná pomocí VGA nebo sériové konzole. Dále máme možnost se pomocí SSH vzdáleně přihlásit pod uživatelem admin. Tato funkcionalita se musí povolit, např. volba 14) v konzolovém menu. Je vhodné použít SSH klíče. Dále je nutné vytvořit patřičné firewallové pravidlo pro povolení portu 22, např. z vyjmenovaných IPv4 adres nebo celé sítě.

pfSense: Konzolové menu - disable pf

Konzolové menu – disable pf

V případě, že se do webového rozhraní chceme dostat z WAN je nutné dočasně vypnout firewall. To provedeme pomocí příkazové řádky a příkazu pfctl -d. Běžně ovšem postačuje se přihlásit k LAN interface, který poskytuje DHCPv4, případně DHCPv6.

cmd

cmd

Příkazová řádka nám umožní použit spoustu UNIXových příkazů. Jako např. ifconfig, tcpdump, netstat, sysctl, pfctl, ping, traceroute atd. Máme možnost si vypsat PF tabulky atd. Podrobněji probereme v kapitole o firewallu.

pfctl -sT # výpis všech tabulek (aliasů)
pfctl -t ip_MYTABLE -T show # výpis obsahu tabulky
pfctl -t ip_MYTABLE -T add 213.168.187.15 # přidání IP do tabulky

Po prvním přihlášení do web rozhraní nás provede wizard, kterým můžeme nastavit základní volby, jako IPv4 pro LAN, časovou zónu a NTP server. Je zakončen nastavením hesla uživatele admin. Poté je proveden reload WebGUI. (Je nutné myslet nad případnou změnou IPv4 u LAN a na klientském počítači si nastavit IP ve stejné síti. Nebo si znovu vyžádat IP od DHCP.)

pfSense: Login

Login do pfSense WebGUI

pfSense: Poinstalační nastavení

Poinstalační nastavení – informace o pfSense Gold subscription

Instalace pfSense na Compact Flash

Instalace na CF spočívá pouze v zapsání obrazu na CF. Po vložení karty do slotu CF např. na desce PC Engines ALIX nastartuje systém, který připojíme pomocí sériové konzole a nastavíme interface. Pak už je vše stejné jako u plné instalace.

zcat pfSense-CE-2.3.1-RELEASE-4g-amd64-nanobsd.img.gz | dd of=/dev/sdX bs=16k
244615+1 vstoupivších záznamů
244615+1 vystoupivších záznamů
4 007 775 744 bajtů (4,0 GB) zkopírováno, 857,294 s, 4,7 MB/s

Pro připojení k sériové konzoli potřebujeme kabel USB s redukcí na serial. A ve Windows Putty v Linuxu třeba screen (screen /dev/ttyUSB0 115200).

Jun 26 19:46:12 cml kernel: [ 1614.246115] pl2303 3-2.3:1.0: pl2303 converter detected
Jun 26 19:46:12 cml kernel: [ 1614.246307] usb 3-2.3: pl2303 converter now attached to ttyUSB0
Jun 26 19:46:12 cml kernel: [ 1614.246436] usbcore: registered new interface driver pl2303

Upgrade na aktuální verzi

Po opětovném přihlášení můžeme začít s konfigurací a správou pfSense. Po instalaci verze 2.3.1 se nám na dashboardu objeví informace o tom, že existuje Update 1. V minulosti se povyšovaly jednotlivé RELEASE, ale nově byly od verze 2.3 zavedeny updaty, které reagují na bezpečnostní chyby a opravují např. FreeBSD opravy. Stejně jako FreeBSD má zpravodaj zabezpečení. Projekt pfSense zavedl obdobnou informativní stránku rozšířenou o opravy pfSense modulů a balíčků.

pfSense: Upgrade na 2.3.1 Update1

Upgrade na 2.3.1 Update1

System Update

System Update

System Update Success

System Update Success

Instalace dvou balíčků

Po aplikaci pfSense 2.3.1 Update 1 se pustíme do instalace prvních balíčků. V menu System / Package Manager / Available Packages. Protože jsme pfSense instalovali do VMware, je vhodné nainstalovat balíček Open-VM-Tools.

Install Open-VM-Tools

Install Open-VM-Tools

Install Open-VM-Tools success

Install Open-VM-Tools success

Pokud se v hlavním menu Diagnostic / ARP Table podíváme na jednotlivé záznamy, uvidíme jen MAC adresy a hostname. Pro snazší identifikaci zařízení je velmi vhodné nainstalovat balíček nmap, který nám výpis v tabulce obohatí o informace o výrobci. Tyto informace jsou odvozeny z MAC adresy zařízení pomocí OUI databáze. Takto velmi snadno identifikujeme např. výrobce Android telefonu připojeného do sítě, viz obrázek. Databáze prefixů je k nahlédnutí zde v podobě out.txt (3,3 MB)

ARP Table

ARP Table

Po instalaci můžeme pomocí konzole ověřit přítomnost balíčků přímo na příkazové řádce. Dále můžeme zjišťovat podrobnosti o balíčcích pomocí příkazu  pkg.

pkg info

pkg info – výpis instalovných balíčků

Podporované balíčky

U balíčků je nutné doplnit informaci o podpoře. Na tomto seznamu jsou uvedeny balíčky, ke kterým pfSense zajišťuje podporu. Ostatní jsou dílem komunity a ne vždy mohou fungovat spolehlivě. A hlavně pokud takový balíček použijeme, nemůžeme k němu čekat podporu.

Diagnostika routeru

V menu Diagnostics je mnoho funkcionalit. Dnes se zmíním o Stavech. Jak již bylo řečeno v prvním díle pfSense používá jako firewall Packet Filter, což je stavový firewall. V menu Diagnostic / State a Diagnostic / State Summary vidíme všechny firewallem uchovávané stavy spojení. Pokud nás zajímá, které zařízení komunikuje např. do internetu, můžeme si jej zde odfiltrovat. Máme též možnost stavy resetovat. Tato volba je vhodná, když ladíme nějaké firewallové pravidlo.

Vzdálené logování pomocí syslogu

pfSense umožňuje nastavit remote loging pomocí syslogu Status / System Logs / Settings. To je vhodné hlavně z toho důvodu, že firewall nemá moc možností uchovávat objemné logy. Proto je vhodné logy nasměrovat na vzdálený syslog server, kam se ukládají např. blokované pakety a jiné údaje.

Vzdáleny syslog

Nastavení vzdáleného syslog serveru

pfSense loguje zahozené pakety pomocí device pflog0. Od verze 2.2 umí pfSense raw logy formátovat do filterlog. Což je rozumě parsovatelný jednořádkový záznam.

widgety

Syslog záznamy z routerů si posílám do ELISA Logmanagement, což je produkt, na jehož vývoji se podílím. Pomocí Kibana mohu velmi snadno vidět na mapě světa, odkud se kdo pokouší komunikovat s veřejnými IPv4 adresami hnedle několika routerů. Stačilo jen nadefinovat parsovací pravidla a vytvořit přehledný dashboard.

filterlog - World Map

filterlog – World Map

World Map - filterlog

World Map – filterlog

Závěr

V dalším díle seriálu o pfSense si povíme podrobněji o bezpečnosti a síťování, jak v routeru používat např. xDSL konektivitu. Ukážeme si, jak vytvořit aliasy obsahující všechny IP rozsahy ČR atd.

Našli jste v článku chybu?
Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

DigiZone.cz: Sony MP-CL1A: miniaturní projektor

Sony MP-CL1A: miniaturní projektor

Podnikatel.cz: Poslanci chtějí sebrat majetek Bakalovi

Poslanci chtějí sebrat majetek Bakalovi

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

Podnikatel.cz: Znáte už 5 novinek k #EET

Znáte už 5 novinek k #EET

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Vitalia.cz: Fyzioterapeutka: Chůze naboso? Rozhodně ano!

Fyzioterapeutka: Chůze naboso? Rozhodně ano!

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Vitalia.cz: 5 chyb, které děláme při skladování potravin

5 chyb, které děláme při skladování potravin

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

DigiZone.cz: Rapl: seriál, který vás smíří s ČT

Rapl: seriál, který vás smíří s ČT

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští