网络安全 – 快速指南

网络安全 – 快速指南


网络安全 – 概述

在这个现代时代,组织极大地依赖计算机网络以高效和富有成效的方式在整个组织内共享信息。组织计算机网络现在变得庞大且无处不在。假设每个员工都有一个专用的工作站,那么大型公司在网络上将有几千个工作站和许多服务器。

这些工作站很可能没有集中管理,也没有周边保护。它们可能拥有多种操作系统、硬件、软件和协议,用户之间的网络意识水平也不同。现在想象一下,公司网络上的这数千个工作站直接连接到 Internet。这种不安全的网络成为攻击的目标,其中包含有价值的信息并显示漏洞。

在本章中,我们描述了网络的主要漏洞和网络安全的意义。在随后的章节中,我们将讨论实现相同目标的方法。

物理网络

网络被定义为连接在一起以有效共享资源的两个或多个计算设备。此外,将两个或更多网络连接在一起称为网络互联因此,互联网只是一个互联网络——互联网络的集合。

对于设置其内部网络,组织有多种选择。它可以使用有线网络或无线网络连接所有工作站。如今,组织大多使用有线和无线网络的组合。

有线和无线网络

在有线网络中,设备通过电缆相互连接。通常,有线网络基于以太网协议,其中设备使用非屏蔽双绞线 (UTP) 电缆连接到不同的交换机。这些交换机进一步连接到网络路由器以访问互联网。

在无线网络中,设备通过无线电传输连接到接入点。接入点通过电缆进一步连接到交换机/路由器以进行外部网络访问。

有线和无线网络

无线网络因其提供的移动性而广受欢迎。移动设备无需绑定线缆,可以在无线网络范围内自由漫游。这确保了有效的信息共享并提高了生产力。

漏洞和攻击

有线和无线网络中都存在的常见漏洞是对网络的“未经授权的访问”。攻击者可以通过不安全的集线器/交换机端口将他的设备连接到网络。在这方面,无线网络被认为不如有线网络安全,因为无线网络无需任何物理连接即可轻松访问。

访问后,攻击者可以利用此漏洞发起攻击,例如 –

  • 嗅探数据包数据以窃取有价值的信息。

  • 通过用虚假数据包淹没网络介质来拒绝对网络上合法用户的服务。

  • 欺骗合法主机的物理身份 (MAC),然后窃取数据或进一步发起“中间人”攻击。

网络协议

网络协议是一组规则,用于管理网络上连接的设备之间的通信。它们包括建立连接的机制,以及用于发送和接收消息的数据打包的格式规则。

已经开发了几种计算机网络协议,每种协议都是为特定目的而设计的。流行和广泛使用的协议是 TCP/IP 以及相关的高层和低层协议。

TCP/IP 协议

传输控制协议(TCP) 和互联网协议(IP) 是两种不同的计算机网络协议,通常一起使用。由于它们的流行和广泛采用,它们内置于联网设备的所有操作系统中。

IP 对应于网络层(第 3 层),而 TCP 对应于 OSI 中的传输层(第 4 层)。TCP/IP 适用于网络通信,其中 TCP 传输用于跨 IP 网络传送数据。

TCP/IP 协议通常与其他协议一起使用,例如应用层的 HTTP、FTP、SSH 和数据链路/物理层的以太网。

TCP/IP 协议

TCP/IP 协议套件创建于 1980 年,作为一种很少考虑安全方面的网络互连解决方案。

它是为有限可信网络中的通信而开发的。然而,一段时间后,该协议成为不安全互联网通信的事实上的标准。

TCP/IP 协议套装的一些常见安全漏洞是 –

  • HTTP 是 TCP/IP 套件中的应用层协议,用于从 Web 服务器传输构成网页的文件。这些传输以纯文本形式完成,入侵者可以轻松读取服务器和客户端之间交换的数据包。

  • 另一个 HTTP 漏洞是在会话初始化期间客户端和 Web 服务器之间的弱身份验证。此漏洞可能导致会话劫持攻击,攻击者窃取合法用户的 HTTP 会话。

  • TCP协议漏洞是建立连接的三向握手。攻击者可以发起拒绝服务攻击“SYN-flooding”来利用该漏洞。他通过不完成握手来建立许多半开的会话。这会导致服务器过载并最终崩溃。

  • IP 层容易受到许多漏洞的影响。通过修改IP协议头,攻击者可以发起IP欺骗攻击。

除了上述提到的之外,TCP/IP 协议族在设计和实现过程中还存在许多其他安全漏洞。

顺便提一下,在基于 TCP/IP 的网络通信中,如果一层被黑客入侵,其他层不会意识到黑客入侵,整个通信都会受到损害。因此,需要在每一层采用安全控制来确保万无一失的安全性。

DNS 协议

域名系统(DNS) 用于将主机域名解析为 IP 地址。网络用户主要在通过在 Web 浏览器中键入 URL 来浏览 Internet 期间依赖 DNS 功能。

在对 DNS 的攻击中,攻击者的目标是修改合法的 DNS 记录,以便将其解析为错误的 IP 地址。它可以将该 IP 的所有流量定向到错误的计算机。攻击者可以利用 DNS 协议漏洞或破坏 DNS 服务器来实现攻击。

DNS 缓存中毒是一种利用 DNS 协议中发现的漏洞的攻击。攻击者可能通过伪造对解析器发送到权威服务器的递归 DNS 查询的响应来毒化缓存。一旦 DNS 解析器的缓存中毒,主机将被定向到恶意网站,并可能通过与该站点的通信来破坏凭据信息。

DNS 协议

ICMP协议

Internet 控制管理协议(ICMP) 是 TCP/IP 网络的基本网络管理协议。它用于发送有关联网设备状态的错误和控制消息。

ICMP 是 IP 网络实施的一个组成部分,因此存在于网络设置中。ICMP 有其自身的漏洞,可以被滥用以对网络发起攻击。

由于ICMP漏洞可能在网络上发生的常见攻击是 –

  • ICMP 允许攻击者进行网络侦察,以确定网络拓扑和进入网络的路径。ICMP 扫描涉及发现在整个目标网络中处于活动状态的所有主机 IP 地址。

  • 跟踪路由是一种流行的 ICMP 实用程序,用于通过实时描述从客户端到远程主机的路径来映射目标网络。

  • 攻击者可以利用 ICMP 漏洞发起拒绝服务攻击。此攻击涉及向目标设备发送超过 65,535 字节的 IPMP ping 数据包。目标计算机无法正确处理此数据包,并可能导致操作系统崩溃。

其他协议如 ARP、DHCP、SMTP 等也存在漏洞,攻击者可以利用这些漏洞破坏网络安全。我们将在后面的章节中讨论其中的一些漏洞。

协议设计和实施过程中对安全方面最不关心的问题已成为威胁网络安全的主要原因。

网络安全的目标

正如前面部分所讨论的,网络中存在大量漏洞。因此,在传输过程中,数据极易受到攻击。攻击者可以瞄准通信通道,获取数据,然后读取相同的信息或重新插入虚假消息以实现其邪恶目的。

网络安全不仅仅关注通信链两端计算机的安全;然而,它旨在确保整个网络的安全。

网络安全需要保护网络和数据的可用性、可靠性、完整性和安全性。有效的网络安全可以抵御进入网络或在网络上传播的各种威胁。

网络安全的主要目标是机密性、完整性和可用性。网络安全的这三个支柱通常被表示为CIA 三角形

  • 机密性机密性的功能是保护宝贵的业务数据免受未经授权的人的侵害。网络安全的保密部分确保数据仅对预期和授权的人可用。

  • 完整性– 此目标意味着维护和确保数据的准确性和一致性。完整性的功能是确保数据是可靠的,不会被未经授权的人更改。

  • 可用性– 网络安全中的可用性功能是确保合法用户在需要时始终可以使用数据、网络资源/服务。

实现网络安全

确保网络安全可能看起来非常简单。要实现的目标似乎很简单。但实际上,用于实现这些目标的机制非常复杂,理解它们需要合理的推理。

国际电信联盟(ITU) 在其关于安全架构 X.800 的建议中定义了某些机制,以实现网络安全的方法标准化。其中一些机制是 –

  • 加密– 此机制通过将数据转换为未授权人员无法读取的形式来提供数据保密服务。该机制使用带有秘密密钥的加密-解密算法。

  • 数字签名– 这种机制是电子数据中普通签名的电子等效物。它提供了数据的真实性。

  • 访问控制– 此机制用于提供访问控制服务。这些机制可以使用实体的标识和认证来确定和强制执行实体的访问权限。

在开发和确定了实现网络安全的各种安全机制之后,决定在何处应用它们是至关重要的;物理上(在什么位置)和逻辑上(在体系结构的哪个层,如 TCP/IP)。

网络层的安全机制

已经开发了几种安全机制,它们可以在 OSI 网络层模型的特定层进行开发。

  • 应用程序层的安全 – 该层使用的安全措施是特定于应用程序的。不同类型的应用程序需要单独的安全措施。为了保证应用层的安全,需要对应用进行修改。

    人们认为设计一个加密合理的应用协议是非常困难的,而正确地实现它则更具挑战性。因此,用于保护网络通信的应用层安全机制最好是已经使用了一段时间的基于标准的解决方案。

    应用层安全协议的一个示例是安全多用途 Internet 邮件扩展 (S/MIME),它通常用于加密电子邮件消息。DNSSEC 是该层的另一个协议,用于安全交换 DNS 查询消息。

  • 传输层安全 – 该层的安全措施可用于保护两台主机之间单个通信会话中的数据。传输层安全协议最常见的用途是保护 HTTP 和 FTP 会话流量。传输层安全 (TLS) 和安全套接字层 (SSL) 是用于此目的的最常用协议。

  • 网络层– 该层的安全措施可应用于所有应用程序;因此,它们不是特定于应用程序的。两台主机或网络之间的所有网络通信都可以在这一层得到保护,而无需修改任何应用程序。在某些环境中,由于难以向单个应用程序添加控件,因此网络层安全协议(例如 Internet 协议安全性 (IPsec))提供了比传输层或应用程序层控制更好的解决方案。然而,这一层的安全协议提供了一些应用程序可能需要的较少的通信灵活性。

顺便说一下,设计为在较高层运行的安全机制不能为较低层的数据提供保护,因为较低层执行较高层不知道的功能。因此,可能需要部署多种安全机制来增强网络安全性。

在本教程的以下章节中,我们将讨论在 OSI 网络架构的不同层采用的安全机制,以实现网络安全。

网络安全 – 应用层

现在通过客户端-服务器应用程序在线提供各种商业服务。最流行的形式是网络应用程序和电子邮件。在这两个应用程序中,客户端都与指定的服务器通信并获得服务。

在使用来自任何服务器应用程序的服务时,客户端和服务器会在底层 Intranet 或 Internet 上交换大量信息。我们知道这些信息交易容易受到各种攻击。

网络安全需要保护数据在网络上传输时免受攻击。为了实现这一目标,人们设计了许多实时安全协议。此类协议至少需要提供以下主要目标 –

  • 双方可以交互协商以相互验证。
  • 在网络上交换信息之前建立一个秘密的会话密钥。
  • 以加密形式交换信息。

