胆囊息肉

注册

 

发新话题 回复该主题

网络安全之防火墙篇 [复制链接]

1#

“防火墙”这个词大家应该都听说过或者应用过,每个人的电脑、手机几乎都会安装一些的主流的防火墙软件,工作的企事业单位网络里都会安装硬件防火墙。那么这些防火墙能阻挡住黑客的攻击吗?今天我就和大家分享一下这个话题!

一、首先我们需要知道防火墙的原理或者说主要功能

1、什么是防火墙?

官方定义:防火墙也被称为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统,可以将内部网络和外部网络隔离。通常,防火墙可以保护内部/私有局域网免受外部攻击,并防止重要数据泄露。在没有防火墙的情况下,路由器会在内部网络和外部网络之间盲目传递流量且没有过滤机制,而防火墙不仅能够监控流量,还能够阻止未经授权的流量。

简单理解:防火墙是由软件或者软件和硬件组成的系统,它处于安全的网络(通常是内部局域网)和不安全的网络之间,根据由系统管理员设置的访问控制规则,对数据流进行过滤。

2、防火墙基本分类和工作原理

1)  包过滤防火墙

这是第一代防火墙,又称为网络层防火墙,在每一个数据包传送到源主机时都会在网络层进行过滤,对于不合法的数据访问,防火墙会选择阻拦以及丢弃。这种防火墙的连接可以通过一个网卡即一张网卡由内网的IP地址,又有公网的IP地址和两个网卡一个网卡上有私有网络的IP地址,另一个网卡有外部网络的IP地址。

第一代防火墙和最基本形式防火墙检查每一个通过的网络包,或者丢弃,或者放行,取决于所建立的一套规则。这称为包过滤防火墙。

本质上,包过滤防火墙是多址的,表明它有两个或两个以上网络适配器或接口。例如,作为防火墙的设备可能有两块网卡(NIC),一块连到内部网络,一块连到公共的Internet。防火墙的任务,就是作为“通信警察”,指引包和截住那些有危害的包。

包过滤防火墙检查每一个传入包,查看包中可用的基本信息(源地址和目的地址、端口号、协议等)。然后,将这些信息与设立的规则相比较。如果已经设立了阻断telnet连接,而包的目的端口是23的话,那么该包就会被丢弃。如果允许传入Web连接,而目的端口为80,则包就会被放行。

多个复杂规则的组合也是可行的。如果允许Web连接,但只针对特定的服务器,目的端口和目的地址二者必须与规则相匹配,才可以让该包通过。

最后,可以确定当一个包到达时,如果对该包没有规则被定义,接下来将会发生什么事情了。通常,为了安全起见,与传入规则不匹配的包就被丢弃了。如果有理由让该包通过,就要建立规则来处理它。

建立包过滤防火墙规则的例子如下:

对来自专用网络的包,只允许来自内部地址的包通过,因为其他包包含不正确的包头部信息。这条规则可以防止网络内部的任何人通过欺骗性的源地址发起攻击。而且,如果黑客对专用网络内部的机器具有了不知从何得来的访问权,这种过滤方式可以阻止黑客从网络内部发起攻击。

在公共网络,只允许目的地址为80端口的包通过。这条规则只允许传入的连接为Web连接。这条规则也允许与Web连接使用相同端口的连接,所以它并不是十分安全。

丢弃从公共网络传入的包,而这些包都有你的网络内的源地址,从而减少IP欺骗性的攻击。

丢弃包含源路由信息的包,以减少源路由攻击。要记住,在源路由攻击中,传入的包包含路由信息,它覆盖了包通过网络应采取得正常路由,可能会绕过已有的安全程序。

2)  状态/动态检测防火墙

状态/动态检测防火墙,试图跟踪通过防火墙的网络连接和包,这样防火墙就可以使用一组附加的标准,以确定是否允许和拒绝通信。它是在使用了基本包过滤防火墙的通信上应用一些技术来做到这点的。

当包过滤防火墙见到一个网络包,包是孤立存在的。它没有防火墙所关心的历史或未来。允许和拒绝包的决定完全取决于包自身所包含的信息,如源地址、目的地址、端口号等。包中没有包含任何描述它在信息流中的位置的信息,则该包被认为是无状态的;它仅是存在而已。

一个有状态包检查防火墙跟踪的不仅是包中包含的信息。为了跟踪包的状态,防火墙还记录有用的信息以帮助识别包,例如已有的网络连接、数据的传出请求等。

例如,如果传入的包包含视频数据流,而防火墙可能已经记录了有关信息,是关于位于特定IP地址的应用程序最近向发出包的源地址请求视频信号的信息。如果传入的包是要传给发出请求的相同系统,防火墙进行匹配,包就可以被允许通过。

