网络安全 – 防火墙
几乎每个中型和大型组织都在互联网上存在,并拥有与其连接的组织网络。外部互联网和内部网络之间边界的网络分区对于网络安全至关重要。有时,内部网络(内联网)被称为“可信”端,而外部互联网被称为“不可信”端。
防火墙的类型
防火墙是一种将组织的内部网络与更大的外部网络/互联网隔离的网络设备。它可以是硬件、软件或组合系统,可防止未经授权的访问或来自内部网络的访问。
所有进入或离开内部网络的数据包都会通过防火墙,防火墙会检查每个数据包并阻止那些不符合指定安全标准的数据包。
在网络边界部署防火墙就像将安全性聚合在一个点上。这类似于在入口处锁上公寓,但不一定在每扇门上锁。
出于以下原因,防火墙被认为是实现网络安全的基本要素 -
内部网络和主机不太可能得到适当的保护。
互联网是一个危险的地方,有犯罪分子、竞争对手公司的用户、心怀不满的前雇员、来自不友好国家的间谍、破坏者等。
防止攻击者对网络资源发起拒绝服务攻击。
防止外部攻击者非法修改/访问内部数据。
防火墙分为三种基本类型 -
- 数据包过滤器(无状态和有状态)
- 应用级网关
- 电路级网关
然而,这三个类别并不相互排斥。现代防火墙具有多种功能,可以将它们归入三个类别中的多个类别。
无状态和有状态数据包过滤防火墙
在这种类型的防火墙部署中,内部网络通过路由器防火墙连接到外部网络/Internet。防火墙逐包检查和过滤数据。
数据包过滤防火墙主要根据源和/或目标 IP 地址、协议、源和/或目标端口号以及 IP 标头中的各种其他参数等标准来允许或阻止数据包。
该决定可以基于 IP 标头字段以外的因素,例如 ICMP 消息类型、TCP SYN 和 ACK 位等。
数据包过滤规则有两部分 -
选择标准- 它用作决策的条件和模式匹配。
操作字段- 这部分指定 IP 数据包满足选择标准时要采取的操作。该操作可以是阻止(拒绝)或允许(允许)数据包穿过防火墙。
数据包过滤通常是通过在路由器或交换机上配置访问控制列表(ACL)来完成的。ACL 是数据包过滤规则表。
当流量进入或退出接口时,防火墙从上到下对每个传入数据包应用 ACL,查找匹配条件并允许或拒绝各个数据包。
无状态防火墙是一种僵化的工具。它会查看数据包,如果数据包符合标准,则允许它通过,即使它不是任何已建立的正在进行的通信的一部分。
因此,在现代网络中,此类防火墙被状态防火墙所取代。与无状态防火墙仅基于 ACL 的数据包检查方法相比,此类防火墙提供了更深入的检查方法。
状态防火墙监视连接设置和拆除过程,以在 TCP/IP 级别检查连接。这使他们能够跟踪连接状态并确定哪些主机在任何给定时间点具有开放的授权连接。
它们仅在请求新连接时才引用规则库。属于现有连接的数据包将与防火墙的开放连接状态表进行比较,并做出允许或阻止的决定。此过程可以节省时间并提供更高的安全性。除非数据包属于已建立的连接,否则不允许任何数据包侵入防火墙。它可以使防火墙处的非活动连接超时,之后不再允许该连接的数据包。
应用网关
应用级网关充当应用级流量的中继节点。它们拦截传入和传出的数据包,运行通过网关复制和转发信息的代理,并充当代理服务器,防止受信任的服务器或客户端与不受信任的主机之间的任何直接连接。
代理是特定于应用程序的。它们可以在 OSI 模型的应用层过滤数据包。
特定于应用程序的代理
特定于应用程序的代理仅接受由指定应用程序生成的数据包,这些数据包旨在复制、转发和过滤。例如,只有Telnet代理可以复制、转发和过滤Telnet流量。
如果网络仅依赖应用级网关,则传入和传出数据包无法访问未配置代理的服务。例如,如果网关运行 FTP 和 Telnet 代理,则只有这些服务生成的数据包才能通过防火墙。所有其他服务均被阻止。
应用程序级过滤
应用程序级代理网关检查和过滤单个数据包,而不是简单地复制它们并盲目地通过网关转发它们。应用程序特定的代理检查通过网关的每个数据包,通过应用程序层验证数据包的内容。这些代理可以过滤应用协议中特定类型的命令或信息。
应用程序网关可以限制执行特定操作。例如,网关可以配置为阻止用户执行“FTP put”命令。这可以防止攻击者修改服务器上存储的信息。
透明的
尽管应用程序级网关可以是透明的,但许多实现都要求在用户访问不受信任的网络之前进行用户身份验证,这一过程会降低真正的透明度。如果用户来自内部网络或来自互联网,身份验证可能会有所不同。对于内部网络,可以允许简单的 IP 地址列表连接到外部应用程序。但从互联网方面应该实施强认证。
应用程序网关实际上在两个方向(客户端↔代理↔服务器)的两个 TCP 连接之间中继 TCP 段。
对于出站数据包,网关可以用自己的 IP 地址替换源 IP 地址。该过程称为网络地址转换 (NAT)。它确保内部 IP 地址不会暴露在 Internet 上。
电路级网关
电路级网关是包过滤器和应用网关之间的中间解决方案。它运行在传输层,因此可以充当任何应用程序的代理。
与应用程序网关类似,电路级网关也不允许跨网关的端到端 TCP 连接。它建立两个 TCP 连接并将 TCP 段从一个网络中继到另一个网络。但是,它不像应用程序网关那样检查应用程序数据。因此,有时它被称为“管道代理”。
袜子
SOCKS (RFC 1928) 是指电路级网关。它是一种网络代理机制,使 SOCKS 服务器一侧的主机能够完全访问另一侧的主机,而无需直接 IP 可达性。客户端连接到防火墙上的 SOCKS 服务器。然后,客户端就要使用的身份验证方法进行协商,并使用所选方法进行身份验证。
客户端向 SOCKS 服务器发送连接中继请求,其中包含所需的目标 IP 地址和传输端口。服务器在检查客户端满足基本过滤条件后接受请求。然后,网关代表客户端打开与所请求的不受信任主机的连接,然后密切监视随后的 TCP 握手。
SOCKS 服务器通知客户端,如果成功,则开始在两个连接之间中继数据。当组织信任内部用户并且不想检查互联网上发送的内容或应用程序数据时,使用电路级网关。
使用 DMZ 部署防火墙
防火墙是一种用于控制“进”和“出”组织内部网络的网络流量的机制。在大多数情况下,这些系统有两个网络接口,一个用于外部网络,例如互联网,另一个用于内部。
防火墙进程可以严格控制允许从一侧穿越到另一侧的内容。希望提供对其 Web 服务器的外部访问的组织可以限制除端口 80(标准 http 端口)之外到达防火墙的所有流量。所有其他流量(例如邮件流量、FTP、SNMP 等)均不允许穿过防火墙进入内部网络。下图显示了一个简单防火墙的示例。
在上面的简单部署中,尽管来自外部的所有其他访问都被阻止,但攻击者不仅可以联系 Web 服务器,还可以联系内部网络上因意外或其他原因而打开端口 80 的任何其他主机。
因此,大多数组织面临的问题是如何实现对 Web、FTP 和电子邮件等公共服务的合法访问,同时保持内部网络的严格安全性。典型的方法是部署防火墙以在网络中提供非军事区 (DMZ)。
在此设置中(如下图所示),部署了两个防火墙;一个在外部网络和 DMZ 之间,另一个在 DMZ 和内部网络之间。所有公共服务器都放置在 DMZ 中。
通过此设置,可以拥有允许公众访问公共服务器的防火墙规则,但内部防火墙可以限制所有传入连接。通过DMZ,公共服务器可以得到足够的保护,而不是直接放置在外部网络上。
入侵检测/预防系统
数据包过滤防火墙根据仅涉及 TCP/UDP/IP 标头的规则进行操作。他们不会尝试在不同会话之间建立相关性检查。
入侵检测/防御系统 (IDS/IPS) 通过查看数据包内容来执行深度数据包检查 (DPI)。例如,根据已知病毒、攻击字符串的数据库检查数据包中的字符串。
应用程序网关确实会查看数据包内容,但仅针对特定应用程序。他们不会在数据包中查找可疑数据。IDS/IPS 查找数据包中包含的可疑数据,并尝试检查多个数据包之间的相关性,以识别任何攻击,例如端口扫描、网络映射和拒绝服务等。
IDS 和 IPS 的区别
IDS 和 IPS 在检测网络异常方面类似。IDS 是一种“可见性”工具,而 IPS 则被视为一种“控制”工具。
入侵检测系统位于网络一侧,监控许多不同点的流量,并提供网络安全状态的可见性。如果 IDS 报告异常,则由网络管理员或网络上的其他设备启动纠正措施。
入侵防御系统就像防火墙,它们位于两个网络之间并控制通过它们的流量。它强制执行指定的策略来检测网络流量中的异常情况。一般来说,它会在发现异常时丢弃所有数据包并阻止整个网络流量,直到管理员解决异常为止。
入侵检测系统的类型
IDS 有两种基本类型。
基于签名的入侵检测系统
它需要一个包含已知攻击及其签名的数据库。
签名由表征特定攻击的数据包的类型和顺序定义。
这种类型的 IDS 的局限性是只能检测到已知的攻击。该 IDS 也可能发出误报。当正常数据包流与攻击签名匹配时,可能会发生误报。
著名的公共开源 IDS 示例是“Snort”IDS。
基于异常的 IDS
这种类型的 IDS 创建正常网络操作的流量模式。
在 IDS 模式下,它会查看统计上异常的流量模式。例如ICMP异常负载、端口扫描呈指数增长等。
检测到任何异常流量模式都会生成警报。
此类IDS部署面临的主要挑战是难以区分正常流量和异常流量。
概括
在本章中,我们讨论了网络访问控制所采用的各种机制。通过访问控制实现网络安全的方法在技术上与本教程前面章节中讨论的在不同网络层实现安全控制不同。然而,尽管实施方法不同,但它们是相互补充的。
网络访问控制包括两个主要部分:用户认证和网络边界保护。RADIUS 是一种在网络中提供集中身份验证的流行机制。
防火墙通过将内部网络与公共互联网分开来提供网络边界保护。防火墙可以在网络协议的不同层上运行。IDS/IPS 允许监控网络流量中的异常情况,以检测攻击并采取预防措施。