有趣的是,这些协议适用于网络模型的不同层。例如,S/MIME协议工作在应用层,SSL协议工作在传输层,IPsec协议工作在网络层。

应用层

在本章中,我们将讨论实现电子邮件通信和相关安全协议安全的不同过程。随后将介绍保护 DNS 的方法。在后面的章节中,将描述实现 Web 安全的协议。

电子邮件安全

如今,电子邮件已成为使用非常广泛的网络应用。在继续了解电子邮件安全协议之前,让我们简要讨论一下电子邮件基础结构。

电子邮件基础设施

发送电子邮件的最简单方法是直接从发件人的机器向收件人的机器发送消息。在这种情况下,两台机器必须同时在网络上运行。但是,这种设置是不切实际的,因为用户有时可能会将他们的机器连接到网络。

因此,设置电子邮件服务器的概念出现了。在此设置中,邮件被发送到网络上永久可用的邮件服务器。当收件人的机器连接到网络时,它会从邮件服务器读取邮件。

一般而言,电子邮件基础结构由邮件服务器网格(也称为消息传输代理(MTA))和运行包含用户代理 (UA) 和本地 MTA 的电子邮件程序的客户端计算机组成。

通常,电子邮件消息从其 UA 转发,通过 MTA 网,最后到达收件人机器上的 UA。

电子邮件基础设施

用于电子邮件的协议如下 –

  • 用于转发电子邮件的简单邮件传输协议 (SMTP)。

  • 邮局协议 (POP) 和 Internet 消息访问协议 (IMAP) 用于按收件人从服务器检索消息。

哑剧

基本 Internet 电子邮件标准于 1982 年编写,它描述了在 Internet 上交换的电子邮件消息的格式。它主要支持以基本罗马字母表的文本形式编写的电子邮件。

到 1992 年,人们感到有必要对其进行改进。因此,定义了一个附加的标准多用途 Internet 邮件扩展(MIME)。它是对基本 Internet 电子邮件标准的一组扩展。MIME 提供了使用基本罗马字母以外的字符发送电子邮件的功能,例如西里尔字母(在俄语中使用)、希腊字母,甚至中文的表意字符。

MIME 满足的另一个需求是发送非文本内容,例如图像或视频剪辑。由于此功能,MIME 标准被广泛采用与 SMTP 一起用于电子邮件通信。

电子邮件安全服务

在重要和关键交易中越来越多地使用电子邮件通信需要提供某些基本安全服务,如下所示 –

  • 机密性– 除预期收件人外,任何人都不应阅读电子邮件。

  • 身份验证– 电子邮件收件人可以确定发件人的身份。

  • 完整性– 向收件人保证电子邮件自发件人传输以来未被更改。

  • 不可否认性– 电子邮件收件人能够向第三方证明发件人确实发送了邮件。

  • 提交证明– 电子邮件发件人确认邮件已提交给邮件传递系统。

  • 交付证明– 发件人确认收件人收到了消息。

诸如隐私、身份验证、消息完整性和不可否认性等安全服务通常是通过使用公钥密码术来提供的。

通常,存在三种不同的电子邮件通信场景。我们将讨论在这些场景中实现上述安全服务的方法。

一对一电子邮件

在这种情况下,发件人只向一个收件人发送一封电子邮件。通常,通信中涉及的 MTA 不超过两个。

一对一电子邮件

假设发件人想要向收件人发送机密电子邮件。在这种情况下提供隐私如下 –

  • 发送方和接收方的私钥-公钥为 (SPVT, SPUB) 和 (RPVT,RPUB) 分别。

  • 发送方生成一个秘密对称密钥 KS用于加密。尽管发件人可以使用 RPUB 对于加密,使用对称密钥来实现更快的加密和解密。

  • 发送方使用密钥 K 加密消息S 并加密 KS 使用接收者的公钥,RPUB.

  • 发送方发送加密消息和加密KS 给收件人。

  • 接收者首先获得KS 通过解密编码的 KS 使用他的私钥 RPVT.

  • 然后接收者使用对称密钥 K 解密消息S.

机密电子邮件

如果本场景还需要消息完整性、认证和不可否认服务,则在上述流程中增加以下步骤。

  • 发件人生成消息散列并用他的私钥 S 对该散列进行数字签名PVT.

  • 发件人将此签名散列与其他组件一起发送给收件人。

消息完整性认证和不可否认性

  • 接收方使用公钥 SPUB 并提取在发件人签名下收到的哈希值。

  • 接收者然后散列解密的消息,现在比较两个散列值。如果它们匹配,则认为已实现消息完整性。

  • 此外,收件人确保消息是由发件人发送的(身份验证)。最后,发送者不能否认他没有发送消息(不可否认)。

一对多收件人电子邮件

在这种情况下,发件人向两个或多个收件人发送一封电子邮件。该列表由发件人的电子邮件程序(UA + 本地 MTA)管理。所有收件人都会收到相同的消息。

一对多收件人电子邮件

让我们假设,发件人想要向许多收件人(比如 R1、R2 和 R3)发送机密电子邮件。在这种情况下提供隐私如下 –

  • 发件人和所有收件人都有自己的一对公私密钥。

  • 发送方生成一个秘密对称密钥 Ks 并使用此密钥加密消息。

  • 发送方然后加密 KS 多次使用 R1、R2 和 R3 的公钥,得到 R1PUB(KS), R2PUB(KS) 和 R3PUB(KS)。

  • 发送方发送加密消息和对应的加密KS给收件人。例如,收件人 1 (R1) 收到加密消息,而 R1PUB(KS)。

  • 每个接收者首先提取密钥 KS 通过解密编码的 KS 使用他的私钥。

  • 然后每个接收者使用对称密钥 K 解密消息S.

对于提供消息完整性、身份验证和不可否认性,要遵循的步骤与上述一对一电子邮件场景中的步骤类似。

一对一分发列表电子邮件

在这种情况下,发件人向两个或多个收件人发送电子邮件,但收件人列表不是由发件人在本地管理的。通常,电子邮件服务器 (MTA) 维护邮件列表。

发件人向管理邮件列表的 MTA 发送一封邮件,然后 MTA 将邮件分解给列表中的所有收件人。

一对一分发列表电子邮件

在这种情况下,当发件人想要向邮件列表的收件人(例如 R1、R2 和 R3)发送机密电子邮件时;隐私保证如下 –

  • 发件人和所有收件人都有自己的一对公私密钥。Exploder Server 为每个邮件列表(ListPUB, 列表PVT) 由它维护。

  • 发送方生成一个秘密的对称密钥 Ks 然后用这个密钥加密消息。

  • 发送方然后加密 KS 用与列表关联的公钥,获得列表PUB(KS)。

  • 发件人发送加密消息和列表PUB(KS)。爆炸器MTA解密列表PUB(KS) 使用列表PVT 并得到 KS.

  • 爆破器加密KS 使用与列表中的成员一样多的公钥。

  • Exploder 转发接收到的加密消息和对应的加密 KS到列表中的所有收件人。例如,Exploder 转发加密消息和 R1PUB(KS) 到收件人 1,依此类推。

加密消息

为了提供消息完整性、身份验证和不可否认性,要遵循的步骤与一对一电子邮件场景中给出的步骤类似。

有趣的是,采用上述安全方法来保护电子邮件的电子邮件程序有望适用于上述所有可能的情况。上述电子邮件的大多数安全机制都是由两个流行的方案提供的,Pretty Good Privacy (PGP) 和 S/MIME。我们将在以下各节中讨论两者。

PGP

Pretty Good Privacy (PGP) 是一种电子邮件加密方案。它已成为为电子邮件通信提供安全服务的事实上的标准。

如上所述,它使用公钥密码术、对称密钥密码术、散列函数和数字签名。它提供 –

  • 隐私
  • 发件人身份验证
  • 消息完整性
  • 不可否认性

除了这些安全服务外,它还提供数据压缩和密钥管理支持。PGP 使用现有的密码算法,例如 RSA、IDEA、MD5 等,而不是发明新的算法。

PGP的工作

PGP的工作

  • 计算消息的哈希值。(MD5算法)

  • 使用发送方的私钥(RSA 算法)对生成的 128 位散列进行签名。

  • 数字签名连接到消息,结果被压缩。

  • 一个 128 位对称密钥,KS 生成并用于使用 IDEA 加密压缩消息。

  • S 使用 RSA 算法使用收件人的公钥加密,并将结果附加到加密的消息中。

PGP 消息的格式如下图所示。ID 指示哪个密钥用于加密 KS,哪个密钥用于验证散列上的签名。

PGP 消息格式

在 PGP 方案中,消息经过签名和加密,然后在传输之前进行 MIME 编码。

PGP证书

PGP 密钥证书通常是通过信任链建立的。例如,A 的公钥由 B 使用他的公钥签名,B 的公钥由 C 使用他的公钥签名。随着这个过程的进行,它建立了一个信任网络。

在 PGP 环境中,任何用户都可以充当认证机构。任何 PGP 用户都可以证明另一个 PGP 用户的公钥。然而,这样的证书仅对另一个用户有效,前提是该用户将证明者识别为受信任的介绍人。

这种认证方法存在几个问题。可能很难找到一条从已知且可信的公钥到所需密钥的链。此外,可能有多个链可以为所需用户提供不同的密钥。

PGP 还可以使用带有证书颁发机构的 PKI 基础设施,公钥可以通过 CA(X.509 证书)进行认证。

S/MIME

S/MIME 代表安全多用途 Internet 邮件扩展。S/MIME 是一种安全的电子邮件标准。它基于早期称为 MIME 的非安全电子邮件标准。

S/MIME 的工作

S/MIME 方法类似于 PGP。它还使用公钥密码术、对称密钥密码术、散列函数和数字签名。它为电子邮件通信提供与 PGP 类似的安全服务。

S/MIME 中最常用的对称密码是 RC2 和 TripleDES。通常的公钥方法是RSA,散列算法是SHA-1或MD5。

S/MIME 指定附加的 MIME 类型,例如“application/pkcs7-mime”,用于加密后的数据封装。整个 MIME 实体被加密并打包成一个对象。S/MIME 具有标准化的加密消息格式(与 PGP 不同)。事实上,MIME 扩展了一些关键字来识别消息中的加密和/或签名部分。

S/MIME 依赖 X.509 证书来分发公钥。它需要自上而下的分层 PKI 来进行认证支持。

S/MIME 的可使用性

由于实施需要证书颁发机构的证书,并非所有用户都可以利用 S/MIME,因为有些用户可能希望使用公钥/私钥对加密消息。例如,没有证书的参与或管理开销。

实际上,尽管大多数电子邮件应用程序都实现了 S/MIME,但证书注册过程很复杂。相反,PGP 支持通常需要添加一个插件,并且该插件带有管理密钥所需的一切。信任网络并没有真正被使用。人们通过另一种媒介交换他们的公钥。一旦获得,他们就会保留一份通常与之交换电子邮件的人的公钥副本。

PGP 和 S/MIME 方案的网络架构中的实现层如下图所示。这两种方案都为电子邮件通信提供了应用程序级别的安全性。

S/MIME 的可使用性