一个状态/动态检测防火墙可截断所有传入的通信,而允许所有传出的通信。因为防火墙跟踪内部出去的请求,所有按要求传入的数据被允许通过,直到连接被关闭为止。只有未被请求的传入通信被截断。

如果在防火墙内正运行一台服务器,配置就会变得稍微复杂一些,但状态包检查是很有力和适应性的技术。例如,可以将防火墙配置成只允许从特定端口进入的通信,只可传到特定服务器。如果正在运行Web服务器,防火墙只将80端口传入的通信发到指定的Web服务器。

状态/动态检测防火墙可提供的其他一些额外的服务有:

将某些类型的链接重定向到审核服务中去。例如,到专用Web服务器的连接,在Web服务器连接被允许之前,可能被发到SecutID服务器(用一次性口令来使用)。

拒绝携带某些数据的网络通信,如带有附加可执行程序的传入电子消息,或包含ActiveX程序的Web页面。

跟踪连接状态的方式取决于包通过防火墙的类型:

TCP包。当建立起一个TCP连接时,通过的第一个包被标有包的SYN标志。通常情况下,防火墙丢弃所有外部的连接企图,除非已经建立起某条特定规则来处理它们。对内部的连接试图连到外部主机,防火墙注明连接包,允许响应及随后两个系统之间的包,直到连接结束为止。在这种方式下,传入的包只有在它是响应一个已建立的连接时,才会被允许通过。

UDP包。UDP包比TCP包简单,因为它们不包含任何连接或序列信息。它们只包含源地址、目的地址、校验和携带的数据。这种信息的缺乏使得防火墙确定包的合法性很困难,因为没有打开的连接可利用,以测试传入的包是否应被允许通过。可是,如果防火墙跟踪包的状态,就可以确定。对传入的包,若它所使用的地址和UDP包携带的协议与传出的连接请求匹配,该包就被允许通过。和TCP包一样,没有传入的UDP包会被允许通过,除非它是响应传出的请求或已经建立了指定的规则来处理它。对其他种类的包,情况和UDP包类似。防火墙仔细地跟踪传出的请求,记录下所使用的地址、协议和包的类型,然后对照保存过的信息核对传入的包,以确保这些包是被请求的。

3)  应用程序代理防火墙

应用程序代理防火墙实际上并不允许在它连接的网络之间直接通信。相反,它是接受来自内部网络特定用户应用程序的通信,然后建立于公共网络服务器单独的连接。网络内部的用户不直接与外部的服务器通信,所以服务器不能直接访问内部网的任何一部分。

另外,如果不为特定的应用程序安装代理程序代码,这种服务是不会被支持的,不能建立任何连接。这种建立方式拒绝任何没有明确配置的连接,从而提供了额外的安全性和控制性。

例如,一个用户的Web浏览器可能在80端口,但也经常可能是在端口,连接到了内部网络的HTTP代理防火墙。防火墙然后会接受这个连接请求,并把它转到所请求的Web服务器。

这种连接和转移对该用户来说是透明的,因为它完全是由代理防火墙自动处理的。

代理防火墙通常支持的一些常见的应用程序协议有:

HTTP

HTTPS/SSL

SMTP

POP3

IMAP

NNTP

TELNET

FTP

IRC

应用程序代理防火墙可以配置成允许来自内部网络的任何连接,它也可以配置成要求用户认证后才建立连接。要求认证的方式由只为已知的用户建立连接的这种限制,为安全性提供了额外的保证。如果网络受到危害,这个特征使得从内部发动攻击的可能性大大减少。

4)  NAT

讨论到防火墙的主题,就一定要提到有一种路由器,尽管从技术上讲它根本不是防火墙。网络地址转换(NAT)协议将内部网络的多个IP地址转换到一个公共地址发到Internet上。

NAT经常用于小型办公室、家庭等网络,多个用户分享单一的IP地址,并为Internet连接提供一些安全机制。

当内部用户与一个公共主机通信时,NAT追踪是哪一个用户作的请求,修改传出的包,这样包就像是来自单一的公共IP地址,然后再打开连接。一旦建立了连接,在内部计算机和Web站点之间来回流动的通信就都是透明的了。

当从公共网络传来一个未经请求的传入连接时,NAT有一套规则来决定如何处理它。如果没有事先定义好的规则,NAT只是简单的丢弃所有未经请求的传入连接,就像包过滤防火墙所做的那样。

可是,就像对包过滤防火墙一样,你可以将NAT配置为接受某些特定端口传来的传入连接,并将它们送到一个特定的主机地址。

5)  个人防火墙

