网络安全 – 防火墙



几乎所有中大型组织都在互联网上存在,并且拥有连接到互联网的组织网络。在外部互联网和内部网络之间的边界处进行网络分区对于网络安全至关重要。有时,内部网络(内联网)被称为“可信”端,外部互联网被称为“不可信”端。

防火墙类型

防火墙是一种网络设备,它将组织的内部网络与更大的外部网络/互联网隔离开来。它可以是硬件、软件或组合系统,用于防止对内部网络进行未经授权的访问或来自内部网络的未经授权的访问。

所有进入或离开内部网络的数据包都通过防火墙,防火墙会检查每个数据包并阻止不符合指定安全标准的数据包。

Firewall

在网络边界部署防火墙就像在一个点上聚合安全性。这类似于在入口处锁定公寓,而不是在每个门上都锁定。

出于以下原因,防火墙被认为是实现网络安全的重要组成部分:

  • 内部网络和主机不太可能得到妥善保护。

  • 互联网是一个危险的地方,充满了罪犯、来自竞争公司的用户、心怀不满的前雇员、来自敌对国家的间谍、破坏者等。

  • 防止攻击者对网络资源发起拒绝服务攻击。

  • 防止外部攻击者非法修改/访问内部数据。

防火墙分为三种基本类型:

  • 数据包过滤(无状态和有状态)
  • 应用层网关
  • 电路层网关

然而,这三类并非互斥的。现代防火墙具有多种功能,可能使它们属于三类中的不止一类。

Firewalls Types

无状态和有状态数据包过滤防火墙

在这种类型的防火墙部署中,内部网络通过路由器防火墙连接到外部网络/互联网。防火墙逐个检查和过滤数据包。

数据包过滤防火墙允许或阻止数据包,主要基于源和/或目标 IP 地址、协议、源和/或目标端口号以及 IP 标头中的其他各种参数等标准。

决策可以基于除 IP 标头字段以外的其他因素,例如 ICMP 消息类型、TCP SYN 和 ACK 位等。

数据包过滤规则有两个部分:

  • 选择标准 - 它用作决策的条件和模式匹配。

  • 动作字段 - 此部分指定如果 IP 数据包满足选择标准则要采取的动作。该动作可以是阻止(拒绝)或允许(允许)数据包穿过防火墙。

数据包过滤通常通过在路由器或交换机上配置访问控制列表 (ACL) 来实现。ACL 是数据包过滤规则的表格。

当流量进入或退出接口时,防火墙从上到下将 ACL 应用于每个传入数据包,找到匹配的标准,并允许或拒绝单个数据包。

Stateless Packet Firewall

无状态防火墙是一种僵化的工具。它查看数据包,如果数据包满足条件,则允许它通过,即使它不是任何已建立的正在进行的通信的一部分。

因此,在现代网络中,此类防火墙已被有状态防火墙取代。这种类型的防火墙提供了比无状态防火墙仅基于 ACL 的数据包检查方法更深入的检查方法。

有状态防火墙监控连接的建立和拆除过程,以检查 TCP/IP 层的连接。这使它们能够跟踪连接状态并确定在任何给定时间哪些主机具有打开的、授权的连接。

它们仅在请求新连接时才引用规则库。属于现有连接的数据包与防火墙的打开连接状态表进行比较,并做出允许或阻止的决定。此过程节省了时间并提供了额外的安全性。除非数据包属于已建立的连接,否则不允许任何数据包越过防火墙。它可以在防火墙之后超时非活动连接,之后它不再为该连接接收数据包。

应用程序网关

应用程序层网关充当应用程序层流量的中继节点。它们拦截传入和传出数据包,运行代理以复制和转发网关之间信息,并充当代理服务器,防止可信服务器或客户端与不可信主机之间建立任何直接连接。

代理是特定于应用程序的。它们可以在 OSI 模型的应用层过滤数据包。

特定于应用程序的代理

Application-specific Proxies

特定于应用程序的代理仅接受由为其设计以复制、转发和过滤的指定应用程序生成的数据包。例如,只有 Telnet 代理可以复制、转发和过滤 Telnet 流量。

如果网络仅依赖于应用程序层网关,则传入和传出数据包无法访问未配置代理的服务。例如,如果网关运行 FTP 和 Telnet 代理,则只有由这些服务生成的数据包才能通过防火墙。所有其他服务都被阻止。

应用程序级过滤

应用程序层代理网关检查和过滤单个数据包,而不是简单地复制它们并盲目地将它们转发到网关。特定于应用程序的代理检查通过网关的每个数据包,验证数据包的内容直到应用程序层。这些代理可以过滤应用程序协议中的特定类型的命令或信息。

应用程序网关可以限制执行特定操作。例如,可以将网关配置为阻止用户执行“FTP put”命令。这可以防止攻击者修改存储在服务器上的信息。

透明的

虽然应用程序层网关可以是透明的,但许多实现都需要用户身份验证才能访问不可信网络,此过程降低了真正的透明度。如果用户来自内部网络或互联网,则身份验证可能有所不同。对于内部网络,可以允许简单的 IP 地址列表连接到外部应用程序。但是,从互联网方面应该实施强大的身份验证。

应用程序网关实际上在两个方向的两个 TCP 连接之间中继 TCP 段(客户端↔代理↔服务器)。

对于出站数据包,网关可能会将其自己的 IP 地址替换为源 IP 地址。此过程称为网络地址转换 (NAT)。它确保内部 IP 地址不会暴露给互联网。

电路层网关