根据环境使用其中一种方案,PGP 或 S/MIME。通过适应 PGP,可以在强制网络中提供安全的电子邮件通信。对于 Internet 上的电子邮件安全,经常与新的未知用户交换邮件,S/MIME 被认为是一个不错的选择。

DNS 安全

在第一章中,我们已经提到攻击者可以使用 DNS Cache Poisoning 对目标用户进行攻击。域名系统安全扩展(DNSSEC) 是一种可以阻止此类攻击的 Internet 标准。

标准 DNS 的漏洞

在标准的 DNS 方案中,每当用户想要连接到任何域名时,他的计算机都会联系 DNS 服务器并查找该域名的关联 IP 地址。获得 IP 地址后,计算机将连接到该 IP 地址。

在这个方案中,根本不涉及验证过程。计算机向其 DNS 服务器询问与网站关联的地址,DNS 服务器以 IP 地址进行响应,您的计算机无疑将其作为合法响应接受并连接到该网站。

DNS 查找实际上分几个阶段进行。例如,当计算机请求“www.tutorialspoint.com”时,DNS 查找分几个阶段执行 –

  • 计算机首先询问本地 DNS 服务器(ISP 提供)。如果 ISP 在其缓存中具有此名称,则它会响应,否则会将查询转发到“根区域目录”,在那里它可以找到“.com”。和根区回复。

  • 根据回复,计算机然后询问“.com”目录,它可以在何处找到“tutorialspoint.com”。

  • 根据收到的信息,计算机查询“tutorialspoint.com”在哪里可以找到 www.tutorialspoint.com。教程点.com。

标准 DNS 漏洞

DNSSEC 定义

当使用 DNSSEC 执行时,DNS 查找涉及响应实体对回复的签名。DNSSEC 基于公钥加密。

在 DNSSEC 标准中,每个 DNS 区域都有一个公钥/私钥对。DNS 服务器发送的所有信息都使用原始区域的私钥进行签名,以确保真实性。DNS 客户端需要知道区域的公钥才能检查签名。客户端可以预先配置所有顶级域或根 DNS 的公钥。

使用 DNSSEC,查找过程如下 –

  • 当您的计算机询问它可以在何处找到 .com 的根区域时,答复由根区域服务器签名。

  • 计算机检查根区的签名密钥并确认它是具有真实信息的合法根区。

  • 在回复中,根区域提供了 .com 区域服务器的签名密钥及其位置的信息,允许计算机联系 .com 目录并确保它是合法的。

  • 然后 .com 目录提供了 tutorialspoint.com 的签名密钥和信息,允许它联系 google.com 并验证您是否已连接到真实的 tutorialspoint.com,正如上面的区域所确认的那样。

  • 发送的信息采用资源记录集(RRSets)的形式。下表显示了顶级“.com”服务器中域“tutorialspoint.com”的RRSet示例。

Domain Name 生活时间 类型 价值
tutorialspoint.com 86400 国民服役 dns.tutorialspoint.com
dns.tutorialspoint.com 86400 一种 36..1.2.3
tutorialspoint.com 86400 钥匙 3682793A7B73F731029CE2737D…
tutorialspoint.com 86400 SIG 86947503A8B848F5272E53930C…
  • KEY记录是“tutorialspoint.com”的公钥。

  • SIG 记录是顶级 .com 服务器对 NS、A 和 KEY 记录字段的签名散列,用于验证其真实性。它的价值是Kcompvt(H(NS,A,KEY))。

因此,认为当DNSSEC全面铺开后,用户的计算机就能够确认DNS响应的合法性和真实性,避免通过DNS缓存中毒发起的DNS攻击。

概括

保护电子邮件的过程可确保通信的端到端安全性。它提供机密性、发送者身份验证、消息完整性和不可否认性等安全服务。

已经为电子邮件安全开发了两种方案:PGP 和 S/MIME。这两种方案都使用秘密密钥和公钥密码术。

标准 DNS 查找容易受到 DNS 欺骗/缓存中毒等攻击。通过使用采用公钥加密的 DNSSEC,确保 DNS 查找安全是可行的。

在本章中,我们讨论了在应用层为端到端通信提供网络安全的机制。

网络安全 – 传输层

网络安全需要保护数据在网络上传输时免受攻击。为了实现这一目标,人们设计了许多实时安全协议。有一些流行的实时网络安全协议标准,例如 S/MIME、SSL/TLS、SSH 和 IPsec。如前所述,这些协议在网络模型的不同层工作。

在上一章中,我们讨论了一些旨在提供应用层安全性的流行协议。在本章中,我们将讨论在传输层和相关安全协议上实现网络安全的过程。

对于基于 TCP/IP 协议的网络,物理和数据链路层通常在用户终端和网卡硬件中实现。TCP 和 IP 层在操作系统中实现。TCP/IP 之上的任何内容都作为用户进程实现。

需要传输层安全

让我们讨论一个典型的基于 Internet 的业务交易。

Bob 访问 Alice 的网站以销售商品。在网站上的表格中,Bob 输入商品类型和所需数量、他的地址和支付卡详细信息。Bob 单击提交并等待货物交付,并从他的帐户中扣除价格金额。所有这些听起来都不错,但是在没有网络安全的情况下,Bob 可能会遇到一些惊喜。

  • 如果交易没有使用机密性(加密),攻击者就可以获得他的支付卡信息。然后攻击者可以以 Bob 的费用进行购买。

  • 如果不使用数据完整性措施,攻击者可以根据货物的类型或数量修改 Bob 的订单。

  • 最后,如果不使用服务器身份验证,服务器可能会显示 Alice 的著名标志,但该站点可能是由伪装成 Alice 的攻击者维护的恶意站点。接到鲍勃的命令后,他可以拿鲍勃的钱逃跑。或者他可以通过收集 Bob 的姓名和信用卡详细信息来进行身份盗用。

传输层安全方案可以通过增强基于 TCP/IP 的网络通信的机密性、数据完整性、服务器身份验证和客户端身份验证来解决这些问题。

该层的安全性主要用于保护网络上基于 HTTP 的 Web 事务。但是,它可以被在 TCP 上运行的任何应用程序使用。

TLS 设计理念

传输层安全 (TLS) 协议在 TCP 层之上运行。这些协议的设计使用流行的应用程序接口 (API) 到 TCP,称为“套接字”,用于与 TCP 层接口。

应用程序现在连接到传输安全层而不是直接连接 TCP。传输安全层提供了一个带有套接字的简单 API,它类似于 TCP 的 API。

TLS 设计理念

在上图中,虽然 TLS 在技术上位于应用层和传输层之间,但从通用角度来看,它是一种传输协议,充当 TCP 层,增强了安全服务。

TLS 旨在通过 TCP(可靠的第 4 层协议(而非 UDP 协议))运行,从而使 TLS 的设计更加简单,因为它不必担心“超时”和“重新传输丢失的数据”。TCP 层像往常一样继续这样做,以满足 TLS 的需要。

为什么 TLS 很受欢迎?

在传输层使用安全性的流行原因是简单。这一层的安全设计和部署不需要对操作系统中实现的 TCP/IP 协议进行任何更改。只需要设计/修改用户流程和应用程序,这不太复杂。

安全套接字层 (SSL)

在本节中,我们将讨论为 TLS 设计的协议系列。该系列包括 SSL 版本 2 和 3 以及 TLS 协议。SSLv2 现在已被 SSLv3 取代,因此我们将重点介绍 SSL v3 和 TLS。

SSL 简史

1995 年,Netscape 开发了 SSLv2 并用于 Netscape Navigator 1.1。SSL version1 从未发布和使用过。后来,微软对 SSLv2 进行了改进,并引入了另一个类似的协议,称为私有通信技术 (PCT)。

Netscape 在各种安全问题上大幅改进了 SSLv2,并于 1999 年部署了 SSLv3。随后,互联网工程任务组 (IETF) 引入了类似的 TLS(传输层安全)协议作为开放标准。TLS 协议不可与 SSLv3 互操作。

TLS 修改了用于密钥扩展和身份验证的加密算法。此外,TLS 建议使用开放加密 Diffie-Hellman (DH) 和数字签名标准 (DSS) 代替 SSL 中使用的专利 RSA 加密。但由于 2000 年 RSA 专利到期,用户没有充分理由从广泛部署的 SSLv3 转向 TLS。

SSL的显着特点

SSL协议的显着特点如下 –

  • SSL通过以下方式提供网络连接安全 –

    • 机密性– 信息以加密形式交换。

    • 身份验证– 通信实体通过使用数字证书相互识别。Web 服务器身份验证是强制性的,而客户端身份验证是可选的。

    • 可靠性– 维护消息完整性检查。

  • SSL 可用于所有 TCP 应用程序。

  • 几乎所有的网络浏览器都支持。

  • 为与新的在线实体开展业务提供便利。

  • 主要为 Web 电子商务开发。

SSL的架构

SSL 特定于 TCP,它不适用于 UDP。SSL 为应用程序提供应用程序编程接口 (API)。C 和 Java SSL 库/类随时可用。

SSL 协议旨在在应用程序和传输层之间进行交互,如下图所示 –

SSL 架构

SSL 本身不是如图所示的单层协议;实际上它由两个子层组成。

  • 较低的子层由称为 SSL 记录协议的 SSL 协议的一个组件组成。该组件提供完整性和机密性服务。

  • 上层子层由三个与 SSL 相关的协议组件和一个应用程序协议组成。应用程序组件提供客户端/服务器交互之间的信息传输服务。从技术上讲,它也可以在 SSL 层之上运行。三个与 SSL 相关的协议组件是 –

    • SSL 握手协议
    • 更改密码规范协议
    • 警报协议。
  • 这三个协议管理所有 SSL 消息交换,将在本节后面讨论。

SSL 协议架构

SSL 协议组件的功能

SSL 协议的四个子组件处理各种任务,以确保客户端机器和服务器之间的安全通信。

  • 记录协议

    • 记录层格式化上层协议消息。

    • 它将数据分段为可管理的块(最大长度为 16 KB)。它可以选择压缩数据。

    • 加密数据。

    • 为每条消息提供一个标头,并在末尾提供一个散列(消息验证码 (MAC))。

    • 将格式化后的块交给 TCP 层传输。

SSL 协议功能

  • SSL 握手协议

    • 它是 SSL 中最复杂的部分。在传输任何应用程序数据之前调用它。它在客户端和服务器之间创建 SSL 会话。

    • 会话的建立包括服务器认证、密钥和算法协商、建立密钥和客户端认证(可选)。

    • 会话由一组唯一的加密安全参数标识。

    • 客户端和服务器之间的多个安全 TCP 连接可以共享同一个会话。

    • 握手协议操作分为四个阶段。这些将在下一节中讨论。

  • 更改密码规范协议

    • SSL 协议中最简单的部分。它由在两个通信实体(客户端和服务器)之间交换的单个消息组成。

    • 当每个实体发送 ChangeCipherSpec 消息时,它会按照约定将其连接端更改为安全状态。

    • 密码参数挂起状态被复制到当前状态。

    • 此消息的交换表明所有未来的数据交换都已加密且完整性受到保护。

  • SSL 警报协议

    • 该协议用于报告错误——如意外消息、MAC 记录错误、安全参数协商失败等。

    • 它还用于其他目的——例如通知关闭 TCP 连接、通知收到错误或未知证书等。

