首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>网络安全>文章内容
pfSense 防火墙硬件平台性能评估指导手册
来源:www.vfcocus.net 作者:REISTLIN 发布时间:2009-06-08  

摘要: 通过阅读 pfSense 官方文档了解防火墙性能的评估方法
作者: By REISTLIN [雷斯林] MSN: Rexxxxxx@hotmail.com QQ: 3A984
版权: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要.

本文是根据[pfSense] 的官方文档 Hardware Sizing Guidance 翻译的.水平有限.只翻译了重要的部分.很多补充是根据自己5年的安全从业经验整理的.个人认为.所有基于x86架构防火墙都可以参考本文进行硬件性能评估.pfSense(FreeBSD)的文档非常客观严谨. 想深入了解防火墙性能的朋友请不要错过.

考虑pfSense性能,(REISTLIN:或者说考虑x86架构防火墙的性能)主要有2个因素:

1,防火墙吞吐率(Throughput)REISTLIN:吞吐率是防火墙的最基本指标。在安全业内,商业产品的技术白皮书中的吞吐率数值主要是使用较大的数据包(远远大于64 bytes),通过硬件的压力测试设备(电信研究院)测试后公布的。因为实际网络应用中数据包都比较小,所以仅供参考。如果你有实际经验,你会发现,一般厂商的标称值在实际网络环境中都要打6-8折(这里要表扬一下NetScreen,官方网站上有明确注明大包吞吐率和小包吞吐率,大家有兴趣自己去计算比例)。

2,防火墙的功能(Features)REISTLIN:防火墙最基本的功能是做数据包过滤,这里我认为所谓的数据包过滤是基于3层-4层的(IP+Port)。数据包过滤最有代表性的就是IPTables,如果你设置过IPTables就会知道,你不仅仅要设置数据包Out方向的策略,也要设置数据包In方向的策略。这就是区分是否是状态检测的最原始最可靠的方法。(当然,Linux下也有非常好的解决方案,比如[Shorewall]自动根据帮助你添加返回数据包的策略)不过成熟的防火墙(硬件/软件)产品都是基于完全的状态检测的,所谓状态检测,是CheckPoint公司的专利技术,防火墙会记录TCP/IP的状态,CheckPoint甚至可以记录UDP的状态 。业内的防火墙产品基本上都会宣称支持状态检测,比如国内的一些产品,究竟是不是完全的状态检测,我就不想多说了。

废话,继续翻译。

防火墙吞吐率的评估与考虑:

如果你要求防火墙的吞吐率小于10 Mbps,那你完全可以找任何一个硬件平台,或者迷你系统就可以胜任。(Intel 286?)
如果你要求防火墙的吞吐率10 - 20 Mbps,你的CPU主频不能低于266 MHz
如果你要求防火墙的吞吐率21 - 50 Mbps,你的CPU主频不能低于500 MHz
如果你要求防火墙的吞吐率51 - 200 Mbps,你的CPU主频不能低于1G MHz

REISTLIN:又到了小雷废话时间,200 Mbps是一个特殊的值,既是代表了x86平台PCI网卡的防火墙吞吐率极限值,又代表了 Linux x86平台IPSec VPN吞吐率的极限值。

继续,继续。

如果你要求防火墙的吞吐率201- 500 Mbps,硬件平台必须是基于PCI-X或者PCI-E的网卡,不一定是专用的服务器硬件系统,你也可以选择高性能的PC系统搭载PCI-E的1000M网卡(比如:Intel PRO 1000,小雷真罗嗦?),并且你的CPU主频不低于2G MHz

如果你要求防火墙的吞吐率大于500 Mbps,你似乎只能选择专用的高性能服务器硬件平台,PCI-X或者PCI-E的1000M网卡,并且CPU主频不低于3G MHz

防火墙功能性的评估与考虑:

pfSense功能模块的开启一般来说不会对性能造成很大影响。(REISTLIN:你可以理解为pfSense的每个功能模块都尽可能做了优化,在现有的功能与性能之间有一个比较合适的平衡点。不过一个客观的事实,一碗粥,分的人多了,每个人吃的就少。一个人,同时做的事情越多,人也越辛苦,每件事都会有效率和质量的双重影响。所以 UTM 或者 All in One 产品是适合中小型用户的;大型,专家级,运营级的要求总结起来只有3个:功能独立,运行稳定,性能高效。)

VPN:pfSense的VPN功能会给CPU造成沉重的负担,这是无法避免的。(REISTLIN:不仅仅是pfSense,所有的VPN设备都一样,非常耗费 CPU 的性能)。CPU负责对通过防火墙的流量进行加密与解密,并且网络连接数(并发会话数/每秒新建会话数)的多少也直接影响到 CPU 的负载。经验告诉我,可以通过设置适当的VPN加密方式,比如不使用3DES+SHA-1;或者使用较少的VPN Tunnel,比如基于Subnet-to-Subnet,不基于Host-to-Host的Tunnel复用;真罗嗦。)

一个主频266 MHz的CPU,大约能够处理4 Mbps的IPSec VPN流量。
一个主频500 MHz的CPU,大约能够处理10-15 Mbps的IPSec VPN流量。

如果使用专用服务器硬件平台,比如至强CPU,800 FSB前端总线,或者高性能的PC系统,能够处理大于 100 Mbps的IPSec VPN流量。 如果需要达到更高的IPSec VPN吞吐率,(比如:500Mbps,1Gbps)那就只能选择专用的硬件VPN加速卡。

防火墙状态表的评估与考虑:

每一条网络连接的状态记录(网络会话状态)大约需要 1KB 的物理内存来存储。在默认(理想)情况下,当网络连接状态(网络会话状态)记录达到10000条时,大约需要10 MB物理内存。绝大部分的网络都会有数千条或者上万的并发会话,所以请确保有足够的物理内存。(REISTLIN:如果有人使用P2P软件,BT,eMule,一个IP甚至就可能达到1000+个网络连接;如果有国产的防火墙厂家跟你说,我们的防火墙支持并发连接数达到80万,我们的防火墙吞吐率只有不到500 Mbps,你会吗?)

数据包分析(Snort)功能的评估与考虑:

如果使用数据包分析功能,比如入侵检测,数据包抓包分析,请保证物理内存不要低于512 MB。(因为数据包捕获需要大量的物理内存Cache实时的数据包信息,Ethereal/Wireshark 里面叫Buff)

全文完,最后说一句,这还算是翻译吗?睡觉了!


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·一句话木马
·samcrypt.lib简介
·教你轻松查看QQ空间加密后的好友
·web sniffer 在线嗅探/online ht
·SPIKE与Peach Fuzzer相关知识
·asp,php,aspx一句话集合
·Cisco PIX525 配置备忘
·用Iptables+Fedora做ADSL 路由器
·检查 Web 应用安全的几款开源免
·Md5(base64)加密与解密实战
·NT下动态切换进程分析笔记
·风险评估中的渗透测试
  相关文章
·论甲方的信息安全
·何迪生:纵深防御管理保护企业核
·风险评估中的渗透测试
·Penetration Testing 渗透测试 (
·信息安全管理体系在基金公司的实
·关于安全服务部门下半年规划
·撰写一组SNORT规则防御SQL注入
·发现最新式的DDOS攻击方式
·跨站脚本攻防之道
·windows驱动漏洞发现与利用
·总结linux安全
·一句话木马的部分整理
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved