防火墙是保护我们网络的第一道屏障,如果这一道防线失守了,那么我们的网络就危险了!所以我们有必要把注意一下安装防火墙的注意事项!
1. 防火墙实现了你的安全政策
防火墙加强了一些安全策略。如果你没有在放置防火墙之前制定安全策略的话,那么现在就是制定的时候了。它可以不被写成书面形式,但是同样可以作为安全策略。如果你还没有明确关于安全策略应当做什么的话,安装防火墙就是你能做的最好的保护你的站点的事情,并且要随时维护它也是很不容易的事情。要想有一个好的防火墙,你需要好的安全策略---写成书面的并且被大家所接受。
2. 一个防火墙在许多时候并不是一个单一的设备
除非在特别简单的案例中,防火墙很少是单一的设备,而是一组设备。就算你购买的是一个商用的“all-in-one”防火墙应用程序,你同样得配置其他机器(例如你的网络服务器)来与之一同运行。这些其他的机器被认为是防火墙的一部分,这包含了对这些机器的配置和管理方式,他们所信任的是什么,什么又将他们作为可信的等等。你不能简单的选择一个叫做“防火墙”的设备却期望其担负所有安全责任。
3. 防火墙并不是现成的随时获得的产品
选择防火墙更像买房子而不是选择去哪里度假。防火墙和房子很相似,你必须每天和它待在一起,你使用它的期限也不止一两个星期那么多。都需要维护否则都会崩溃掉。建设防火墙需要仔细的选择和配置一个解决方案来满足你的需求,然后不断的去维护它。需要做很多的决定,对一个站点是正确的解决方案往往对另外站点来说是错误的。
4. 防火墙并不会解决你所有的问题
并不要指望防火墙靠自身就能够给予你安全。防火墙保护你免受一类攻击的威胁,人们尝试从外部直接攻击内部。但是却不能防止从LAN内部的攻击,它甚至不能保护你免受所有那些它能检测到的攻击。
5. 使用默认的策略
正常情况下你的手段是拒绝除了你知道必要和安全的服务以外的任何服务。但是新的漏洞每天都出现,关闭不安全的服务意味着一场持续的战争。
6. 有条件的妥协,而不是轻易的
人们都喜欢做不安全的事情。如果你允许所有的请求的话,你的网络就会很不安全。如果你拒绝所有的请求的话,你的网络同样是不安全的,你不会知道不安全的东西隐藏在哪里。那些不能和你一同工作的人将会对你不利。你需要找到满足用户需求的方式,虽然这些方式会带来一定量的风险。
7. 使用分层手段
并在一个地点以来单一的设备。使用多个安全层来避免某个失误造成对你关心的问题的侵害。
8. 只安装你所需要的
防火墙机器不能像普通计算机那样安装厂商提供的全部软件分发。作为防火墙一部分的机器必须保持最小的安装。即使你认为有些东西是安全的也不要在你不需要的时候安装它。
9. 使用可以获得的所有资源
不要建立基于单一来源的信息的防火墙,特别是该资源不是来自厂商。有许多可以利用的资源:例如厂商信息,我们所编写的书,邮件组,和网站。
10. 只相信你能确定的
不要相信图形界面的手工和对话框或是厂商关于某些东西如何运行的声明,检测来确定应当拒绝的连接都拒绝了。检测来确定应当允许的连接都允许了。
11. 不断的重新评价决定
你五年前买的房子今天可能已经不适合你了。同样的,你一年以前所安装的防火墙对于你现在的情况已经不是最好的解决方案了。对于防火墙你应当经常性的评估你的决定并确认你仍然有合理的解决方案。更改你的防火墙,就像搬新家一样,需要明显的努力和仔细的计划。
12. 要对失败有心理准备
做好最坏的心理准备。机器可能会停止运行,动机良好的用户可能会做错事情,有恶意动机的用户可能做坏的事情并成功的打败你。但是一定要明白当这些事情发生的时候这并不是一个完全的灾难。
目标系统处理
攻击者的最终目标可能是一台主机,也可能是一台网络设备。除了对其目标的硬件能力进行增强之外,我们同样应该充分发挥系统自身的潜能,通过对目标系统的针对性处理,可以有效地放大现有资源的能量。最基本的任务是做好更新补丁的工作。特别是一些操作系统的通讯协议堆栈存在着问题,很容易成为拒绝服务攻击的利用对象。因为利用漏洞实施拒绝服务攻击相对于纯粹的设施能力比拼要容易的多。如果不能保证消除明显可被拒绝服务攻击利用的漏洞,其它的防御工作将只能成为摆设。
好在现在各类系统的补丁更新速度还是比较令人满意的,只要根据自身环境的情况注意对相关系统的补丁发布情况进行跟踪就可以了。一些经常被使用的方法还包括限制连接队列的长度以及减少处理延时等。前者可以缓解系统资源的耗尽,虽然不能完全避免“拒绝服务”的发生,但是至少在一定程度上降低了系统崩溃的可能性。而后者能够加强系统的处理能力,通过减少延时,我们可以以更快的速度抛弃队列里等待的连接,而不是任其堆满队列;不过这种方法也不是在所有情况下都有效,因为很多DDoS的攻击机制并不是建立在类似SYN Flood这样以畸形连接淹没队列的方式之上。
纵深防御
攻击者和目标通常并非直接相连,两者之间要经过很多网络节点才能进行通信。所以我们可以在受保护系统之前尽可能部署有效的屏障,以缓解系统的压力。设置屏障最主要的工具就是防火墙,先进的防火墙产品能够有效识别和处理数据包的深层内容,这样有助于我们设置更加细致的过滤。
现在有很多防火墙产品集成了反DDoS功能,进一步提高了对常见DDoS攻击包的识别能力。这样的产品可以在很大程度上增强DDoS防御能力,并且可以做到不对数据包进行完全检查就可以发现“恶意行为”。这是非常有帮助的能力,因为如果判断DDoS攻击所耗费的处理越少,就越不容易被耗尽处理能力,从而极大的增加攻击者的成本。包括很多路由器产品在内的网络设备都具备一些_blank">防火墙功能,我们应该尽可能充分的利用。
特别是路由器本身负责对数据流进行导向,应尽可能将其置于“前哨”位置。这样既可以起到御敌于千里之外的作用,又可以灵活地将攻击包导向到其它无害的位置甚至化攻击于虚无。当然,攻击者对这些防御层也会有或浅或深的体认,不会一味地以目标系统作为惟一的打击点,他们很可能会在受到这些设施的阻挠之后转而组织针对这些设施的攻击,这就需要我们动态的对防御设施进行调整,随机应变。
除了以上这些基础的方法和工具之外,还有一些更高级的技巧可以利用,例如我们可以进行冗余设计,以在系统瘫痪于攻击发生时有可以随时启用的应急机制;也可以部署一些陷阱部件,既可以用于吸引攻击流量,也可以对攻击者起到一定的迷惑作用。
知己者胜
其实在对我们进行安全防御时,最重要的因素之一是对系统的透彻了解。例如我们必须清楚地知道系统对外开放了哪些服务,哪些访问是被禁止的。同时,当有DDoS攻击迹象发生的时候,我们也应该很好地判断攻击利用了系统的哪些处理机制。虽然我们已经听过无数人无数次的重复“关闭不必要服务”,但显然其重要性仍未被充分认知。
有时一个端口没有开放我们就认为其处于安全状态,其实事实并非如此。很多时候,一些关闭的端口由于设计上的原因仍会响应某些查询,这一点经常被DDoS攻击所利用。攻击者通过向这些看似沉睡的端口发送海量的查询耗尽目标系统的资源从而达到自己的目的。我们经常利用一个称为Shields UP!!的基于Web接口的工具检查端口的真实状态,我们可以从http://www.grc.com/找到该工具的登入接口。
我们在一台联网的工作站上登录其页面并执行All Service Ports检测,返回的结果页会列出从0到1055端口状态的方格图,绿色的小块儿表示该端口处于安全的隐秘(Stealth)状态,将不会对外界做出任何响应。如果小块儿是代表危险的红色,说明该端口处于开放状态。而如果小块儿是蓝色的话,说明该端口处于关闭状态,虽然大部分程序无法使用这些端口,但不代表其绝对安全。通过类似的工具我们可以更透彻的了解我们暴露在网络上的都是什么,也才能进行真正有效的处理,同时不会忽视存在的隐患。
|