SSL Session的建立

如上所述,SSL 会话建立有四个阶段。这些主要由 SSL 握手协议处理。

阶段 1 – 建立安全能力。

  • 这个阶段包括两个消息的交换—— Client_helloServer_hello

SSL会话建立阶段1

  • Client_hello包含客户端支持的加密算法列表,按优先级降序排列。

  • Server_hello包含选定的密码规范 (CipherSpec) 和一个新的session_id

  • CipherSpec 包含以下字段 –

    • 密码算法(DES、3DES、RC2 和 RC4)

    • MAC 算法(基于 MD5、SHA-1)

    • 公钥算法 (RSA)

    • 两条消息都有“nonce”以防止重放攻击。

阶段 2 – 服务器身份验证和密钥交换。

SSL 会话建立 Phase2

  • 服务器发送证书。客户端软件配置了各种“受信任”组织 (CA) 的公钥以检查证书。

  • 服务器发送选择的密码套件。

  • 服务器可能会请求客户端证书。通常不这样做。

  • Server 表示Server_hello 的结束

阶段 3 – 客户端身份验证和密钥交换。

SSL会话建立阶段3

  • 客户端发送证书,仅当服务器请求时。

  • 它还发送使用服务器公钥加密的预主密钥 (PMS)。

  • 如果客户端发送证书以证明他拥有与此证书关联的私钥,则客户端还会发送Certificate_verify消息。基本上,客户端对先前消息的散列进行签名。

阶段 4 – 完成。

SSL会话建立阶段4

  • 客户端和服务器相互发送Change_cipher_spec消息,以将待处理的密码状态复制到当前状态。

  • 从现在开始,所有数据都经过加密并受到完整性保护。

  • 来自每一端的消息“完成”验证密钥交换和身份验证过程是否成功。

上面讨论的所有四个阶段都发生在 TCP 会话的建立过程中。SSL 会话建立在 TCP SYN/SYNACK 之后开始并在 TCP Fin 之前完成。

恢复断开连接的会话

  • 如果客户端向服务器发送带有加密session_id信息hello_request,则可以恢复断开的会话(通过Alert消息)

  • 然后服务器确定session_id是否有效。如果验证通过,它会与客户端交换 ChangeCipherSpec 和完成的消息,并恢复安全通信。

  • 这样可以避免重新计算会话密码参数,节省服务器端和客户端的计算量。

SSL 会话密钥

我们已经看到,在 SSL 会话建立的第 3 阶段,客户端将使用服务器的公钥加密的预主密钥发送到服务器。主密钥和各种会话密钥生成如下 –

  • 主密钥是使用以下方法生成的(通过伪随机数生成器) –

    • 前大师的秘密。

    • 在 client_hello 和 server_hello 消息中交换了两个 nonce(RA 和 RB)。

  • 然后从这个主秘密派生六个秘密值作为 –

    • 与 MAC 一起使用的密钥(用于服务器发送的数据)

    • 与 MAC 一起使用的密钥(用于客户端发送的数据)

    • 用于加密的密钥和 IV(由服务器)

    • 用于加密的密钥和 IV(由客户端)

TLS 协议

为了提供 SSL 的开放互联网标准,IETF 于 1999 年 1 月发布了传输层安全 (TLS) 协议。 TLS 在 RFC 5246 中被定义为提议的互联网标准。

显着特点

  • TLS 协议与 SSL 具有相同的目标。

  • 它使客户端/服务器应用程序能够通过身份验证、防止窃听和抵制消息修改以安全的方式进行通信。

  • TLS 协议位于网络层堆栈中可靠的面向连接的传输 TCP 层之上。

  • TLS 协议的架构类似于 SSLv3 协议。它有两个子协议:TLS Record 协议和 TLS Handshake 协议。

  • 尽管 SSLv3 和 TLS 协议具有相似的体系结构,但在体系结构和功能方面进行了一些更改,特别是对于握手协议。

TLS 和 SSL 协议的比较

TLS 和 SSLv3 协议之间有八个主要区别。这些如下 –

  • 协议版本– TLS 协议段的标头携带版本号 3.1,以区分 SSL 协议段标头携带的数字 3。

  • 消息身份验证– TLS 采用密钥散列消息身份验证代码(H-MAC)。好处是 H-MAC 可以使用任何散列函数运行,而不仅仅是 MD5 或 SHA,正如 SSL 协议明确规定的那样。

  • 会话密钥生成– TLS 和 SSL 协议在生成密钥材料方面有两个区别。

    • 计算 pre-master 和 master secret 的方法类似。但在 TLS 协议中,主密钥的计算使用 HMAC 标准和伪随机函数 (PRF) 输出而不是 ad-hoc MAC。

    • TLS 中用于计算会话密钥和初始值 (IV) 的算法与 SSL 协议不同。

  • 警报协议消息 –

    • TLS 协议支持 SSL 的 Alert 协议使用的所有消息,除了没有冗余的证书警报消息。如果不需要客户端身份验证,客户端会发送空证书。

    • TLS 协议中包含许多其他警报消息,用于其他错误条件,例如record_overflow、decode_error等。

  • 支持的密码套件– SSL 支持 RSA、Diffie-Hellman 和 Fortezza 密码套件。TLS 协议支持除 Fortezza 之外的所有花色。

  • 客户端证书类型– TLS 定义了要在certificate_request消息中请求的证书类型SSLv3 支持所有这些。此外,SSL 支持某些其他类型的证书,例如 Fortezza。

  • CertificateVerify 和完成的消息 –

    • 在 SSL 中,certificate_verify消息使用复杂的消息过程使用 TLS,经过验证的信息包含在握手消息本身中,从而避免了这个复杂的过程。

    • 完成的消息在 TLS 和 SSLv3 中以不同的方式计算。

  • 填充数据– 在 SSL 协议中,加密前添加到用户数据的填充是使总数据大小等于密码块长度的倍数所需的最小量。在 TLS 中,填充可以是任何数量,导致数据大小是密码块长度的倍数,最多 255 个字节。

下表总结了 TLS 和 SSLv3 协议之间的上述差异。

TLS 与 SSLv3

安全浏览 – HTTPS

在本节中,我们将讨论使用 SSL/TLS 协议来执行安全的 Web 浏览。

HTTPS 定义

超文本传输​​协议 (HTTP) 协议用于网页浏览。HTTPS 的功能类似于 HTTP。唯一的区别是 HTTPS 提供“安全”的网络浏览。HTTPS 代表基于 SSL 的 HTTP。该协议用于在客户端 Web 浏览器和网站服务器之间提供经过加密和验证的连接。

HTTPS 定义

通过 HTTPS 的安全浏览确保以下内容被加密 –

  • 请求的网页的 URL。
  • 服务器向用户客户端提供的网页内容。
  • 用户填写的表格内容。
  • 双向建立 Cookie。

HTTPS 的工作

HTTPS 应用程序协议通常使用两种流行的传输层安全协议之一 – SSL 或 TLS。安全浏览的过程分以下几点进行说明。

  • 您可以通过在浏览器地址栏中输入 https:// 后跟 URL 来请求网页的 HTTPS 连接。

  • Web 浏览器启动与 Web 服务器的连接。使用 https 调用使用 SSL 协议。

  • 应用程序(在本例中为浏览器)使用系统端口 443 而不是端口 80(在 http 的情况下使用)。

  • SSL 协议通过握手协议来建立安全会话,如前几节所述。

  • 该网站最初将其 SSL 数字证书发送到您的浏览器。在验证证书时,SSL 握手会进行以交换会话的共享机密。

  • 当服务器使用受信任的 SSL 数字证书时,用户会在浏览器地址栏中看到一个挂锁图标。在网站上安装扩展验证证书后,地址栏会变为绿色。

HTTPS 工作

  • 建立后,此会话由 Web 服务器和浏览器之间的许多安全连接组成。

HTTPS 的使用

  • HTTPS 的使用为用户提供机密性、服务器身份验证和消息完整性。它可以在 Internet 上安全地进行电子商务。

  • 防止数据窃听并拒绝身份盗用,这是对 HTTP 的常见攻击。

当今的 Web 浏览器和 Web 服务器都配备了 HTTPS 支持。但是使用HTTPS over HTTP,需要客户端和服务器端有更多的计算能力来进行加密和SSL握手。

安全外壳协议 (SSH)

SSH 的显着特点如下 –

  • SSH 是一种运行在 TCP/IP 层之上的网络协议。它旨在取代提供不安全的远程登录工具方式的 TELNET。

  • SSH 提供安全的客户端/服务器通信,可用于文件传输和电子邮件等任务。

  • SSH2 是一种流行的协议,与早期版本的 SSH1 相比,它提供了改进的网络通信安全性。

SSH 定义

SSH 被组织为三个子协议。

SSH 定义

  • 传输层协议– SSH协议的这一部分提供数据的保密性,服务器(主机)验证,和数据完整性。它还可以选择提供数据压缩。

    • 服务器身份验证– 主机密钥与公钥/私钥一样是非对称的。服务器使用公钥向客户端证明其身份。客户端从它维护的数据库中验证所联系的服务器是否是“已知”主机。服务器通过身份验证后,将生成会话密钥。

    • 会话密钥建立– 身份验证后,服务器和客户端就要使用的密码达成一致。会话密钥由客户端和服务器生成。会话密钥在用户身份验证之前生成,以便用户名和密码可以加密发送。这些密钥通常在会话期间定期(例如每小时)更换一次,并在使用后立即销毁。

    • 数据完整性– SSH 使用消息验证码 (MAC) 算法进行数据完整性检查。它是对 SSH1 使用的 32 位 CRC 的改进。

  • 用户身份验证协议– SSH 的这一部分向服务器验证用户。服务器验证是否只向预期用户授予访问权限。目前使用了许多身份验证方法,例如键入密码、Kerberos、公钥身份验证等。

  • 连接协议– 这通过单个底层 SSH 连接提供多个逻辑通道。

SSH服务

SSH 提供三种主要服务,可以提供许多安全解决方案。这些服务简要描述如下 –

  • Secure Command-Shell (Remote Logon) – 它允许用户编辑文件、查看目录内容以及访问连接设备上的应用程序。系统管理员可以远程启动/查看/停止服务和进程、创建用​​户帐户、更改文件/目录权限等。现在可以使用安全远程登录从远程机器安全地执行在机器命令提示符下可行的所有任务。

  • 安全文件传输– SSH 文件传输协议 (SFTP) 被设计为 SSH-2 的扩展,用于安全文件传输。从本质上讲,它是一个独立的协议,位于 Secure Shell 协议之上,用于处理文件传输。SFTP 对用户名/密码和正在传输的文件数据进行加密。它使用与 Secure Shell 服务器相同的端口,即系统端口号 22。

  • 端口转发(隧道) – 它允许保护来自不安全的基于 TCP/IP 的应用程序的数据。设置端口转发后,Secure Shell 重新路由来自程序(通常是客户端)的流量,并通过加密隧道将其发送到另一端(通常是服务器)的程序。多个应用程序可以通过单个多路复用安全通道传输数据,无需在防火墙或路由器上打开许多端口。

SSH服务

优点和限制

