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.
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.