pfSense®与OPNsense®:技术比较
介绍
这篇文章简单介绍了pfSense和OPNsense的历史和不同点,方便不同的用户进行选择。
历史
OPNsense®是一款基于FreeBSD 10的年轻防火墙操作系统,它开始作为pfSense®的一个分支,它是从m0n0wall®出来的一个分支。
他创立于2015年1月,2015年1月2日,它的官方网站上发布了第一个版本:15.1。
注意,OPNsense®版本分别代表年份(例15)和月份(例如1)。因此,版本15.1表示2015年1月,每年有两个主要版本:1月和7月。
基于FreeBSD的pfSense®也是m0n0wall®的一个分支,在2004年9月由Chris Buechler和Scott Ullrich负责,用以克服该优秀嵌入式系统的一些局限性。
m0n0wall®是一个嵌入式防火墙; 他的功能很强大,但可扩展性受到限制,因为操作系统完全在RAM中执行。
pfSense®这个名字的由来,可以看看这篇博文。
m0n0wall®项目于2015年2月15日永久终止 。其创始人Manuel Kasper鼓励所有用户使用OPNsense®。
为什么要分支
OPNsense®开发商已经参加了多年的pfSense®项目,但是,在2014年,因为想做出一些与从不同的事情,他们决定创建自己的项目,以更好地反映他们自己的需求。
导致分支的原因主要是技术性的,主要是安全性和代码质量。在最后(但并非最不重要),这一分歧是由于pfSense®完成了许可证的修改,导致了社区白领们的失望。
如果您希望了解分支原因的更多详细信息,请参阅以下链接:
https://docs.opnsense.org/fork/thefork.html#so-why-did-we-fork
https://m.reddit.com/r/PFSENSE/comments/3rh9dw/pfsense_vs_opnsense/
[OpnSense®:许可证]
它是在一个名为BSD 2-Clause“Simplified”或“FreeBSD”许可的 OSI认可的开放源代码许可下发布的(Open soruce Initiative - Approved); 即由致力于推广自由软件的组织批准。
[PfSense®:许可证]
我们来谈谈这个讨论得很多的许可证。
PfSense® 在2014年使用ESF许可证更改了她的许可证,该许可证是四项许可证(原始“ BSD许可证 ”)。您可以在较旧的软件版本的COPYRIGHT文件中找到此许可证信息。
最近它又被替换了,现在也在OSI 许可的Apache License 2.0下发布 。
所有希望为pfSense®项目贡献力量的人都必须订阅并以电子方式签署ICLA(个人贡献者许可协议)。
如果您希望获得更多相关信息,我们建议您查看以下链接:
https://doc.pfsense.org/index.php/Contributor_License_Agreement_for_Developers
https://www.pfsense.org/about-pfsense/index.html#legal
在一个有趣的维基百科网页下面发布一些关于许多开源和免费许可证的比较表: 比较许多开源和免费许可证的表格。
技术差异
OPNsense® 宣布 (在他们的网站上)几乎所有的代码都被重写了,只保留了10%的一小部分仍然与他的哥哥共享,并解决了许多pfSense®的内核问题。
[OpnSense®:Phalcom]
新的图形用户界面是用Phalcon PHP框架编写的,据我们所知,它是市场上速度最快的开源框架。
用户选择尝试这个系统,然后可以使用这个新的设计,结合了一个高效的搜索系统(真正有用的功能),以及一个称为“系统健康”的有趣模块。
该模块是交互式的,可以让您在任何分析过程中获得图形反馈。有助于更快、更简单地查找问题或只是查看图表。
进入系统健康状态后,可以隐藏视图中的一些条目,并使用图形光标/焦点(图形下方的右下角)对相关时间范围进行缩放。
最后,我们可以以CSV格式从表格中导出数据(显示在激活Show Table On的图表下方)。这里有一些截图显示了这个有趣的形式。
[PfSense®:Bootstrap]
PfSense®从2.3版开始,将所有内容都转换为 Bootstrap,引入了新的外观。
页面和菜单的布局故意保持不变; 可能不会迫使已经熟悉“旧”GUI的众多用户花时间在新格式中。
在这里您可以找到在开发的最后阶段发布的图库。
[OpnSense®:联机IPS]
从16.7版(2016年7月28日起),预计IPS系统也会发生变化,称为Inline Intrusion Prevention; 不限于阻止IP或端口,而是检查数据包,以及何时检测到某种类型的流量(或连接),数据包/连接在到达发送方之前即刻被丢弃/停止。
基于Suricata使用Netmap来提高性能并降低CPU利用率。
系统使用规则集,黑名单和指纹打印。
欲了解更多信息,请访问以下链接:https : //docs.opnsense.org/manual/ips.html?highlight=inline%20intrusion
[PfSense®:IPS]
感谢有了Snort插件,您可以在pfSense®上执行这种操作。
Snort是一个开源(最近由思科购买)工具防止网络***。它能够实时在IP网络上执行流量分析,执行协议分析,内容搜索/匹配,并可用于检测各种×××和探测,如缓冲区溢出,隐形端口扫描,CGI×××,SMB探测,操作系统指纹尝试等等。
https://www.snort.org/faq/what-is-snort
Snort和Suricata功能的详细比较,可以参阅 http://wiki.aanval.com/wiki/Snort_vs_Suricata
[OpnSense®:更新]
每周都会发布安全更新以适应新的威胁。
[PfSense®:更新]
pfSense®会经常发布更新,但频率没有OPNsense高。从2.3开始,已经将底层系统转换为FreeBSD®pkg,从而允许单独更新系统的某些部分,而不是单独更新过去的所有更新。
[社区]
这是两个项目之间的主要区别之一。与pfSense®政策相反,OpnSense®不支持创建和安装第三方插件。
OpnSense®开发人员坚持这一选择,以避免可能的代码缺陷。
链接: https://docs.opnsense.org/fork/nomoremyths.html#myth-opnsense-doesn-t-support-packages
[OpnSense®:社区]
OPNsense®取消了插件并引入了一个插件系统。所有想要参与项目的人都可以通过以下链接了解更多关于它的详细信息:
https://docs.opnsense.org/development/examples/helloworld.html。
[pfSense®:社区]
正如前面提到的那样,社区必须签署一个ICLA,但可以像过去几年一样做出贡献。
有关上述信息的更多信息,请参阅以下链接:
https://docs.opnsense.org/fork/thefork.html#debunking-the-myths
https://opnsense.org/about/about-opnsense/
https://docs.opnsense.org/fork/nomoremyths.html
https://docs.opnsense.org/development/examples/helloworld.html
OPNsense®与pfSense®:功能比较
特征 | OPNsense® | pfSense® |
防火墙 | 状态检查 | 状态检查 |
基于Web的图形界面 | 基于Phalcon PHP框架的Bootstrap | *从2.3迁移到Bootstrap |
安装安装向导 | 是 | 是 |
可配置仪表板 | 是 | 是 |
IPv4和IPv6支持 | 是 | 是 |
无线接入点 | 是 | 是 |
无线客户端支持 | 是 | 是 |
设置和筛选/隔离多个 | - | 是 |
接口(LAN)DMZ等) | 是 | 是 |
流量管理 | 是 | 是 |
状态表控件 | 是 | 是 |
NAT | 是 | 是 |
冗余/高可用性 | 是 | 是 |
多WAN支持 | 是 | 是 |
服务器入站负载平衡 | 是(虚拟服务器设置) | 是 |
网络诊断工具 | 有 | 有 |
[ping] | 是 | 是 |
[跟踪路由] | 是 | 是 |
[通过GUI进行端口测试] | 是 | 更多与包]如nmap |
××× | ||
[IPsec(包括第2阶段NAT)] | 是 | 是 |
[Open×××] | 是 | 是 |
[L2TP] | 是(tramite插件) | 是(tramite插件) |
[PPPoE的] | 是(tramite插件) | 是(tramite插件) |
[PPTP] | 有(不认为安全) | 无(因不确定而被删除) |
RRD图 | 否(系统健康) | 是 |
实时接口流量图 | 是 | 是 |
动态DNS | 是 | 是 |
入网门户 | 是 | 是 |
DHCP服务器和中继(IPv4和IPv6) | 是 | 是 |
命令行shell访问 | 是 | 是 |
局域网唤醒 | 是 | 是 |
内置数据包捕获/嗅探器 | 是 | 是 |
备份和恢复fw配置 | 是 | 是 |
通过Web GUI编辑文件 | 是 | 是 |
虚拟接口: | ||
[VLAN] | 是 | 是 |
[LAGG / LACP] | 是/否 | 是/是 |
[GIF] | 是 | 是 |
[GRE] | 是 | 是 |
[PPPoE / PPTP / L2TP / PPP WAN] | 是/是/是/是 | 是/是/是/是 |
[QinQ]和网桥] | 是 | 是 |
缓存DNS转发器/解析器 | 是 | 是 |
可以运行在许多虚拟化环境中。 | 是 | 是 |
代理服务器 | 是 | 使用插件 |
IPS | 是(基于Suricata:已包括在内) | SNORT(EXTRA PACKAGE) |
IDS | 是(基于Suricata:已包括在内) | SNORT(EXTRA PACKAGE) |
安全更新 | 每周 | 不定期发布修补版本 |
Raid软件 | 非正式支持* | 全面支持 |
pfSense®VS OPNsense:实际表现
为了有另一个比较,我们决定在现场测试一些系统性能。我们选择在两个防火墙入口级别后面连接的两台主机之间进行文件传输测试。所使用的测试网络图如下:
从Host1到Host2的流量通过两个防火墙系统,在这两个防火墙系统上我们为所有测试注册了几乎相同的性能。测试过程中记录了以Mbps报告的表达值:
通过Open×××
通过××× IPSec
通过直接路由
两种防火墙在所有情况下的表现都一样。
这是注册的值范围:
吞吐量 | OPNsense® | pfSense® |
文件传输Open××× | 40-42 Mbps | 40-42 Mbps |
文件传输直接(路由) | 150-330Mbps | 150-330Mbps |
文件传输××× IPSec | 150Mbps的 | 150Mbps的 |
硬件设备尺寸指南对OPNsense®和pfSense都有效。可以查看以下地址:http://www.firewallhardware.it/dimensionare_hardware_pfsense.html。
结论
在网络上你可以阅读这两个项目的优点和缺点。两者之间的竞争对于项目和最终用户都是有利的:无论您选择何种方式,都会是一个好产品。
除了已经描述的微小差异之外,防火墙现在非常相似。系统性能是相同的(现在),都是从同一个操作系统派生的(这个结果甚至在测试之前就会被预测到)。
在硬件兼容性方面,我们没有注意到特别的差异以及特性:90%是相同的(参见上表)。
从图形上看,OPNSense®比pfSense®更好,菜单更加直观。
或许在未来,分离会更加明显或者可能不会; 如果不是,那么选择另一种解决方案相当困难。
目前的选择可能是由于不同的OPNSense®图形布局,更具吸引力和更令人满意的菜单,或者多年的经验,优秀的社区和pfSense®的更大声誉。不应忘记OPNSense®刚刚超过1岁(与12岁的pfSense®相比)。
相反,让我们感到有点困惑的是,pfSense®和Community徽标下的社区版铭文所执行的持续许可证类型修改:将来是否会有不同的政策?
我们拭目以待。
好奇心
在Scott Ulrich以及Chris Buechler 于2016年7月28日正式离开 pfSense®项目之后,他接受了Ubiquiti Networks的首席工程师职位。