世界顶级防火墙LooknStop配置详解

一. 难以驯服的烈马:LooknStop

网络防火墙的选择一直是众多用户最头痛的问题,放眼看看现在的防火墙市场,大有群雄逐鹿之势,但是用户并不会因为防火墙产品越来越多而感到欢欣,相反,越来越多人逐渐发现自己已经步入了一个选择的难题:哪一款防火墙产品才是最安全牢固的?

尽管防火墙产品众多,可是用户只希望能迅速找到一款适合自己的产品,于是许多权威测试机构诞生了,如Firewall Leak Tester等,这些测试机构通过各种模拟和真实环境严格测试防火墙产品的各项安全系数,最终统计出一款产品的总体分数。因此,我们才得以迅速根据测评结果选择一款能令人安心的产品。

它就是LooknStop,长期位居FLT测评第一名的产品,而且,它还是瑞士银行用以维护自家安全的防火墙系统,其安全性能可见一斑。

但是,这款强大的产品却极少被发现安装于普通用户的机器上,为什么呢?

某公司职员小李偶然发现了这款产品的介绍,抱着试一试的心态,他给自己的机器安装了一份程序,可是他却没能享受这款顶级防火墙给他带来的安全保护,反而,它给他带来了许多噩梦:BitComet不能用了、浩方上不去了、迅雷和FlashGet成了残疾、魔兽争霸成了死机的代名词……这到底是护人还是赶人?小李看了一些资料,发现这款产品需要设置,于是,他打开了设置界面……然而,在一堆专业术语面前,小李彻底崩溃了。

最终,小李决定放弃LooknStop,改用国产防火墙了。

无可否认,LooknStop是一款优秀产品,它提供了强大而全面的网络保护功能、具备灵活的自定义入侵检测规则、系统资源和文件资源占用都很小,甚至,通过设置规则,LooknStop还可以代替一部分Sniffer功能实现网络数据包监控……

但是LooknStop让用户又痛又爱:要使用它,就必须通过最难的一关:防火墙规则设置。这款强大的产品带来了业界公认最麻烦的规则设置,让许多用户面对它的时候,犹如面对着一匹难以驯服的烈马。

难道LooknStop对一般用户来说,就是那么的可望而不可及吗?

二. 原理篇:规则与通信

以前我们介绍过防火墙的原理,在里面,我提到了“防火墙规则”(Firewall Rules),规则是防火墙的思维,它们其实是一条条描述语句,用于设置防火墙行为等,每一条规则都对应了一种特定的行为判断,防火墙根据规则的内容对符合条件(端口、协议类型、甚至包数据)的数据包给予拦截或通行,当然也可以记录数据。众多的规则结合,防火墙工具才得以给我们带来一个牢固而灵活的安全保护体系。

配置防火墙规则往往是网络管理员最头痛的事情,一个防火墙的工作效率、拦截放行、总体安全系数除了要求防火墙的引擎功能强大以外,就全看规则的设置了,如果防火墙引擎不能识别复杂的数据包结构,那么一些描述复杂的规则就不能正常工作,但是一个防火墙越强大,其相应的规则设置也就更复杂,对这种防火墙而言,一条好的规则就比什么都重要了。

规则并不是随便设置的,它围绕着一定的“安全策略”实施,许多防火墙产品在市场上出售时,就已经有了默认规则,而这些规则就是厂商的“安全策略”的实体对象,许多用户安装或购买一个防火墙产品后,就一直没对这些规则做过修改,或者不知道防火墙规则的存在,但是他们依然能得到防火墙的保护,就是因为厂商已经为广大群体套用了“兼容的”规则集合,换句话说,就是用户在接受一款防火墙产品的时候,就已经得到了厂商为大家定制的“安全策略”。但是这种面对大众的策略并不一定适合每一个人,有时候,一些用户会觉得默认规则不太适合自己的实际环境,他们便会根据自己的要求,修改增加这个规则集合,例如一台网站服务器,使用的防火墙默认规则里限制了外部对1024以下低端口号的访问,这显然就和做网站需要开放80端口的要求冲突了,所以网络管理员会修改防火墙规则,去掉这条限制规则或者从规则里除掉80端口的条件。许多用户并不知道,他们删改或增加规则的行为,其实就是自身“安全策略”的实施过程。

