如何控制您的网络基础设施。 第三章。 网络安全。 第二部分

本文是“如何控制网络基础设施”系列的第四篇文章。 该系列所有文章内容及链接均可找到 这里.

В 第一部分 在本章中,我们研究了数据中心领域网络安全的某些方面。 这一部分将专门讨论“互联网接入”部分。

如何控制您的网络基础设施。 第三章。 网络安全。 第二部分

互联网线路

安全主题无疑是数据网络领域最复杂的主题之一。 与之前的案例一样,在不要求深度和完整性的情况下,我将在这里考虑非常简单但在我看来重要的问题,我希望这些问题的答案将有助于提高网络的安全级别。

在审计该段时,应注意以下几个方面:

  • 设计
  • BGP 设置
  • DOS/DDOS防护
  • 防火墙上的流量过滤

设计

作为企业网络此部分的设计示例,我建议 领导 来自思科内部 安全型号.

当然,也许其他供应商的解决方案对您来说似乎更有吸引力(请参阅。 2018 年 Gartner 象限),但在不鼓励您详细遵循此设计的情况下,我仍然发现了解其背后的原理和想法很有用。

备注

在SAFE中,“远程访问”部分是“互联网访问”部分的一部分。 但在本系列文章中我们将单独考虑它。

企业网络此部分的标准设备集是

  • 边界路由器
  • 防火墙

备注 1

在本系列文章中,当我谈论防火墙时,我的意思是 下一代防火墙.

备注 2

我忽略了确保 L2/L1 连接所需的各种 L2/L3 或覆盖 L1 到 L2 解决方案的考虑,并将自己仅限于 L3 级别及以上级别的问题。 部分地,L1/L2 问题在章节“清洁和记录«。

如果您在该网段中没有发现防火墙,那么您不应该急于下结论。

让我们做同样的事 上一节让我们从一个问题开始:在您的情况下,该网段是否有必要使用防火墙?

我可以说,这似乎是最合理使用防火墙和应用复杂流量过滤算法的地方。 在 1的一部分 我们提到了可能干扰数据中心部分使用防火墙的 4 个因素。 但在这里它们不再那么重要了。

例如1。 延迟

就互联网而言,谈论哪怕1毫秒左右的延迟都是没有意义的。 因此,该网段的延迟不能成为限制防火墙使用的因素。

例如2。 Производительность

在某些情况下,这个因素可能仍然很重要。 因此,您可能必须允许某些流量(例如,来自负载均衡器的流量)绕过防火墙。

例如3。 可靠性

这个因素仍然需要考虑,但考虑到互联网本身的不可靠性,它对这一领域的重要性并不像对数据中心那么重要。

因此,我们假设您的服务位于 http/https 之上(具有短会话)。 在这种情况下,您可以使用两个独立的盒子(没有 HA),如果其中一个盒子存在路由问题,则将所有流量转移到第二个盒子。

或者,您可以在透明模式下使用防火墙,如果防火墙失败,则允许流量绕过防火墙,同时解决问题。

因此,很可能只是 价格 可能是迫使您放弃在该段使用防火墙的因素。

重要的信息!

人们倾向于将此防火墙与数据中心防火墙结合起来(对这些网段使用一个防火墙)。 原则上,该解决方案是可能的,但您需要了解这一点,因为互联网访问防火墙实际上处于您防御的最前沿,并且至少“承担”了部分恶意流量,那么您当然需要考虑到此防火墙被禁用的风险增加。 也就是说,通过在这两个部分使用相同的设备,您将显着降低数据中心部分的可用性。

与往常一样,您需要了解,根据公司提供的服务,该部分的设计可能会有很大差异。 与往常一样,您可以根据您的要求选择不同的方法。

例子

如果您是内容提供商,拥有 CDN 网络(例如, 系列文章),那么您可能不希望使用单独的设备来路由和过滤流量,跨数十个​​甚至数百个存在点创建基础设施。 它会很昂贵,而且可能根本没有必要。

对于 BGP,您不一定必须拥有专用路由器,您可以使用开源工具,例如 斑驴。 因此,也许您所需要的只是一台或多台服务器、一台交换机和 BGP。

这样的话,你的服务器或者几台服务器不仅可以起到CDN服务器的作用,还可以起到路由器的作用。 当然,还有很多细节(比如如何保证平衡),但这是可行的,而且这是我们已经为我们的一个合作伙伴成功使用的一种方法。

您可以拥有多个具有全面保护的数据中心(防火墙、互联网提供商提供的 DDOS 保护服务)以及数十或数百个仅具有 L2 交换机和服务器的“简化”存在点。

但在这种情况下,保护又如何呢?

例如,我们来看看最近流行的 DNS放大DDOS攻击。 它的危险在于会产生大量流量,这只会“堵塞”您所有上行链路的 100%。

