糖葫芦和牛--边界安全如何选择

下午和团队讨论边界安全的方案,再次面对着糖葫芦和牛的问题,在这儿唠叨两句。

0x01 什么是“糖葫芦”

起初做边界安全蛮简单的,搞一台防火墙搁出口,再随便配几条ACL就搞定。

后来用户发现光有防火墙还不够,成堆的垃圾邮件也很讨厌,于是又搞出来了防垃圾邮件网关。

再后来,有人告诉用户在边界搁一个box过滤下病毒是个好主意,这样可以保证流入的数据都是没有病毒的干净数据,于是边界上又多了一个叫防病毒网关的box。

紧接着,国内有帮人告诉用户,内部谁可以上互联网,谁可以用qq,谁能下载文件也是需要管理的,方法也简单:在边界再放一个名叫上网行为管理的box即可。

再然后,一个叫IPS的box闪亮登场了,江湖传闻他可以比传统的状态防火墙更有效的抵御外部攻击。

这两年一个叫Web Application Firewall的东西诞生了,他也是一个部署在边界的box。

于是在我们的边界上,一个盒子叠着另一个盒子,如果算上负载均衡、防DDos网关、VPN神马的,这一串糖葫芦可真够壮观的。

可是,糖葫芦们造成的高延时、繁杂的管理复杂度、一个个的网络单点,谁来买单?

0x02 什么是“牛”

牛这种动物蛮有意思,他有4个胃,吃进去的食物依次进入四个胃消化。

类似的,有人告诉用户糖葫芦的方式不好,根据仿生学的角度来说,牛消化的方式才是最好的:

他们搞来一个box,个头跟上面那一堆box都差不多,但是据说这头牛集成了上面全部的功能,这头牛叫UTM。

这种网关产品分成不同的功能模块,同时具备了状态防火墙、IPS、防垃圾邮件网关、防毒墙、VPN等等功能,买一头就等于买了一串。

看似成功解决了糖葫芦的所有问题,一夜之间大江南北的用户纷纷抛弃糖葫芦买来各式各样的UTM。

可这头牛,真的解决问题了么?

当所有功能模块都启动后人们发现,一个数据包进来后要经过N个功能模块反复拆包解包、分析特准、匹配策略,相当于一个胃消化完了第二个继续来。这种低效的处理方式造成的高延时和低吞吐量,是根本无法忍受的。尤其是启动了防病毒模块后,牛几乎也累垮了:吞吐量急剧下降不说,系统资源也被消耗殆尽。

看来,牛的方式,也无法解决边界安全的问题。

0x03 用户该怎么办

不知何时起,NGFW(Next-Generation Firewall)下一代防火墙的概念开始兴起,似乎这种box不仅功能上涵盖了所有的糖葫芦,还成功解决了牛消化能力差、处理速度慢的问题。可仔细一看你会发现,概念仍旧停留在概念,NGFW如何解决多功能模块处理数据包效率的思路好像并没有形成统一思路,卖盒子的家伙们总是用一堆炫之又炫的概念和示意图告诉你,不需要关系原理,他们的盒子里面兴许会有n块FPGA的芯片做加速,兴许会有n个核的cpu处理数据,兴许还会有其他变幻莫测的东东,总之,就像凤姐转过身一样,看起来似乎很美,可总也不敢看个仔细。

睡前吐槽,纯粹即兴。

你的打赏,我的干粮