Hlavní navigace

Porovnání firewallů pfSense a OPNsense

Lukáš Malý

Dnes se podíváme na srovnání firewallu pfSense a jeho forku OPNsense. Povíme si podrobnosti o obou projektech, které se velmi podobají, jen se každý vydal trochu jinou cestou.

pfSense vs. OPNsense

Patrně jste již někde zaregistrovali existence forků pfSense, v úvodu seriálu jsem to zmiňoval. Je jím evropský projekt OPNSense. Mnoho lidí zná FreeBSD firewall – pfSense, ale on se objevil nedávno obdobný projekt. Proč vznikl? Kdo za ním stojí? V čem je jiný? To je pár otázek, na které se budu snažit v tomto díle odpovědět.

Proč vznikl fork?

Stávající vývojáři OPNsense se léta podíleli na projektu pfSense. V roce 2014 byli motivovaní touhou po nových změnách, které se jim nedařilo prosadit. Vedení vývoje pfSense bylo v té době patrně moc konzervativní, takže se skupina vývojářů rozhodla vytvořit svůj vlastní projekt, který bude lépe odrážet jejich potřeby.

Uváděné důvody, které vedly k forku, byly prý převážně technické, ale důležitou roli hrálo také zlepšení bezpečnosti a kvality kódu. Bezdůvodné odstranění části kódu z GitHub a v neposlední řadě neohlášená změněna licence projektu pfSense způsobila určité zklamání v komunitě. O vzniku forku a licencích jsem něco málo povídal i na letošním InstallFestu. OPNsense prý obsahuje již jen 10 % zdrojů z pfSense.

Podrobnosti o vzniku OPNsense jsou podrobně popsány v dokumentaci tohoto nového projektu.

V čem jsou projekty jiné?

Od doby vzniku forku se mnohé změnilo. Projekt pfSense nasadil nový framework a v loňském roce se projekt přelicencoval pod Apache 2.0 licenci. Hlavní viditelnou změnou je odlišné WebGUI.