在传输层采用通信安全的好处和局限性如下 –

  • 好处

    • 传输层安全对应用程序是透明的。

    • 服务器已通过身份验证。

    • 应用层标题是隐藏的。

    • 它比第 3 层 (IPsec) 的安全机制更细粒度,因为它在传输连接级别工作。

  • 限制

    • 仅适用于基于 TCP 的应用程序(不适用于 UDP)。

    • TCP/IP 标头是清晰的。

    • 适用于客户端和服务器之间的直接通信。不适合使用服务器链(例如电子邮件)的安全应用程序

    • SSL 不提供不可否认性,因为客户端身份验证是可选的。

    • 如果需要,需要在 SSL 之上实现客户端身份验证。

概括

在过去的十年中,Internet 上出现了大量的 Web 应用程序。许多电子政务和电子商务门户网站已经上线。这些应用程序要求服务器和客户端之间的会话是安全的,提供会话的机密性、身份验证和完整性。

在用户会话期间减轻潜在攻击的一种方法是使用安全通信协议。本章讨论了两个这样的通信协议,即安全套接字层 (SSL) 和传输层安全 (TLS)。这两个协议都在传输层起作用。

另一种传输层协议,安全外壳 (SSH),旨在取代 TELNET,提供远程登录设施的安全手段。它能够提供各种服务,例如 Secure Command Shell 和 SFTP。

使用传输层安全有很多好处。但是,在这些层设计的安全协议只能与 TCP 一起使用。它们不为使用 UDP 实现的通信提供安全性。

网络安全 – 网络层

网络层安全控制经常用于保护通信安全,尤其是在 Internet 等共享网络上,因为它们可以同时为许多应用程序提供保护而无需修改它们。

在前面的章节中,我们讨论了许多实时安全协议已经为网络安全而发展,以确保安全的基本原则,例如隐私、原始身份验证、消息完整性和不可否认性。

这些协议中的大多数仍然专注于 OSI 协议栈的更高层,以弥补标准 Internet 协议中固有的安全性不足。尽管很有价值,但这些方法不能轻易推广用于任何应用程序。例如,SSL 是专门为保护 HTTP 或 FTP 等应用程序而开发的。但是还有其他几个应用程序也需要安全通信。

这种需求催生了在 IP 层开发安全解决方案,以便所有更高层协议都可以利用它。1992 年,互联网工程任务组 (IETF) 开始定义标准“IPsec”。

在本章中,我们将讨论如何使用这套非常流行的 IPsec 协议在网络层实现安全性。

网络层安全

任何为提供网络安全而开发的方案都需要在协议栈的某个层实现,如下图所示 –

Layer 通讯协议 安全协议
Application Layer HTTP FTP SMTP PGP。S/MIME、HTTPS
Transport Layer TCP/UDP SSL、TLS、SSH
Network Layer 知识产权 IPsec

为确保网络层安全而开发的流行框架是 Internet 协议安全 (IPsec)。

IPsec的特点

  • IPsec 并非设计为仅与作为传输协议的 TCP 一起使用。它适用于 UDP 以及 IP 之上的任何其他协议,例如 ICMP、OSPF 等。

  • IPsec 保护呈现给 IP 层的整个数据包,包括更高层的报头。

  • 由于携带端口号的高层报头被隐藏,流量分析更加困难。

  • IPsec 从一个网络实体到另一个网络实体,而不是从应用程序进程到应用程序进程。因此,无需更改单个用户计算机/应用程序即可采用安全性。

  • 虽然 IPsec 广泛用于提供网络实体之间的安全通信,但它也可以提供主机到主机的安全性。

  • IPsec 最常见的用途是在两个位置之间(网关到网关)或在远程用户和企业网络之间(主机到网关)提供虚拟专用网络 (VPN)。

安全功能

IPsec 提供的重要安全功能如下 –

  • 保密

    • 使通信节点能够加密消息。

    • 防止第三方窃听。

  • 原始身份验证和数据完整性。

    • 确保收到的数据包实际上是由在数据包标头中标识为源的一方发送的。

    • 确认数据包未被更改或以其他方式。

  • 密钥管理。

    • 允许安全交换密钥。

    • 防止某些类型的安全攻击,例如重放攻击。

虚拟专用网

理想情况下,任何机构都希望拥有自己的专用通信网络以确保安全。然而,在地理上分散的区域建立和维护这样的专用网络可能非常昂贵。它需要管理复杂的通信链路、路由器、DNS 等基础设施。

IPsec 提供了一种简单的机制来为此类机构实施虚拟专用网络 (VPN)。VPN 技术通过在进入公共互联网之前对流量进行加密并将其与其他流量在逻辑上分开,从而允许机构的办公室间流量通过公共互联网发送。VPN的简化工作如下图所示 –

虚拟专用网

IPsec 概述

IPsec 是用于在 IP 层提供安全性的框架/协议套件。

起源

在 1990 年代初期,很少有机构使用互联网,主要用于学术目的。但在后来的几十年里,由于网络的扩展以及一些组织将其用于通信和其他目的,互联网的增长呈指数级增长。

随着 Internet 的大规模增长,加上 TCP/IP 协议固有的安全弱点,人们感到需要一种能够在 Internet 上提供网络安全的技术。1994 年,互联网架构委员会 (IAB) 发布了一份题为“互联网架构中的安全性”的报告。它确定了安全机制的关键领域。

IAB 将身份验证和加密作为下一代 IP IPv6 的基本安全功能。幸运的是,这些安全功能的定义使得它们可以通过当前的 IPv4 和未来的 IPv6 实现。

安全框架 IPsec 已在多个“征求意见稿”(RFC) 中进行了定义。一些 RFC 指定了协议的某些部分,而另一些则将解决方案作为一个整体来解决。

IPsec 内的操作

IPsec 套件可以被认为具有两个独立的操作,当同时执行时,提供了一套完整的安全服务。这两个操作是 IPsec 通信和 Internet 密钥交换。

  • IPsec通信

    • 它通常与标准 IPsec 功能相关联。它涉及封装、加密和散列 IP 数据报以及处理所有数据包过程。

    • 它负责根据通信双方之间建立的可用安全关联 (SA) 来管理通信。

    • 它使用安全协议,例如身份验证头 (AH) 和封装的 SP (ESP)。

    • IPsec 通信不涉及密钥的创建或其管理。

    • IPsec 通信操作本身通常称为 IPsec。

  • 互联网密钥交换 (IKE)

    • IKE 是用于 IPsec 的自动密钥管理协议。

    • 从技术上讲,密钥管理对于 IPsec 通信不是必需的,并且可以手动管理密钥。然而,手动密钥管理对于大型网络是不可取的。

    • IKE 负责为 IPsec 创建密钥并在密钥建立过程中提供身份验证。虽然 IPsec 可用于任何其他密钥管理协议,但默认使用 IKE。

    • IKE 定义了两个协议(Oakley 和 SKEME)以与已定义的密钥管理框架 Internet 安全关联密钥管理协议 (ISAKMP) 一起使用。

    • ISAKMP 不是 IPsec 特定的,但提供了为任何协议创建 SA 的框架。

本章主要讨论用于实现安全性的 IPsec 通信和相关协议。

IPsec 通信模式

IPsec 通信有两种运行模式;运输和隧道模式。根据所需的通信类型,这些模式可以组合使用或单独使用。

运输方式

  • IPsec 不封装从上层接收的数据包。

  • 保留原始IP头,根据上层协议设置的原始属性转发数据。

  • 下图显示了协议栈中的数据流。

运输方式

  • 传输方式的局限性在于不能提供网关服务。它保留用于点对点通信,如下图所示。

点对点通信

隧道模式

  • 这种 IPsec 模式与其他安全服务一起提供封装服务。

  • 在隧道模式操作中,来自上层的整个数据包在应用安全协议之前被封装。添加了新的 IP 标头。

  • 下图显示了协议栈中的数据流。

隧道模式

  • 隧道模式通常与网关活动相关联。封装提供了通过单个网关发送多个会话的能力。

  • 典型的隧道模式通信如下图所示。

典型的隧道模式通信

  • 就端点而言,它们具有直接的传输层连接。从一个系统转发到网关的数据报被封装,然后转发到远程网关。远程关联网关解封装数据并将其转发到内部网络上的目标端点。

  • 使用 IPsec,也可以在网关和单个终端系统之间建立隧道模式。

使用 IPsec 的隧道模式

IPsec 协议

IPsec 使用安全协议来提供所需的安全服务。这些协议是 IPsec 操作的核心,其他一切都旨在支持 IPsec 中的这些协议。

通信实体之间的安全关联由所使用的安全协议建立和维护。

IPsec 定义了两种安全协议——身份验证头 (AH) 和封装安全负载 (ESP)。

认证头

AH 协议提供数据完整性和来源认证服务。它可以选择满足消息重放阻力。但是,它不提供任何形式的机密性。

AH 是一种协议,它通过添加报头来对数据报的全部或部分内容进行认证。报头是根据数据报中的值计算的。数据报的哪些部分用于计算,以及将报头放置在何处,取决于模式合作(隧道或传输)。

AH 协议的操作出奇的简单。它可以被认为类似于用于计算校验和或执行 CRC 检查以进行错误检测的算法。

AH 背后的概念是相同的,只是 AH 使用特殊的散列算法和只有通信方知道的秘密密钥,而不是使用简单的算法。两个设备之间的安全关联被建立来指定这些细节。

AH的过程经历了以下几个阶段。

  • 当从上层协议栈接收到 IP 数据包时,IPsec 根据数据包中的可用信息确定关联的安全关联 (SA);例如,IP 地址(源和目标)。

  • 从SA中,一旦确定安全协议是AH,就计算AH头的参数。AH 标头由以下参数组成 –

认证头

  • 头域指定了跟在 AH 头之后的数据包的协议。序列参数索引(SPI)是从通信双方之间存在的SA中获得的。

  • 计算并插入序列号。这些数字为 AH 提供了抵抗重放攻击的可选能力。

  • 认证数据的计算方式因通信模式而异。

  • 在传输模式下,验证数据的计算和最终 IP 数据包的组装如下图所示。在原来的IP 头中,只将协议号更改为51 来表示AH 的应用。

ip包传输1

  • 在隧道模式下,上述过程如下图所示。

ip包传输2

封装安全协议 (ESP)

ESP 提供安全服务,例如机密性、完整性、原始身份验证和可选的重放阻力。提供的服务集取决于在建立安全关联 (SA) 时选择的选项。

在 ESP 中,用于加密和生成验证器的算法由用于创建 SA 的属性决定。

ESP的过程如下。前两个步骤类似于上述 AH 的过程。

  • 一旦确定涉及ESP,就计算ESP数据包的字段。ESP 字段排列如下图所示。

ESP场地布置

  • 传输模式下的加密和认证过程如下图所示。

传输模式加密认证

  • 在隧道模式的情况下,加密和认证过程如下图所示。

隧道模式加密认证

尽管身份验证和机密性是 ESP 提供的主要服务,但两者都是可选的。从技术上讲,我们可以使用 NULL 加密而无需身份验证。但是,在实践中,必须实现两者之一才能有效地使用 ESP。

基本概念是在需要身份验证和加密时使用 ESP,在需要不加密的扩展身份验证时使用 AH。