但是在把安全策略转化为规则实体之前,我们还必须慎密的思考一件事情,那就是“安全体系结构”。

所谓“安全体系结构”,就是整个防火墙最终为用户带来的安全效果,安全策略可以是片面的,管理员在思考策略的时候不一定要考虑到整体效果,但是当一条条安全策略作为规则集合出现之前,它就必须先转化为面向整体的“安全体系结构”, 这是一种考虑全局的策略集,还是上面的网站服务器例子,管理员需要开放基本的80端口,如果有FTP,还要开放21端口,甚至SSL端口443,这个环境的安全策略则可以描述为以下列表:

1. 开放80端口

2. 开放443端口

3. 开放21端口

但是光有这些还不够,管理员必须保证它与已有的规则集合不会发生冲突以及实际环境中的应用效率,例如,实际生活中,防火墙在开放端口的同时还要对数据进行监控,以防止SYN洪水等,另外还要检查防火墙默认规则集合里有没有与之冲突的描述,如果你增加了一条“开放80端口”的规则,但是规则集合里却存在着“限制所有端口连接”的规则,那么其中一条规则就会失效,管理员的预期设想也就得不到正确实施了。

所以管理员在做好自己的安全策略后,还要检查已有的规则集,删除会导致策略冲突的规则,并可能根据实际应用环境做出策略调整,最后得出最终的安全策略列表,这一步就叫做“安全体系结构”:

1. 开放21、80、443端口

2. 在80端口上设置SYN计数防止DoS攻击

3. 继续阻止其他端口访问,如135、139等

4. 允许ICMP回显

5. 允许管理员能从内部网络远程登录配置服务器

6. 更多规则设置列表……

这些策略列表的集合描述,就是“安全体系结构”的具体形态。

管理员决定了整体的安全体系结构后,就要开始着手实施防火墙规则的修改了,但是在“动”规则之前,还有最后一个注意事项——“规则次序”。

“规则次序”是一个不可忽略的配置部分,因为大部分防火墙产品是顺序读取规则设置的,如果发现了一条匹配的规则,那么下面的其他规则描述则被忽略掉,所以规则的排列次序决定着防火墙的运作情况,管理员在配置规则时必须把属于特殊性质而又不容易与其他现存规则发生冲突的规则放到最前面,最大限度防止防火墙在找到一个特殊规则之前与普通规则相匹配,导致管理员精心设置的安全规则失效。

当所有准备工作就绪后,我们就要开始把方案转化为实体了,这就是防火墙规则设定。

前面说过了,防火墙规则就是一条条用于描述防火墙在遇到什么类型的数据包的时候应该怎么做的命令语句,根据防火墙核心能识别的深度差异,不同防火墙的规则定义也不尽相同,但是基本上都离不开这几个基本参数:数据包方向、数据包地址、范围、协议类型、端口号、标志位(TCP)、包类型和代码(ICMP)、以及满足条件时的防火墙动作(通行、拦截、忽略、记录)等,正是这些参数的各种搭配构筑了最终得以保护用户免遭网络攻击的一条条规则,成为用户的安全体系结构,一款防火墙产品核心能识别的数据类型越多,相对应的规则设定就越复杂,这是一种鱼和熊掌不可兼得的事情,因此,学习防火墙规则设置是每个管理员或专业用户都必要的。

防火墙的性能取决于最终的规则设定,稍有疏错,再强大的核心也只能发挥入门级的防御了。