就我们的设计而言,我们有什么。

  • 如果您使用 AnyCast,则流量会在您的接入点之间分配。 如果您的总带宽是太比特,那么这本身实际上(但是,最近发生了几次恶意流量达到太比特数量级的攻击)可以保护您免受“溢出”上行链路的影响
  • 但是,如果某些上行链路被堵塞,那么您只需从服务中删除该站点(停止广告前缀)
  • 您还可以增加从“完整”(相应地受保护的)数据中心发送的流量份额,从而消除来自未受保护的存在点的大部分恶意流量

对于这个例子还有一个小注释。 如果您通过 IX 发送足够的流量,那么这也会减少您遭受此类攻击的脆弱性

设置 BGP

这里有两个话题。

  • 连接性
  • 设置 BGP

我们已经讨论过一些关于连通性的问题 1的一部分。 关键是要确保客户的流量遵循最佳路径。 尽管最优性并不总是仅仅与延迟有关,但低延迟通常是最优性的主要指标。 对于某些公司来说,这一点更为重要,而对于另一些公司来说,则不那么重要。 这一切都取决于您提供的服务。

例1

如果您是一家交易所,并且小于毫秒的时间间隔对您的客户很重要,那么当然就根本没有谈论任何类型的互联网。

例2

如果你是一家游戏公司,几十毫秒对你来说很重要,那么,当然,连接性对你来说也非常重要。

例3

您还需要了解,由于 TCP 协议的特性,一个 TCP 会话内的数据传输速率也取决于 RTT(往返时间)。 CDN 网络也正在建设中,通过将内容分发服务器移至更靠近内容消费者的位置来解决此问题。

连接性研究本身就是一个有趣的话题,值得单独撰写一篇文章或一系列文章,并且需要充分理解互联网的“运作方式”。

有用的资源:

ripe.net
bgp.he.net

例子

我只举一个小例子。

假设您的数据中心位于莫斯科,并且您有一个上行链路 - Rostelecom (AS12389)。 在这种情况下(单宿主),您不需要 BGP,并且您很可能使用 Rostelecom 的地址池作为公共地址。

假设您提供某种服务,并且您有足够数量的来自乌克兰的客户,并且他们抱怨长时间的延误。 在您的研究过程中,您发现其中一些IP地址位于37.52.0.0/21网格中。

通过运行跟踪路由,您看到流量正在通过 AS1299 (Telia),通过运行 ping,您得到的平均 RTT 为 70 - 80 毫秒。 您还可以在以下位置查看此内容 镜子 Rostelecom.

使用 whois 实用程序(在ripe.net 或本地实用程序上),您可以轻松确定块37.52.0.0/21 属于AS6849 (Ukrtelecom)。

接下来,通过转到 bgp.he.net 您会看到 AS6849 与 AS12389 没有关系(它们既不是客户端,也不是彼此的上行链路,也没有对等互连)。 但如果你看看 同行名单 例如,对于 AS6849,您将看到 AS29226 (Mastertel) 和 AS31133 (Megafon)。

一旦您找到这些提供商的镜子,您就可以比较路径和 RTT。 例如,Mastertel RTT 约为 30 毫秒。

因此,如果 80 毫秒和 30 毫秒之间的差异对于您的服务来说很重要,那么您可能需要考虑连接性,从 RIPE 获取 AS 编号和地址池,并连接其他上行链路和/或在 IX 上创建存在点。

使用 BGP 时,您不仅有机会改善连接性,而且还可以冗余地维护 Internet 连接。

这个文件 包含配置 BGP 的建议。 尽管这些建议是根据提供商的“最佳实践”制定的,但(如果您的 BGP 设置不是很基本)它们无疑是有用的,而且实际上应该成为我们在 第一部分.

DOS/DDOS防护

现在,DOS/DDOS 攻击已成为许多公司的日常现实。 事实上,您经常受到某种形式的攻击。 事实上,您还没有注意到这一点,仅意味着还没有针对您组织有针对性的攻击,并且您使用的保护措施(甚至可能在不知情的情况下)(操作系统的各种内置保护)足以确保您和您的客户所提供的服务质量下降的程度降至最低。

有一些互联网资源可以根据设备日志实时绘制漂亮的攻击图。

这是 您可以找到它们的链接。

我的可爱 地图 来自检查点。

针对 DDOS/DOS 的防护通常是分层的。 要了解原因,您需要了解存在哪些类型的 DOS/DDOS 攻击(例如,请参阅 这里 или 这里)

也就是说,我们有三种类型的攻击:

  • 体积攻击
  • 协议攻击
  • 应用程序攻击

如果您可以使用防火墙等方式保护自己免受后两种类型的攻击,那么您就无法保护自己免受旨在“压倒”上行链路的攻击(当然,如果您的互联网通道总容量不是以太比特为单位计算的,或者更好,以数十太比特为单位)。