IPsec 中的安全关联

安全关联 (SA) 是 IPsec 通信的基础。SA的特点是 –

  • 在发送数据之前,发送实体和接收实体之间会建立一个虚拟连接,称为“安全关联(SA)”。

  • IPsec 提供了许多用于执行网络加密和身份验证的选项。每个 IPsec 连接都可以提供加密、完整性、真实性或所有这三种服务。确定安全服务后,两个 IPsec 对等实体必须准确确定要使用的算法(例如,用于加密的 DES 或 3DES;用于完整性的 MD5 或 SHA-1)。确定算法后,两个设备必须共享会话密钥。

  • SA 是一组上述通信参数,它提供了两个或多个系统之间的关系,以建立 IPsec 会话。

  • SA 本质上很简单,因此双向通信需要两个 SA。

  • SA 由安全协议标头中存在的安全参数索引 (SPI) 编号标识。

  • 发送实体和接收实体都维护有关 SA 的状态信息。它类似于也维护状态信息的 TCP 端点。IPsec 与 TCP 一样是面向连接的。

SA参数

任何 SA 都由以下三个参数唯一标识 –

  • 安全参数索引 (SPI)。

    • 它是分配给 SA 的 32 位值。它用于区分在相同目的地终止并使用相同 IPsec 协议的不同 SA。

    • IPsec 的每个数据包都带有一个包含 SPI 字段的标头。提供 SPI 以将传入数据包映射到 SA。

    • SPI 是发送方生成的随机数,用于向接收方标识 SA。

  • 目标 IP 地址– 它可以是终端路由器的 IP 地址。

  • 安全协议标识符– 指示关联是 AH 还是 ESP SA。

下图显示了参与 IPsec 通信的两个路由器之间的 SA 示例。

SA参数

安全管理数据库

在 IPsec 中,有两个数据库控制 IPsec 数据报的处理。一个是安全关联数据库 (SAD),另一个是安全策略数据库 (SPD)。每个使用 IPsec 的通信端点都应该有一个逻辑上独立的 SAD 和 SPD。

安全关联数据库

在 IPsec 通信中,端点在安全关联数据库 (SAD) 中保存 SA 状态。SAD 数据库中的每个 SA 条目包含九个参数,如下表所示 –

Sr.No. 参数及说明
1

Sequence Number Counter

用于对外通信。这是 AH 或 ESP 标头中提供的 32 位序列号。

2

Sequence Number Overflow Counter

设置选项标志以防止使用特定 SA 进行进一步通信

3

32-bit anti-replay window

用于确定入站 AH 或 ESP 数据包是否为重播

4

Lifetime of the SA

SA 保持活动状态的时间

5

Algorithm – AH

在AH和关联键中使用

6

Algorithm – ESP Auth

用于 ESP 标头的身份验证部分

7

Algorithm – ESP Encryption

用于 ESP 及其相关密钥信息的加密

8

IPsec mode of operation

传输或隧道模式

9

Path MTU(PMTU)

任何观察到的路径最大传输单元(以避免碎片)

SAD 中的所有 SA 条目都由三个 SA 参数索引:目标 IP 地址、安全协议标识符和 SPI。

安全策略数据库

SPD 用于处理传出数据包。它有助于决定应该使用哪些 SAD 条目。如果不存在 SAD 条目,则使用 SPD 创建新条目。

任何 SPD 条目都将包含 –

  • 指向保存在 SAD 中的活动 SA 的指针。

  • 选择器字段——来自上层的传入数据包中的字段,用于决定 IPsec 的应用。选择器可以包括源地址和目标地址、相关的端口号、应用程序 ID、协议等。

传出 IP 数据报从 SPD 条目到特定的 SA,以获取编码参数。传入的 IPsec 数据报使用 SPI/DEST IP/协议三元组直接到达正确的 SA,并从那里提取相关的 SAD 条目。

SPD 还可以指定应该绕过 IPsec 的流量。SPD 可以被认为是一个数据包过滤器,其中决定的动作是 SA 进程的激活。

概括

IPsec 是一套用于保护网络连接的协议。它是一种相当复杂的机制,因为它没有直接定义特定的加密算法和身份验证功能,而是提供了一个框架,允许实现通信双方同意的任何内容。

认证头 (AH) 和封装安全有效载荷 (ESP) 是 IPsec 使用的两种主要通信协议。AH 仅进行身份验证,而 ESP 可以对通过连接传输的数据进行加密和身份验证。

传输模式在不更改 IP 标头的情况下提供两个端点之间的安全连接。隧道模式封装了整个有效载荷 IP 数据包。它添加了新的 IP 标头。后者用于形成传统 VPN,因为它提供跨不受信任的 Internet 的虚拟安全隧道。

设置 IPsec 连接涉及各种加密选择。身份验证通常建立在诸如 MD5 或 SHA-1 之类的加密散列之上。常见的加密算法有 DES、3DES、Blowfish 和 AES。其他算法也是可能的。

两个通信端点都需要知道散列或加密中使用的秘密值。手动密钥需要在两端手动输入秘密值,大概是由某种带外机制传送的,而 IKE(互联网密钥交换)是一种在线执行此操作的复杂机制。

网络安全 – 数据链路层

我们已经看到,互联网的快速发展引起了对网络安全的高度关注。已经开发了多种方法来在网络的应用层、传输层或网络层中提供安全性。

许多组织在更高的 OSI 层采用安全措施,从应用层一直到 IP 层。然而,一个通常无人注意的领域是数据链路层的硬化。这会使网络遭受各种攻击和危害。

在本章中,我们将讨论数据链路层的安全问题以及解决这些问题的方法。我们的讨论将集中在以太网网络上。

数据链路层的安全问题

以太网中的数据链路层很容易受到多种攻击。最常见的攻击是 –

ARP欺骗

地址解析协议 (ARP) 是一种用于将 IP 地址映射到本地以太网中可识别的物理机地址的协议。当主机需要为 IP 地址查找物理媒体访问控制 (MAC) 地址时,它会广播 ARP 请求。拥有该 IP 地址的另一台主机发送带有其物理地址的 ARP 回复消息。

网络上的每台主机都维护一个表,称为“ARP 缓存”。该表包含网络上其他主机的 IP 地址和关联的 MAC 地址。

由于 ARP 是一种无状态协议,每次主机从另一台主机获得 ARP 回复时,即使它没有发送 ARP 请求,它也会接受该 ARP 条目并更新其 ARP 缓存。使用称为 ARP 中毒或 ARP 欺骗的伪造条目修改目标主机的 ARP 缓存的过程。

ARP 欺骗可能允许攻击者伪装成合法主机,然后拦截网络上的数据帧,修改或阻止它们。该攻击通常用于发起其他攻击,例如中间人、会话劫持或拒绝服务。

ARP欺骗

MAC泛洪

以太网中的每个交换机都有一个内容可寻址存储器 (CAM) 表,用于存储 MAC 地址、交换机端口号和其他信息。桌子有固定的大小。在 MAC 泛洪攻击中,攻击者使用伪造的 ARP 数据包将 MAC 地址泛洪到交换机,直到 CAM 表已满。

一旦 CAM 被淹没,交换机就会进入类似集线器的模式并开始广播没有 CAM 条目的流量。位于同一网络上的攻击者现在会收到所有仅发往特定主机的帧。

端口窃取

以太网交换机具有学习 MAC 地址并将其绑定到端口的能力。当交换机从具有 MAC 源地址的端口接收流量时,它会绑定端口号和该 MAC 地址。

端口窃取攻击利用了交换机的这种能力。攻击者使用伪造的 ARP 帧以目标主机的 MAC 地址作为源地址来泛洪交换机。Switch 误以为目标主机在端口上,而实际上攻击者已连接到该端口上。

现在所有发往目标主机的数据帧都被发送到攻击者的交换机端口,而不是目标主机。因此,攻击者现在接收到所有实际上只发往目标主机的帧。

DHCP 攻击

动态主机配置协议 (DHCP) 不是数据链路协议,但 DHCP 攻击的解决方案也可用于阻止第 2 层攻击。

DHCP 用于在特定时间段内为计算机动态分配 IP 地址。可以通过在网络中造成拒绝服务或通过冒充 DHCP 服务器来攻击 DHCP 服务器。在 DHCP 饥饿攻击中,攻击者请求所有可用的 DHCP 地址。这会导致对网络上合法主机的拒绝服务。

在DHCP欺骗攻击中,攻击者可以部署一个流氓DHCP服务器向客户端提供地址。在这里,攻击者可以向主机提供带有 DHCP 响应的 rouge 默认网关。来自主机的数据帧现在被引导到 rouge 网关,攻击者可以在那里拦截所有包并回复实际网关或丢弃它们。

其他攻击

除了上述流行的攻击之外,还有其他攻击,例如基于第 2 层的广播、拒绝服务 (DoS)、MAC 克隆。

在广播攻击中,攻击者向网络上的主机发送欺骗性的 ARP 回复。这些 ARP 回复将默认网关的 MAC 地址设置为广播地址。这会导致所有出站流量都被广播,从而使坐在同一以太网上的攻击者能够嗅探。这种类型的攻击也会影响网络容量。

在基于第 2 层的 DoS 攻击中,攻击者使用不存在的 MAC 地址更新网络中主机的 ARP 缓存。网络中每个网络接口卡的 MAC 地址应该是全球唯一的。但是,可以通过启用 MAC 克隆轻松更改它。攻击者通过 DoS 攻击禁用目标主机,然后使用目标主机的 IP 和 MAC 地址。

攻击者执行攻击以发起更高级别的攻击,以危及网络上传输的信息的安全。他可以截取所有的帧,并能够读取帧数据。攻击者可以充当中间人并修改数据或简单地丢弃导致 DoS 的帧。他可以劫持目标主机和其他机器之间正在进行的会话,并完全传达错误信息。

保护以太网 LAN

我们在上一节中讨论了一些广为人知的数据链路层攻击。已经开发了几种方法来减轻这些类型的攻击。一些重要的方法是 –

港口安全

它是智能以太网交换机上可用的第 2 层安全功能。它涉及将交换机的物理端口绑定到特定的 MAC 地址。任何人都可以通过简单地将主机连接到可用的交换机端口之一来访问不安全的网络。但是,端口安全可以保护第 2 层访问。

港口安全

默认情况下,端口安全将入口 MAC 地址计数限制为 1。但是,可以通过配置允许多个授权主机从该端口连接。每个接口允许的 MAC 地址可以静态配置。一个方便的替代方法是启用“粘性”MAC 地址学习,其中 MAC 地址将由交换机端口动态学习,直到达到端口的最大限制。

为确保安全,可以通过多种不同方式控制对端口上指定 MAC 地址的变化或端口上多余地址的反应。该端口可以配置为关闭或阻止超过指定限制的 MAC 地址。推荐的最佳做法是关闭端口。端口安全可防止 MAC 泛洪和克隆攻击。

DHCP 侦听

我们已经看到 DHCP 欺骗是一种攻击,其中攻击者侦听来自网络上主机的 DHCP 请求,并在授权的 DHCP 响应到达主机之前用虚假的 DHCP 响应回答它们。

