| 在人们谈到病毒,想到杀毒软件的同时,也必然会想到防火墙。那一夫当关,万夫莫开的特性。它也是病毒、木马程序要想入侵,首先必须要过的第一关。但有些朋友只知道装载了防火墙,但没有恰当合理的去设置防火墙。今天我们从实际的操作出发,讲授一些防火墙实际的运用。
1、防火墙的安全级别的设置
说到防火墙,我们首先想到的是它的安全级别的设定。但是很多用户并不是特别懂这些,为了安全,就盲目的把安全级别调整到“高安全级”,认为安全级别越高越好。其实不是这样。如果你的电脑太安全了,你会发现网络游戏就无法启动了,而且视频程序也就无法访问到网上的视频文件了(这对于ADSL用户是一个极大损失)。那么到底各种安全级别是什么意思呢?
低安全级:计算机将开放所有服务,但禁止互联网上的机器访问文件、打印机共享服务。适用于在局域网中的提供服务的用户。这是自由度最大的安全级别,所以仅限于“网络高手”使用。
中安全级:禁止访问系统级别的服务( 如HTTP , FTP等)。局域网内部的机器只允许访问文件、打印机共享服务。
使用动态规则管理,允许授权运行的程序开放的端口服务,比如网络游戏或者视频语音电话软件提供的服务。而且能够保证例如收发邮件和传输文件的一般用户,所以一般这个安全级别是缺省值。
高安全级:系统会屏蔽掉向外部开放的所有端口;禁止访问本机提供所有服务,对常见的木马程序和攻击进行拦截;提供严格控制的网络访问能力;适用于仅仅是上网浏览网页的用户。当然网络游戏你就玩不了了。
另外,所有的安全级都会控制应用程序访问网络的权限。
2、防火墙安全部署基本策略
第一、计算机没有大脑。所以,当ISA的行为和你的要求不一致时,请检查你的配置而不要埋怨ISA。
第二、只允许你想要允许的客户、源地址、目的地和协议。仔细的检查你的每一条规则,看规则的元素是否和你所需要的一致。
第三、拒绝的规则一定要放在允许的规则前面。
第四、当需要使用拒绝时,显式拒绝是首要考虑的方式。
第五、在不影响防火墙策略执行效果的情况下,请将匹配度更高的规则放在前面。
第六、在不影响防火墙策略执行效果的情况下,请将针对所有用户的规则放在前面。
第七、尽量简化你的规则,执行一条规则的效率永远比执行两条规则的效率高。
第八、永远不要在商业网络中使用Allow 4 ALL规则(Allow all users use all protocols from all
networks to all networks),这样只是让你的ISA形同虚设。
第九、如果可以通过配置系统策略来实现,就没有必要再建立自定义规则。
第十、ISA的每条访问规则都是独立的,执行每条访问规则时不会受到其他访问规则的影响。
十一、永远也不要允许任何网络访问ISA本机的所有协议。内部网络也是不可信的。
十二、SNat客户不能提交身份验证信息。所以,当你使用了身份验证时,请配置客户为Web代理客户或防火墙客户。
十三、无论作为访问规则中的目的还是源,最好使用IP地址。
十四、如果你一定要在访问规则中使用域名集或URL集,最好将客户配置为Web代理客户。
十五、请不要忘了,防火墙策略的最后还有一条DENY 4 ALL。
十六、最后,请记住,防火墙策略的测试是必需的。
3、防火墙相关的安全配置
实际上,网络上不同的服务往往都有各自不同的特点。有些服务是必须对外开放的,而有些服务是可以不提供的。对于开放的服务,会有很多种不同的防火墙设置。你知道面对各种不同的服务,该怎样装扮你的防火墙吗?
★电子邮件
?
电子邮件是一种广泛的Internet服务,几乎已经是我们生活中不可缺少的一部分。但正是这个小家伙给我们带来各种麻烦。而其中惹祸的根源往往是强大的Sendmail程序和SMTP协议。通常我们会在防火墙上安装Smap和Smapd这两个应用程序来限制Sendmail的权限,放弃了SMTP一些次要的功能,并尽可能地减少处理命令,来获得更好的安全性。
★Telnet服务
?
Telnet服务可以用来访问BBS站点和执行远程调用。不过它有个最大的安全问题:访问服务器的时候,口令的验证大都是采用明文验证。这样用户名和口令在传输的时候,很容易被监听。但是管理员在配置时对于出站和入站是有不同的态度的。通常,它希望内部的用户可以访问出站的Telnet服务,另一方面,它不想让入站的Telnet访问它的站点,所以要严格控制入站服务。
★WWW服务
? WWW服务的功能强大,却也隐患多多:
1、HTTP协议
?
HTTP协议中的一个漏洞就是允许远程用户对远程服务器请求通信及远程执行命令,这会危及Web服务器和用户。它另一个问题就是服务器日志。通常Web服务器会记录下各种用户的请求和数据信息,而HTTP对这些信息的检索不设限制导致安全问题。这可以通过设置代理服务器或者设置加密通信来解决。
2、Java Applet和Java Script
由于Java
Applet是在客户端执行,我们的机器对它带来的各种风险也照单全收。它本身存在一些特殊的安全漏洞:任意执行机器指令的能力、易受到拒绝服务的攻击和可以与任意的主机建立连接。虽然,Java的实现中的大部分Bug已经修复,但事实上,仍然还存在潜在的、严重的安全漏洞。如果让一般的管理员发现这样的漏洞是比较困难的,但是及时为你的系统打上补丁还是可以做到的。如果你是一个保守的“清教徒”,你不妨把这个功能禁止掉,对于一般中小型企业,这个功能就是没有也不会有太大的影响。
3、Cookie
Cookie只是你的浏览器动作的一小段影像,并不能“偷”有关你或你的计算机系统的信息。它们只能用在某种程度上存储你提供的信息,所以你不必对这个小家伙有太大的惊慌,而且,你可以很方便地在防火墙中设置是否存储Cookie,也可以手工删除它们。
★FTP服务
? 其实,FTP的安全性就像Telnet一样,很大的程度上要依靠于身份认证的是否强大,不过这里主要讲的是匿名FTP的安全问题。
首先,匿名用户不应该有任何的特殊的权限。其次,不要在~ftp/bin,~ftp/usr/bin,~ftp/sbin或类似的目录下存放任何系统命令。另外确保FTP的根目录的访问权限被设为555(read
nowrite
execute),文件所有者被设置成Root而不是FTP,并确保在FTP的根目录下的Password不是/etc/password的完全拷贝。注意了这几点,对于中小型局域网的安全而言就足够了,如果还有需要,还可以在防火墙上配置一些FTP的守护程序获得更高的安全性
4、用防火墙来防止SYN Flood攻击
DoS (Denial of Service)攻击其中文含义是拒绝服务攻击,这种攻击行动使网站服务器充斥大量要求回复的
信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。黑客不正当地采用标准协议或连接方法,向攻击的服务发出大量的讯息,占用及超越受攻击服务器所能处理的能力,使它当(Down)机或不能正常地为用户服务。
“拒绝服务”是如何攻击的
通过普通的网络连线,使用者传送信息要求服务器予以确定。服务器于是回复用户。用户被确定后,就可登入服务器。
“拒绝服务”的攻击方式为:用户传送众多要求确认的信息到服务器,使服务器里充斥着这种无用的信息。
所有的信息都有需回复的虚假地址,以至于当服务器试图回传时,却无法找到用户。服务器于是暂时等候,有时超过一分钟,然后再切断连接。服务器切断连接时,黑客再度传送新一批需要确认的信息,这个过程周而复始,最终导致服务器无法动弹,瘫痪在地。SYN
Flood由于其攻击效果好,已经成为目前最流行的DoS和DDoS攻击手段。
所以对SYN Flood的有效防护就成了我们必不可少的关注点了。SYN
Flood利用TCP协议缺陷,发送了大量伪造的TCP连接请求,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。一个正常的TCP连接需要三次握手,首先客户端发送一个包含SYN标志的数据包,其后服务器返回一个SYN/ACK的应答包,表示客户端的请求被接受,最后客户端再返回一个确认包ACK,这样才完成TCP连接。在服务器端发送应答包后,如果客户端不发出确认,服务器会等待到超时,期间这些半连接状态都保存在一个空间有限的缓存队列中;如果大量的SYN包发到服务器端后没有应答,就会使服务器端的TCP资源迅速耗尽,导致正常的连接不能进入,甚至会导致服务器的系统崩溃。
防火墙通常用于保护内部网络不受外部网络的非授权访问,它位于客户端和服务器之间,因此利用防火墙来阻止DoS攻击能有效地保护内部的服务器。针对SYN
Flood,防火墙通常有三种防护方式:SYN网关、被动式SYN网关和SYN中继。
SYN网关
防火墙收到客户端的SYN包时,直接转发给服务器;防火墙收到服务器的SYN/ACK包后,一方面将SYN/ACK包转发给客户端,另一方面以客户端的名义给服务器回送一个ACK包,完成TCP的三次握手,让服务器端由半连接状态进入连接状态。当客户端真正的ACK包到达时,有数据则转发给服务器,否则丢弃该包。由于服务器能承受连接状态要比半连接状态高得多,所以这种方法能有效地减轻对服务器的攻击。
被动式SYN网关
设置防火墙的SYN请求超时参数,让它远小于服务器的超时期限。防火墙负责转发客户端发往服务器的SYN包,服务器发往客户端的SYN/ACK包、以及客户端发往服务器的ACK包。这样,如果客户端在防火墙计时器到期时还没发送ACK包,防火墙则往服务器发送RST包,以使服务器从队列中删去该半连接。由于防火墙的超时参数远小于服务器的超时期限,因此这样能有效防止SYN
Flood攻击。
SYN中继
防火墙在收到客户端的SYN包后,并不向服务器转发而是记录该状态信息然后主动给客户端回送SYN/ACK包,如果收到客户端的ACK包,表明是正常访问,由防火墙向服务器发送SYN包并完成三次握手。这样由防火墙做为代理来实现客户端和服务器端的连接,可以完全过滤不可用连接发往服务器。
希望能通过以上,这些防火墙的具体的设置,能够帮助还不是完全明白放火墙的朋友,做出一些相应的调整,以应对那些突来的安全问题。
|