因此,第一道防线是防止“容量攻击”,您的提供商必须为您提供这种保护。 如果你还没有意识到这一点,那么你现在很幸运。

例子

假设您有多个上行链路,但只有一个提供商可以为您提供这种保护。 但是,如果所有流量都经过一个提供商,那么我们之前简要讨论过的连接性又如何呢?

在这种情况下,您将不得不在攻击期间牺牲部分连接。 但

  • 这仅适用于攻击持续时间。 如果发生攻击,您可以手动或自动重新配置 BGP,以便流量仅通过为您提供“保护伞”的提供商。 攻击结束后,可以将路由恢复到之前的状态
  • 没有必要转移所有流量。 例如,如果您发现某些上行链路或对等互连没有发生攻击(或者流量不大),则可以继续向这些 BGP 邻居通告具有竞争属性的前缀。

您还可以将“协议攻击”和“应用程序攻击”的保护委托给您的合作伙伴。
这里 这里 你可以阅读一篇很好的研究(翻译)。 诚然,这篇文章已有两年历史,但它会让您了解如何保护自己免受 DDOS 攻击。

原则上,您可以将自己限制于此,完全外包您的保护。 这个决定有优点,但也有一个明显的缺点。 事实上,我们可以谈论(同样,这取决于您的公司做什么)企业的生存。 并将这些事情信任给第三方......

因此,让我们看看如何组织第二道和第三道防线(作为提供商保护的补充)。

因此,第二道防线是网络入口处的过滤和流量限制器(监管器)。

例1

假设您在其中一个提供商的帮助下为自己提供了抵御 DDOS 的保护伞。 我们假设该提供商使用 Arbor 来过滤流量并在其网络边缘进行过滤。

Arbor能够“处理”的带宽是有限的,提供商当然不可能不断地通过过滤设备传递所有订购此服务的合作伙伴的流量。 因此,正常情况下,流量不会被过滤。

我们假设存在 SYN 洪水攻击。 即使您订购了在发生攻击时自动将流量切换到过滤的服务,这种情况也不会立即发生。 在一分钟或更长时间内,您仍然受到攻击。 这可能会导致您的设备故障或服务质量下降。 在这种情况下,限制边缘路由的流量虽然会导致在此期间无法建立某些 TCP 会话,但可以使您的基础设施免遭更大规模的问题。

例2

异常大量的 SYN 数据包可能不仅仅是 SYN Flood 攻击造成的。 假设您提供的服务可以同时拥有大约 100 万个 TCP 连接(到一个数据中心)。

假设由于您的主要提供商之一出现短期问题,您一半的会话被踢掉。 如果您的应用程序的设计方式是,不假思索地立即(或在所有会话都相同的一段时间间隔后)尝试重新建立连接,那么您将收到大约至少 50 个 SYN 数据包同时地。

例如,如果您必须在这些会话之上运行 ssl/tls 握手(其中涉及交换证书),那么从耗尽负载均衡器资源的角度来看,这将是比简单的“DDOS”更强的“DDOS”。 SYN 洪水。 看起来平衡器应该处理这样的事件,但是......不幸的是,我们面临着这样的问题。

当然,在这种情况下,边缘路由器上的监管器也将拯救您的设备。

针对 DDOS/DOS 的第三级防护是防火墙设置。

在这里您可以阻止第二种和第三种类型的攻击。 一般来说,到达防火墙的所有内容都可以在这里过滤。

评议会

尽量减少防火墙的工作量,尽可能过滤掉前两道防线。 这就是原因。

您是否曾经遇到过这样的情况:在生成流量以检查(例如,服务器操作系统对 DDOS 攻击的抵抗力)时,您“杀死”了防火墙,将其加载到 100%,流量处于正常强度? 如果没有,也许只是因为你还没有尝试过?

一般来说,正如我所说,防火墙是一个复杂的东西,它可以很好地处理已知的漏洞和经过测试的解决方案,但如果你发送一些不寻常的东西,只是一些垃圾或带有不正确标头的数据包,那么你会遇到一些,而不是带有这么小的概率(根据我的经验),连最高端的装备都可以被麻痹。 因此,在第 2 阶段,使用常规 ACL(在 L3/L4 级别),仅允许应进入那里的流量进入您的网络。

在防火墙上过滤流量

让我们继续讨论防火墙。 您需要了解 DOS/DDOS 攻击只是网络攻击的一种类型。

除了 DOS/DDOS 防护之外,我们还可以拥有如下功能:

  • 应用程序防火墙
  • 威胁预防(防病毒、反间谍软件和漏洞)
  • URL过滤
  • 数据过滤(内容过滤)
  • 文件阻止(文件类型阻止)

您可以从该列表中决定需要什么。

待续

来源: habr.com

添加评论