DHCP Snooping 可以防止此类攻击。DHCP 侦听是一种交换机功能。可以配置交换机以确定哪些交换机端口可以响应 DHCP 请求。交换机端口被标识为受信任或不受信任的端口。

DHCP 侦听

只有连接到授权 DHCP 服务器的端口才被配置为“受信任”,并允许发送所有类型的 DHCP 消息。交换机上的所有其他端口都不受信任,只能发送 DHCP 请求。如果在不受信任的端口上看到 DHCP 响应,则该端口将关闭。

防止 ARP 欺骗

端口安全的方法可以防止MAC泛洪和克隆攻击。但是,它并不能防止 ARP 欺骗。端口安全验证帧头中的 MAC 源地址,但 ARP 帧在数据有效载荷中包含一个额外的 MAC 源字段,主机使用该字段填充其 ARP 缓存。下面列出了一些防止ARP欺骗的方法。

  • 静态 ARP – 推荐的操作之一是在主机 ARP 表中使用静态 ARP 条目。静态 ARP 条目是 ARP 缓存中的永久条目。然而,这种方法是不切实际的。此外,它不允许使用某些动态主机配置协议 (DHCP),因为第 2 层网络中的所有主机都需要使用静态 IP。

  • 入侵检测系统– 防御方法是利用配置为检测大量 ARP 流量的入侵检测系统 (IDS)。但是,IDS 容易报告误报。

  • 动态 ARP 检测– 这种防止 ARP 欺骗的方法类似于 DHCP 侦听。它使用受信任和不受信任的端口。ARP 回复只允许在可信端口上进入交换机接口。如果 ARP 回复在不受信任的端口上到达交换机,则会将 ARP 回复数据包的内容与 DHCP 绑定表进行比较以验证其准确性。如果 ARP 回复无效,则丢弃 ARP 回复,并禁用端口。

保护生成树协议

生成树协议 (STP) 是第 2 层链路管理协议。STP 的主要目的是确保当网络有冗余路径时不存在数据流环路。通常,会构建冗余路径来为网络提供可靠性。但是它们可以形成致命的循环,从而导致网络中的 DoS 攻击。

生成树协议

为了提供所需的路径冗余,以及避免环路情况,STP 定义了一个跨越网络中所有交换机的树。STP 强制某些冗余数据链路进入阻塞状态,并保持其他链路处于转发状态。

如果处于转发状态的链路发生故障,STP 会重新配置网络并通过激活相应的备用路径重新定义数据路径。STP 运行在网络中部署的网桥和交换机上。所有交换机为根交换机选择和网络的后续配置交换信息。桥接协议数据单元 (BPDU) 携带此信息。通过 BPDU 的交换,网络中的所有交换机选举出一个根网桥/交换机,成为网络中的焦点并控制阻塞和转发的链路。

对 STP 的攻击

  • 接管根桥。它是第 2 层最具破坏性的攻击类型之一。默认情况下,LAN 交换机会从相邻交换机发送的任何 BPDU 中按面值进行处理。顺便说一下,STP 是可信任的、无状态的,并且不提供任何健全的身份验证机制。

  • 一旦进入根攻击模式,攻击交换机每 2 秒发送一个 BPDU,其优先级与当前根桥相同,但 MAC 地址的数值稍低,这确保了它在根桥选举过程中的胜利。攻击者交换机可以通过不正确地确认导致 BPDU 泛洪的其他交换机或通过一次声称是 root 并快速连续撤回使交换机过度处理 BPDU 来发起 DoS 攻击。

  • DoS 使用 Flood of Configuration BPDU。攻击交换机不会尝试以 root 身份接管。相反,它每秒生成大量 BPDU,从而导致交换机上的 CPU 利用率非常高。

防止对 STP 的攻击

幸运的是,根接管攻击的对策简单明了。有两个功能有助于抵御根接管攻击。

  • Root Guard – Root Guard 限制可以协商根桥的交换机端口。如果“启用根保护”端口接收到的 BPDU 优于当前根网桥发送的 BPDU,则该端口将移至根不一致状态,并且不会通过该端口转发数据流量。根保护最好部署在连接到交换机的端口上,这些交换机预计不会作为根桥接替。

  • BPDU-Guard – BPDU 保护用于保护网络免受在接入端口上接收 BPDU 可能导致的问题。这些是不应接收它们的端口。BPDU 防护最好部署在面向用户的端口上,以防止攻击者插入恶意交换机。

保护虚拟局域网

在本地网络中,有时会将虚拟局域网 (VLAN) 配置为一种安全措施,以限制易受第 2 层攻击的主机数量。VLAN 创建网络边界,广播(ARP、DHCP)流量不能跨越该边界。

虚拟局域网

使用支持 VLAN 功能的交换机的网络可以配置为在单个物理 LAN 基础设施上定义多个 VLAN。

虚拟局域网

VLAN 的常见形式是基于端口的 VLAN。在这种 VLAN 结构中,交换机端口使用交换机管理软件分组到 VLAN 中。因此,单个物理交换机可以充当多个虚拟交换机。

VLAN 的使用提供了流量隔离。它将大型广播第 2 层网络划分为较小的逻辑第 2 层网络,从而减少了 ARP/DHCP 欺骗等攻击的范围。一个 VLAN 的数据帧只能在属于同一 VLAN 的端口内来回移动。两个 VLAN 之间的帧转发是通过路由完成的。

VLAN 通常跨越多个交换机,如上图所示。中继端口之间的链路承载在多个物理交换机上定义的所有 VLAN 的帧。因此,交换机之间转发的 VLAN 帧不能是简单的 IEEE 802.1 以太网格式帧。由于这些帧在同一物理链路上移动,因此它们现在需要携带 VLAN ID 信息。IEEE 802.1Q 协议为在中继端口之间转发的普通以太网帧添加/删除额外的报头字段。

以太网帧

当两个 IP 地址字段后面的字段为 0x8100(> 1500)时,该帧被识别为 802.1Q 帧。2 字节标签协议标识符 (TPI) 的值为 81-00。TCI 字段由 3 位优先级信息、1 位丢弃合格指示符 (DEI) 和 12 位 VLAN ID 组成。此 3 位优先级字段和 DEI 字段与 VLAN 无关。优先位用于提供服务质量。

当一个帧不属于任何 VLAN 时,有一个默认的 VLAN id,该帧被认为是与之关联的。

VLAN攻击及防范措施

在 VLAN 跳跃攻击中,一个 VLAN 上的攻击者可以访问其他 VLAN 上通常无法访问的流量。当从一个 VLAN 到另一个 VLAN 通信时,它会绕过第 3 层设备(路由器),从而违背了创建 VLAN 的目的。

可以通过两种方法进行 VLAN 跳跃;切换欺骗和双重标记。

交换机欺骗

当攻击者连接的交换机端口处于“中继”模式或“自动协商”模式时,就会发生这种情况。攻击者充当交换机,将带有目标远程 VLAN 的 VLAN 标记的 802.1Q 封装头添加到其传出帧中。接收交换机将这些帧解释为来自另一台 802.1Q 交换机,并将这些帧转发到目标 VLAN。

防止交换机欺骗攻击的两个预防措施是将边缘端口设置为静态访问模式和禁用所有端口的自动协商。

双重标签

在此攻击中,连接到交换机本地 VLAN 端口的攻击者在帧头中添加了两个 VLAN 标记。第一个标签是本地 VLAN,第二个是目标 VLAN。当第一台交换机收到攻击者的帧时,它删除第一个标记,因为本地 VLAN 的帧在中继端口上转发时没有标记。

  • 由于第一个交换机从未删除第二个标记,因此接收交换机将剩余的标记识别为 VLAN 目的地,并将帧转发到该 VLAN 中的目标主机。双标签攻击利用了本地 VLAN 的概念。由于 VLAN 1 是接入端口的默认 VLAN 和中继上的默认本机 VLAN,因此它很容易成为目标。

  • 第一个预防措施是从默认 VLAN 1 中删除所有接入端口,因为攻击者的端口必须与交换机的本地 VLAN 的端口相匹配。第二个预防措施是将所有交换机中继上的本地 VLAN 分配给一些未使用的 VLAN,例如 VLAN id 999。最后,所有交换机都配置为对中继端口上的本地 VLAN 帧进行显式标记。

保护无线局域网

无线局域网是有限地理区域内的无线节点网络,例如办公楼或学校校园。节点能够进行无线电通信。

无线网络

无线局域网通常作为现有有线局域网的扩展来实现,以提供具有设备移动性的网络访问。最广泛实施的无线局域网技术基于 IEEE 802.11 标准及其修订版。

无线局域网中的两个主要组件是 –

  • 接入点 (AP) – 这些是无线网络的基站。它们发送和接收无线电频率以与无线客户端通信。

  • 无线客户端– 这些是配备无线网络接口卡 (WNIC) 的计算设备。膝上型电脑、IP 电话、PDA 是无线客户端的典型示例。

无线网络

许多组织已经实施了无线局域网。这些网络正在以惊人的速度增长。因此,了解无线局域网中的威胁并学习确保网络安全的常用预防措施至关重要。

无线局域网中的攻击

在无线局域网上进行的典型攻击是 –

  • 窃听– 攻击者被动监视无线网络的数据,包括身份验证凭据。

  • 伪装– 攻击者冒充授权用户并获得无线网络的访问权限和特权。

  • 流量分析– 攻击者通过无线网络监控传输以识别通信模式和参与者。

  • 拒绝服务– 攻击者阻止或限制无线局域网或网络设备的正常使用或管理。

  • 消息修改/重播– 攻击者通过删除、添加、更改或重新排序来更改或回复通过无线网络发送的合法消息。

无线局域网的安全措施

安全措施提供了抵御攻击和管理网络风险的手段。这些是网络管理、操作和技术措施。我们在下面描述了为确保通过无线 LAN 传输的数据的机密性、可用性和完整性而采取的技术措施。

在无线 LAN 中,所有 AP 都应配置为通过加密和客户端身份验证提供安全性。无线局域网中用于提供安全性的方案类型如下 –

有线等效保密 (WEP)

它是一种内置于 802.11 标准中的加密算法,用于保护无线网络。WEP 加密使用带有 40 位/104 位密钥和 24 位初始化向量的 RC4(Rivest Cipher 4)流密码。它还可以提供端点身份验证。

然而,它是最弱的加密安全机制,因为在 WEP 加密中发现了许多缺陷。WEP 也没有身份验证协议。因此,不强烈推荐使用 WEP。

802.11i 协议

在该协议中,可以使用多种更强大的加密形式。它已被开发用来替代弱 WEP 方案。它提供密钥分发机制。它支持每站一键,并且不为所有使用相同的键。它使用独立于接入点的身份验证服务器。

IEEE802.11i 强制要求使用名为 Counter mode 的协议与 CBC-MAC 协议 (CCMP)。CCMP 提供传输数据的机密性和完整性以及发送者的真实性。它基于高级加密标准 (AES) 分组密码。

IEEE802.11i 协议有四个操作阶段。

802.11i 协议

  • STA 和 AP 进行通信并发现相互的安全能力,例如支持的算法。

  • STA 和 AS 相互认证并共同生成主密钥(MK)。AP 充当“通过”。

  • STA 派生成对主密钥 (PMK)。AS 派生出相同的 PMK 并发送到 AP。

  • STA、AP 使用 PMK 来导出临时密钥 (TK) 用于消息加密和数据完整性。

