谈谈鲜为人知的防火墙

145 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 25天,点击查看活动详情

众所周知互联网并不是一个非常安全的地方,网络的背后可能隐藏着各种各样的危险。而网络中有一堵墙叫防护墙在默默的保护着我们免受各种危险的困扰。防火墙能够隔离组织内部网络与公共互联网,允许某些分组通过,而阻止其他分组进入或离开内部网络的软硬件的一种设施。当然前提条件是,需要保证从外部到内部的所有流程都要经过防火墙,且仅被授权的流量允许通过。

防火墙的分类

无状态分组过滤器

无状态分组过滤器是一种部署在内部网络和网络边缘路由器上的防火墙,一般一个局域网内都至少有一个将内部网络和外部Internet相连的网关路由器。这时候所有的流量都会经过这个网关路由器。路由器会对数据进行逐个检查,然后基于特定规则进行数据去留的抉择,规则如下:

  1. IP数据报的源IP地址和目的IP地址
  2. TCP/UDP报文段的源端口和目的端口号
  3. ICMP报文类型
  4. TCP报文段的SYN/ACK标志位

什么意思呢?举个简单的例子,如果我们在分组过滤器中设置阻止源或目的端口号等于23的TCP报文段的进入或离开,结果就是阻断了所有外部与内部建立的TCP连接。

有状态分组过滤器

上面的无状态分组过滤器实际上存在一些问题,例如,不加区分的放行所有满足条件的分组,从而可能造成被攻击者利用进行拒绝服务攻击。而有状态分组过滤器则不同,它会使用连接记录表跟踪每个TCP连接。

应用网关

上面的两个分组过滤器都无法鉴别用户身份或针对授权用户开放特定服务,为了进一步提高防火墙的安全性,将分组过滤器和应用程序网关相结合。利用应用网关来进行身份鉴别,只有授权用户,应用网关才会代理用户与目的主机建立telnet连接、进行数据中继,而路由器就只认准由由应用网关发起的Telnet连接。

image.png

入侵检测系统IDS

防火墙决定了哪些分组可以通过,哪些不能通过。上面也介绍了通过分组过滤器来检查IP、TCP、UDP、ICMP首部字段。不过为了防止各种各样的网络攻击,通常除了查看首部字段外,还会深入检测分组携带的数据。

image.png

入侵检测系统(Intrusion Detection System,IDS)则是用来对恶意流量进行监视并产生告警的设备或系统。IDS不仅检查首部字段,还会进行深度包检测,并检测多数据之间的关联性。能识别出诸如网络映射、端口扫描、TCP栈扫描、DoS拒绝服务等网络攻击。