现在网络上流传着很多的个人防火墙软件,它是应用程序级的。个人防火墙是一种能够保护个人计算机系统安全的软件,它可以直接在用户的计算机上运行,使用与状态/动态检测防火墙相同的方式,保护一台计算机免受攻击。通常,这些防火墙是安装在计算机网络接口的较低级别上,使得它们可以监视传入传出网卡的所有网络通信。

一旦安装上个人防火墙,就可以把它设置成“学习模式”,这样的话,对遇到的每一种新的网络通信,个人防火墙都会提示用户一次,询问如何处理那种通信。然后个人防火墙便记住响应方式,并应用于以后遇到的相同那种网络通信。

例如,如果用户已经安装了一台个人Web服务器,个人防火墙可能将第一个传入的Web连接作上标志,并询问用户是否允许它通过。用户可能允许所有的Web连接、来自某些特定IP地址范围的连接等,个人防火墙然后把这条规则应用于所有传入的Web连接。

基本上,你可以将个人防火墙想象成在用户计算机上建立了一个虚拟网络接口。不再是计算机的操作系统直接通过网卡进行通信,而是以操作系统通过和个人防火墙对话,仔细检查网络通信,然后再通过网卡通信。

6)  Web应用防火墙

Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,当WEB应用越来越为丰富的同时,WEB服务器以其强大的计算能力、处理性能及蕴含的较高价值逐渐成为主要攻击目标。SQL注入、网页篡改、网页挂马等安全事件,频繁发生。因此诞生了针对这一些安全隐患的防火墙,与上述防火墙不同,WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。

主要特点:

WAF不仅仅只是防御Web的
  

由于要判断、处理流经防火墙的每一个包,因此防火墙在某些流量大、并发请求多的情况下,很容易导致拥塞,成为整个网络的瓶颈影响性能。而当防火墙溢出的时候,整个防线就如同虚设,原本被禁止的连接也能从容通过了。
  

2.传统防火墙对服务器合法开放的端口的攻击大多无法阻止
  

某些情况下,攻击者利用服务器提供的服务进行缺陷攻击。例如利用开放了端口取得没打过sp补丁的win2k的超级权限、利用asp程序进行脚本攻击等。由于其行为在防火墙一级看来是“合理”和“合法”的,因此就被简单地放行了。
  

3.传统防火墙对待内部主动发起连接的攻击一般无法阻止

“外紧内松”是一般局域网络的特点。或许一道严密防守的防火墙内部的网络是一片混乱也有可能。通过社会工程学发送带木马的邮件、带木马的URL等方式,然后由中木马的机器主动对攻击者连接,将铁壁一样的防火墙瞬间破坏掉。另外,防火墙内部各主机间的攻击行为,防火墙也只有如旁观者一样冷视而爱莫能助。
  
  

4.传统防火墙不处理病*
  

不管是funlove病*也好,还是CIH也好。在内部网络用户下载外网的带*文件的时候,防火墙是不为所动的(这里的防火墙不是指单机/企业级的杀*软件中的实时监控功能,虽然它们不少都叫“病*防火墙”)。 
  

下一代防火墙:

1.可以阻断网络攻击,但不能消灭攻击源。
  

防火墙能够阻挡一定的网络攻击,但是无法清除攻击源。即使防火墙进行了良好的设置,使得攻击无法穿透防火墙,但各种攻击仍然会源源不断地向防火墙发出尝试。例如接主干网10M网络带宽的某站点,其日常流量中平均有K左右是攻击行为。那么,即使成功设置了防火墙后,这K的攻击流量依然不会有丝毫减少。

2.不能抵抗最新的未设置策略的攻击漏洞
  

就如杀*软件与病*一样,总是先出现病*,杀*软件经过分析出特征码后加入到病*库内才能查杀。防火墙的各种策略,也是在该攻击方式经过专家分析后给出其特征进而设置的。如果世界上新发现某个主机漏洞的cracker的把第一个攻击对象选中了您的网络,那么防火墙也没有办法帮到您的。

3.本身也会出现问题和受到攻击
  

防火墙也是一个os,也有着其硬件系统和软件,因此依然有着漏洞和bug。所以其本身也可能受到攻击和出现软/硬件方面的故障。
   

4.同样对待内网攻击也是无法完全抵御

介绍了这么多,我相信大家应该也理解了,防火墙是入侵者进入的第一道安全防线,主要解决了经过防火墙的网络传播途径的部分入侵攻击问题,而通过物理传播途径,内网传播途径的攻击就会很难解决,因此本篇文章希望通过我的介绍让大家多了解防火墙这门安全技术和安全知识,提高咱们自身的信息安全意识,任何技术都有漏洞,有了漏洞必然就有机会攻克。所以我们需要掌握拥有技术的同时,更应该提高自身信息安全意识。

分享 转发
TOP
发新话题 回复该主题