其他标准

  • Wi-Fi 保护访问(WPA) – 该协议实现了大部分 IEEE 802.11i 标准。它存在于 IEEE 802.11i 之前,并使用 RC4 算法进行加密。它有两种操作模式。在“企业”模式下,WPA 使用身份验证协议 802.1x 与身份验证服务器通信,因此预主密钥 (PMK) 特定于客户端工作站。在“个人”模式下,它不使用 802.1x,PMK 被预共享密钥取代,用于小型办公室家庭办公室 (SOHO) 无线 LAN 环境。

    WPA 还包括一个健全的消息完整性检查,取代了 WEP 标准使用的循环冗余检查 (CRC)。

  • WPA2 – WPA2 取代了 WPA。WPA2 实现了 IEEE 802.11i 方案的所有强制性元素。特别是,它包括对 CCMP 的强制支持,这是一种基于 AES 的加密模式,具有很强的安全性。因此,就攻击而言,WPA2/IEEE802.11i 提供了足够的解决方案来防御 WEP 弱点、中间人攻击、伪造数据包伪造和重放攻击。但是,DoS 攻击没有得到妥善解决,并且没有可靠的协议来阻止此类攻击,主要是因为此类攻击主要针对物理层,例如干扰频段。

概括

在本章中,我们考虑了假设运行 IP 的交换以太网网络的攻击和缓解技术。如果您的网络不使用以太网作为第 2 层协议,其中一些攻击可能不适用,但此类网络很可能容易受到不同类型的攻击。

安全性取决于最薄弱的环节。在网络方面,第 2 层可能是一个非常薄弱的​​环节。本章中提到的第 2 层安全措施对保护网络免受多种类型的攻击大有帮助。

网络安全 – 访问控制

网络访问控制是一种通过限制网络资源对符合组织安全策略的端点设备的可用性来增强私有组织网络安全性的方法。典型的网络访问控制方案包括两个主要组件,例如受限访问和网络边界保护。

对网络设备的限制访问是通过用户身份验证和授权控制来实现的,它负责识别和验证网络系统的不同用户。授权是授予或拒绝对受保护资源的特定访问权限的过程。

网络边界保护控制进出网络的逻辑连接。例如,可以部署多个防火墙以防止对网络系统的未授权访问。还可以部署入侵检测和防御技术来防御来自 Internet 的攻击。

在本章中,我们将讨论用于网络访问的用户识别和身份验证方法,以及各种类型的防火墙和入侵检测系统。

保护对网络设备的访问

限制对网络上设备的访问是保护网络的一个非常重要的步骤。由于网络设备包括通信和计算设备,因此破坏这些设备可能会导致整个网络及其资源瘫痪。

矛盾的是,许多组织确保其服务器和应用程序的出色安全性,但让通信网络设备具有基本的安全性。

网络设备安全的一个重要方面是访问控制和授权。已经开发了许多协议来满足这两个要求并将网络安全性提高到更高的水平。

用户认证和授权

用户身份验证对于控制对网络系统的访问是必要的,特别是网络基础设施设备。认证有两个方面:一般访问认证和功能授权。

通用访问身份验证是控制特定用户对其尝试连接的系统是否具有“任何”类型的访问权限的方法。通常,这种访问与拥有该系统“帐户”的用户相关联。授权处理个人用户的“权利”。例如,它决定用户在通过身份验证后可以做什么;用户可能被授权配置设备或仅查看数据。

用户身份验证取决于一些因素,包括他知道的东西(密码)、他拥有的东西(加密令牌)或他的身份(生物特征)。使用多个因素进行身份验证和身份验证为多因素身份验证提供了基础。

基于密码的身份验证

在最低级别上,所有网络设备都应该具有用户名-密码身份验证。密码应该是重要的(至少 10 个字符,混合字母、数字和符号)。

在用户远程访问的情况下,应使用一种方法来确保用户名和密码不会通过网络以明文形式传递。此外,还应以合理的频率更改密码。

集中式身份验证方法

基于个人设备的认证系统提供了基本的访问控制措施。然而,当网络有大量设备且有大量用户访问这些设备时,集中式身份验证方法被认为更有效和高效。

传统上,集中认证用于解决远程网络访问面临的问题。在远程访问系统 (RAS) 中,对网络设备上的用户进行管理是不切实际的。将所有用户信息放在所有设备中,然后使该信息保持最新是管理上的噩梦。

RADIUS 和 Kerberos 等集中式身份验证系统解决了这个问题。这些集中式方法允许在一个地方存储和管理用户信息。这些系统通常可以与其他用户帐户管理方案(例如 Microsoft 的 Active Directory 或 LDAP 目录)无缝集成。大多数 RADIUS 服务器可以通过普通 RADIUS 协议与其他网络设备通信,然后安全地访问存储在目录中的帐户信息。

集中式身份验证方法

例如,Microsoft 的 Internet 身份验证服务器 (IAS) 桥接 RADIUS 和 Active Directory,为设备用户提供集中身份验证。它还确保用户帐户信息与 Microsoft 域帐户统一。上图显示了作为 Active Directory 服务器和 RADIUS 服务器运行的 Windows 域控制器,用于网络元素在 Active Directory 域中进行身份验证。

访问控制列表

许多网络设备都可以配置访问列表。这些列表定义了授权访问设备的主机名或 IP 地址。例如,通常会限制除网络管理员之外的 IP 对网络设备的访问。

这将防止任何类型的可能未经授权的访问。这些类型的访问列表作为重要的最后一道防线,在某些针对不同访问协议具有不同规则的设备上可能非常强大。

网络安全 – 防火墙

几乎每个大中型组织都在 Internet 上存在,并有一个组织网络与之相连。外部 Internet 和内部网络之间边界处的网络分区对于网络安全至关重要。有时,内部网络(Intranet)被称为“可信”端,外部 Internet 被称为“不可信”端。

防火墙的类型

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

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

防火墙

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

由于以下原因,防火墙被认为是实现网络安全的基本要素 –

  • 内部网络和主机不太可能得到适当的保护。

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

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

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

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

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

然而,这三个类别并不相互排斥。现代防火墙具有多种功能,可以将它们置于三个类别中的一个以上。

防火墙类型

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

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

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

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

数据包过滤规则有两部分 –

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

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

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

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

无状态数据包防火墙

无状态防火墙是一种刚性工具。它查看数据包并在它满足标准时允许它,即使它不是任何已建立的正在进行的通信的一部分。

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

状态防火墙监控连接建立和拆除过程,以保持对 TCP/IP 级别的连接的检查。这允许他们跟踪连接状态并确定哪些主机在任何给定时间点具有打开的授权连接。

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

应用程序网关

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

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

特定于应用程序的代理

特定于应用程序的代理

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

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

应用级过滤

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

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

透明

尽管应用程序级网关可以是透明的,但许多实现要求用户在访问不受信任的网络之前进行用户身份验证,这一过程会降低真正的透明度。如果用户来自内部网络或来自 Internet,则身份验证可能会有所不同。对于内部网络,可以允许一个简单的 IP 地址列表连接到外部应用程序。但是从 Internet 方面来说,应该实施强身份验证。

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

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

电路级网关

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

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

袜子

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

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

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

使用 DMZ 部署防火墙

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

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

使用 DMZ 部署防火墙

在上面的简单部署中,尽管来自外部的所有其他访问都被阻止了,但攻击者可能不仅可以访问 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 与 IPS

IDS的类型

IDS 有两种基本类型。

  • 基于签名的 IDS

    • 它需要一个已知攻击及其签名的数据库。

    • 签名由表征特定攻击的数据包的类型和顺序定义。

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

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

  • 基于异常的 IDS

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

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

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

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

概括

在本章中,我们讨论了用于网络访问控制的各种机制。通过访问控制实现网络安全的方法在技术上不同于在本教程前面章节中讨论的不同网络层实施安全控制。然而,虽然实施的方法不同,但它们是相辅相成的。

网络访问控制包括两个主要部分:用户身份验证和网络边界保护。RADIUS 是一种在网络中提供中央身份验证的流行机制。

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

网络安全——关键需求

信息和有效沟通是每个企业成功的两个最重要的战略问题。随着电子通信和存储手段的出现,越来越多的企业已经转向使用数据网络进行通信、存储信息和获取资源。有不同类型和级别的网络基础设施用于运行业务。

可以说,在现代世界中,没有什么比联网计算机对企业产生更大的影响了。但是网络带来了安全威胁,如果减轻这些威胁,网络的好处就会超过风险。

网络在商业中的作用

如今,几乎所有企业都将计算机网络视为一种资源。该资源使他们能够收集、分析、组织和传播对其盈利能力至关重要的信息。大多数企业都安装了网络以保持竞争力。

计算机网络最明显的作用是组织可以在一个中心位置存储几乎任何类型的信息,并通过网络在所需的位置检索它。

网络的好处

计算机网络使人们能够轻松共享信息和想法,从而提高工作效率和生产力。网络可以改善采购、销售和客户服务等活动。网络使传统业务流程更高效、更易于管理且成本更低。

企业从计算机网络中获得的主要好处是 –

  • 资源共享– 企业可以通过共享连接到网络的组件和外围设备来减少在硬件上的花费。

  • 简化的业务流程– 计算机网络使企业能够简化其内部业务流程。

  • 部门之间的协作– 当两个或多个业务部门连接其网络的选定部分时,他们可以简化通常需要大量时间和精力并且通常难以实现更高生产力的业务流程。

  • 改善客户关系– 网络为客户提供了许多好处,例如开展业务的便利性、快速的服务响应等。

网络还有许多其他特定于业务的好处。这些好处使得所有类型的企业都必须采用计算机网络。

网络安全的必要性

由于现代技术的进步以及计算机网络容量的增长,有线或无线网络上的威胁显着增加。当今世界大量使用 Internet 进行各种商业交易,这对信息窃取和对商业知识资产的其他攻击提出了挑战。

在当今时代,大部分业务都是通过网络应用进行的,因此所有的网络都存在被攻击的风险。商业网络最常见的安全威胁是数据拦截和盗窃,以及身份盗窃。

网络安全是一个专门的领域,负责阻止此类威胁,并为企业的计算机网络基础设施的可用性、可靠性、完整性和安全性提供保护。

网络安全对企业的重要性

  • 保护商业资产– 这是网络安全的主要目标。资产是指存储在计算机网络中的信息。信息与公司的任何其他有形资产一样重要和宝贵。网络安全与机密信息的完整性、保护和安全访问有关。

  • 遵守法规要求– 网络安全措施可帮助企业遵守有关信息安全的政府和行业特定法规。

  • Secure Collaborative Working – 网络安全鼓励同事协作,并通过为客户和供应商提供安全的网络访问来促进与他们的沟通。它增强了客户和消费者对其敏感信息受到保护的信心。

  • 降低风险– 采用网络安全可以减少安全漏洞的影响,包括可能使小企业破产的法律行动。

  • 获得竞争优势– 为网络开发有效的安全系统可为组织提供竞争优势。在互联网金融服务和电子商务领域,网络安全至关重要。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