例如,一个用户在设置防火墙规则时取消了低端口访问限制,却遗忘了139端口可能带来的危害,不久后,该用户机器被入侵者成功连接并种植了后门。、

这种情况下,我们该责怪防火墙,还是责怪用户规则设置得不严密呢?

这是个问题。

同样,LooknStop在为用户带来强大防御功能的同时也带来了规则复杂难以设置的代价,许多用户第一次打开它的规则设定界面时,傻了——包括我在内。

正因为这样,许多用户选择了退而求其次的道路,改用了其他防火墙产品。难道LooknStop就真的那么难以驯服吗?

今天,就让我们一起来驯服这匹上好的烈马。

时间: 2025-01-21 10:29:18

世界顶级防火墙LooknStop配置详解的相关文章

RSync实现文件同步备份配置详解_服务器其它

一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以及时间等:

Centos6.5搭建java开发环境配置详解_Linux

一.安装jdk 1.查看Linux自带的JDK是否已安装 java –version 如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk. 2.查看jdk信息 rpm -qa|grep java 3.卸载OpenJDK,执行以下操作: rpm -e --nodeps tzdata-java-2012c-1.el6.noarch rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64 4.新

Linux服务器下nginx的安全配置详解_nginx

Nginx是一个轻量级,高性能的Web服务器/反向代理和电子邮件 代理(IMAP/POP3),它可以运行在UNIX,GNU/Linux,BSD变种,MAC OS X,Solaris和Microsoft Windows上.根据Netcraft的调查数据显示,互联网上6%的域名都使用了Nginx Web服务器.Nginx是解决C10K问题的服务器之一,与传统服务器不一样,Nginx不依赖于线程处理请求,相反,它使用了一个更具扩展性的事件驱 动(异步)架构.Nginx在很多高流量网站上得到了应用,如W

php-fpm配置详解

 这篇文章主要介绍了php-fpm配置详解,需要的朋友可以参考下 php5.3自带php-fpm   代码如下: /usr/local/php/etc/php-fpm.conf     pid = run/php-fpm.pid pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启   error_log = log/php-fpm.log 错误日志,默认在安装目录中的var/log/php-fpm.log   log_level = notice 错误级别. 可用级别

MySQL服务器集群介绍与配置详解

1. 先了解一下你是否应该用MySQL集群. 减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面.其他不共享的数据还维持在各自分布的MySQL数据库本身中. 2. 集群MySQL中名称概念.(如上图) 1)Sql结点(SQL node--上图对应为MySQLd):分布式数据库.包括自身数据和查询中心结点数据. 2)数据结点(Data node

nginx技术(2)nginx的配置详解

nginx的配置 1,启动nginx [root@centos6 nginx-1.2.9]# /usr/sbin/nginx -c /etc/nginx/nginx.conf 启动nginx [root@centos6 nginx-1.2.9]# ps -ef|grep nginx 查看进程 root 5479 1 0 04:15 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 548

Windows下JBoss配置详解

JBoss配置 1.jmx-console 登录的用户名和密码设置 默认情况访问 http://localhost:8080/jmx-console 就可以浏览jboss的部署管理的一些信息,不需要输入用户名和密码,使用起来有点安全隐患.下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须要知道用户名和密码才可进去访问.JBoss配置步骤如下: 1)找到JBoss安装目录/server/default/deploy/jmx-console.war/WEB-INF/jbos

MongoDB安全配置详解

  这篇文章主要介绍了MongoDB安全配置详解,本文来自国内安全厂商乌云平台,讲解的还是比较全面的,需要的朋友可以参考下 0x00 MongoDB权限介绍 1.MongoDB安装时不添加任何参数,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库,需以--auth参数启动. 2.在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin数据库是空的,没有记录权限相关的信息.当admin.system.users一个用户都没有时,即使mongod启动时添

log4j日志配置详解

文章出处为 http://george5814.github.io/2016/10/09/log4j-config.html 一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.W