Rozdílnosti v projektech
Vlastnost pfSense OPNsense
Licence BSD + ESF BSD 2-Clause nebo FreeBSD license
Source Code github.com/pfsense github.com/opnsense/
Grafické rozhraní Od 2.3 Bootstrap Bootstrap založen na Phalcom PHP Framework
Firewall Stavový firewall PF Stavový firewall PF
Průvodce instalace
Ano Ano
Konfigurovatelný dashboard Ano Ano
IPv4 a IPv6 podpora Ano Ano
Wireless Access Point Ano Ano
Nastavení filtrování / izolování Ano Ne
Interfaces (LAN] DMZ, OPT]) atd. Ano Ano
[PPPoE] Ano Ano
Traffic Shaping Ano Ano
Ovládání State Table Ano Ano
NAT Ano Ano
Redundance / vysoká dostupnost – CARP Ano Ano
Podpora Multi-WAN Ano Ano
Server Inbound Load Balancing Ano Ano (Virtual Server Setup)
Síťové diagnostické nástroje Ano Ano
[ping] Ano Ano
[traceroute] Ano Ano
[tcpdump] Ano Ano
[testy portů pomocí GUI] Ano (balíček nmap) Ano
VPN Ano Ano
[IPsec (including Phase 2 NAT)] Ano Ano
[OpenVPN] Ano Ano
[L2TP] Ano (L2TP/IPsec od 2.2) Ano (Nyní považováno za insecure)
[PPTP] Ne (odstraněno z 2.3) Ano (Nyní považováno za insecure)
RRD Grapf Ano Ne (System Health)
Real-time interface traffic graphs Ano Ano
Dynamic DNS Ano Ano
Captive Portal Ano Ano
DHCP Server a Relay (IPv4 a IPv6) Ano Ano
Command line shell access Ano Ano
Wake on LAN Ano Ano
tcpdump Ano Ano
Backup a obnova konfigurace Ano Ano
Edit souboru pomocí web GUI Ano Ano
Virtuální interface Ano Ano
[VLAN] Ano Ano
[LAGG/LACP] Ano/Ano Ano/Ne
[GIF] Ano Ano
[GRE] Ano Ano
[PPPoE/PPP WAN] Ano Ano
[QinQ  a Bridges] Ano Ano
Caching DNS Forwarder/Resolver Ano Ano
Běh ve virtualizaci Ano Ano
VMware tools Ano (balíček) Ano (balíček)
Xen guest utilities Ne Ano (balíček)
Web Proxy Squid Ano (balíček) Ano
IPS Suricata/Snort Ano/Ano (balíček) Ano/Ne
IDS Suricata/Snort Ano/Ano (balíček) Ano/Ne
Security Update Ano Ano
Plugins/Packages Ne/Ano Ano/Ano
Raid Software Ano Ano
ACME – Let's Encrypt Ano (balíček) Ano (Plugin)
Universal Plug and Play Service Ano Ano (Plugin)
SNMP Ano Ano (Plugin)
CA Ano Ano
Dvou faktorová authentizace (2FA) Ne Ano
 API Ne Ano
 Lokalizace – WebGUI Ne – od 2.4 Zanata cs 4,69 % :-( Ano

Tabulka prezentuje odlišnosti. Některé funkce jsou přímo v systému a některé jsou instalovatelné formou balíčků. V OPNSense je terminologie rozdělena ještě na Plugins a Packages. V pfSense se pracuje jen s balíčky.

Kdo stojí za projekty?

Projekt OPNsense financuje společnost Deciso B.V.  A za projektem pfSense stojí společnost Rubicon Communications, LLC (Netgate). Oba projekty poskytují svůj hardware s předinstalovaným systémem. Deciso Products Catalog a pfSense products.

Výhodou obou systémů je možnost instalace na libovolném hardware, který musí splňovat jen FreeBSD Hardware Notes. Instalovat firewally můžeme do virtuálních prostředí (VMware, Xen, KVM, atd.), podpora tools je přítomna formou doplňkových balíčků. Když je řeč o virtuálním prostředí, nelze nevzpomenout na třetí fork pfSense, a tím je VirtualPF.

Firewall v mracích

Projekt pfSense směřuje i do Cloud prostředí deployment je připravený pro Amazon AWS a Microsoft Azure. V budoucnu možná vznikne článek na toto téma.

Přepracované ovládání

V následující galerii jsem vybral pár pohledů, jak vypadá Dashboard, ARP Table a správa balíčků v jednotlivých projektech. pfSense má menu nahoře a OPNSense jej umístilo vlevo. Osobně se v pfSense vyznám, protože jej dlouhodobě používám. V OPNSense je menu předělané a některé položky jsou zanořené, což je pro mě matoucí – zvyk je železná košile. Výhodou je existence vyhledávacího pole vpravo nahoře, kde stačí uvést hledaný text menu a hned jste tam, kde potřebujete. Toto vyhledávání pfSense nemá.

Vybrané obrazovky obou projektů najdete v galerii:

Drobné hodnocení

V mnoha ohledech jsou projekty pfSense a OPNSense velmi obdobné. Každý projekt od rozchodu ušel velký kus cesty a mnohé se změnilo. Ale v zásadě existuje velmi obdobný postup jak pro instalaci, tak i konfiguraci celého firewallu.

U OPNsense se mi zdá, že je vývoj rychlejší a dostávají se do něj nové funkcionality dynamičtěji. Oba projekty mají propracovanou a velmi podrobnou dokumentaci. OPNSense je otevřenější např. v popisu architektury. Co se bezpečnosti týče, reagují oba projekty poměrně rychle na bezpečnostní hrozby – viz nedávné čtyři chyby v OpenVPN nalezené v průběhu auditu.

Komerční podpora

Jak jsem již zmínil, oba projekty poskytují svůj hardware. S tím je spojeno i poskytování placené podpory. Placenou podporu u pfSense zajišťuje Netgate. Je možné si pořídit subscripci do instalace na vašem hardware.

Příště budeme monitorovat

V dalším díle seriálu o pfSense si povíme podrobně o tom jak pfSense monitorovat z pohledu provozního i bezpečnostního.

Našli jste v článku chybu?