电路层网关是数据包过滤器和应用程序网关之间的中间解决方案。它在传输层运行,因此可以充当任何应用程序的代理。

与应用程序网关类似,电路层网关也不允许跨网关的端到端 TCP 连接。它建立两个 TCP 连接并将 TCP 段从一个网络中继到另一个网络。但是,它不像应用程序网关那样检查应用程序数据。因此,有时它被称为“管道代理”。

SOCKS

SOCKS(RFC 1928)指的是电路层网关。它是一种网络代理机制,使防火墙一侧的主机能够完全访问另一侧的主机,而无需直接 IP 可达性。客户端连接到防火墙上的 SOCKS 服务器。然后客户端输入用于协商要使用的身份验证方法,并使用所选方法进行身份验证。

客户端向 SOCKS 服务器发送连接中继请求,其中包含所需的目的地 IP 地址和传输端口。服务器在检查客户端是否满足基本过滤条件后接受请求。然后,网关代表客户端打开与请求的不可信主机的连接,然后密切监视随后的 TCP 握手。

SOCKS 服务器通知客户端,如果成功,则开始在两个连接之间中继数据。当组织信任内部用户并且不想检查发送到互联网的内容或应用程序数据时,会使用电路层网关。

带有 DMZ 的防火墙部署

防火墙是一种用于控制网络流量“进入”和“离开”组织内部网络的机制。在大多数情况下,这些系统有两个网络接口,一个用于外部网络(例如互联网),另一个用于内部端。

防火墙过程可以严格控制允许从一侧遍历到另一侧的内容。希望为其 Web 服务器提供外部访问的组织可以限制到达防火墙的所有流量,除了端口 80(标准 http 端口)之外。所有其他流量(如邮件流量、FTP、SNMP 等)都不允许跨防火墙进入内部网络。下图显示了一个简单防火墙的示例。

Firewall Deployment with DMZ

在上述简单部署中,尽管阻止了来自外部的所有其他访问,但攻击者仍然可以联系内部网络上的任何其他主机,而不仅仅是 Web 服务器,这些主机意外或以其他方式打开了端口 80。

因此,大多数组织面临的问题是如何在保持内部网络安全的同时,启用对 Web、FTP 和电子邮件等公共服务的合法访问。典型的方法是在网络中部署防火墙以提供隔离区 (DMZ)。

在此设置(在下图中说明)中,部署了两个防火墙;一个位于外部网络和 DMZ 之间,另一个位于 DMZ 和内部网络之间。所有公共服务器都放置在 DMZ 中。

通过此设置,可以有防火墙规则允许公众访问公共服务器,但内部防火墙可以限制所有传入连接。通过拥有 DMZ,可以为公共服务器提供足够的保护,而不是将它们直接放置在外部网络上。

Dual Firewall Deployment

入侵检测/防御系统

数据包过滤防火墙仅基于涉及 TCP/UDP/IP 标头的规则运行。它们不尝试在不同的会话之间建立相关性检查。

入侵检测/防御系统 (IDS/IPS) 通过查看数据包内容来执行深度数据包检查 (DPI)。例如,将数据包中的字符字符串与已知病毒、攻击字符串的数据库进行检查。

应用网关确实会查看数据包内容,但仅限于特定应用程序。它们不会查找数据包中可疑的数据。IDS/IPS 会查找数据包中包含的可疑数据,并尝试检查多个数据包之间的关联,以识别任何攻击,例如端口扫描、网络映射和拒绝服务等等。

IDS 和 IPS 的区别

IDS 和 IPS 在网络异常检测方面类似。IDS 是一种“可见性”工具,而 IPS 被认为是一种“控制”工具。

入侵检测系统位于网络的侧边,监控许多不同点的流量,并提供对网络安全状态的可见性。如果 IDS 报告异常,则网络管理员或网络上的其他设备将启动纠正措施。

入侵防御系统类似于防火墙,它们位于两个网络之间,控制通过它们的流量。它在检测网络流量异常时执行指定的策略。通常,在发现异常时,它会丢弃所有数据包并阻止整个网络流量,直到管理员解决异常为止。

IDS Vs IPS

IDS 的类型

IDS 主要有两种类型。

  • 基于签名的 IDS

    • 它需要一个包含已知攻击及其特征码的数据库。

    • 特征码由描述特定攻击的数据包类型和顺序定义。

    • 这种类型的 IDS 的局限性在于只能检测已知的攻击。此 IDS 还会发出误报。当正常数据包流与攻击的特征码匹配时,可能会发生误报。

    • 著名的公共开源 IDS 示例是“Snort”IDS。

  • 基于异常的 IDS

    • 这种类型的 IDS 会创建正常网络操作的流量模式。

    • 在 IDS 模式下,它会查看统计上异常的流量模式。例如,ICMP 异常负载、端口扫描呈指数级增长等。

    • 检测到任何异常流量模式都会生成警报。

    • 这种类型的 IDS 部署面临的主要挑战是难以区分正常流量和异常流量。

总结

在本章中,我们讨论了用于网络访问控制的各种机制。通过访问控制实现网络安全的方案在技术上与本教程前面章节中讨论的不同网络层实现安全控制的方案不同。但是,尽管实施方法不同,但它们是互补的。

网络访问控制包含两个主要组件:用户身份验证和网络边界保护。RADIUS 是在网络中提供集中身份验证的常用机制。

防火墙通过将内部网络与公共互联网隔离开来提供网络边界保护。防火墙可以在网络协议的不同层工作。IDS/IPS 允许监控网络流量中的异常,以检测攻击并采取预防措施。

广告