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

本文是系列文章“如何控制网络基础结构”中的第四篇。 该系列中所有文章的内容和链接都可以在这里找到

在本章的第一部分中 ,我们研究了数据中心网段的网络安全的某些方面。 这一部分将专门介绍“ Internet访问”部分。

图片

上网服务


安全无疑是数据网络世界中最复杂的主题之一。 和以前的情况一样,在这里我不假装深入而完整,在这里我将认为很简单,但是我认为重要的问题以及希望得到的答案将有助于提高网络的安全性。

审核此细分时,请注意以下方面:

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

设计方案


作为企业网络此部分设计的一个示例,我建议在SAFE模型中使用 Cisco的指南

当然,也许其他供应商的解决方案对您似乎更具吸引力(请参阅2018年Gartner象限 ),但是在不敦促您详细遵循此设计的情况下,我仍然认为理解它的原理和思想很有用。
备注

在SAFE中,“远程访问”部分是Internet访问的一部分。 但是在本系列文章中,我们将单独考虑它。
对于企业网络,此部分中的标准设备集是

  • 边界路由器
  • 防火墙

备注1

在本系列文章中,当我谈论防火墙时,是指NGFW
备注2

我忽略了确保L1 / L2连通性所需的各种L2 / L1或L3覆盖L2解决方案的考虑,我将自己限制在L3或更高级别的问题上。 L1 / L2部分问题已在“ 清洁和文档 ”一章中解决。
如果您在此网段中未找到防火墙,请不要急于下结论。

上一部分一样 ,让我们开始一个问题:您的情况下是否有必要在此段中使用防火墙?

我可以说,这似乎是使用防火墙和应用复杂流量过滤算法的最合理的地方。 在第1部分中,我们提到了四个因素,这些因素可能会干扰数据中心网段中防火墙的使用。 但是在这里它们并不那么重要。
例子1. 延迟

至于互联网,谈论延迟甚至不到1毫秒都是没有意义的。 因此,此段中的延迟不能成为限制使用烟花的因素。
例子2. 性能

在某些情况下,这个因素仍然很重要。 因此,您可能需要让某些流量(例如,负载平衡器流量)绕过防火墙。
例子3. 可靠性

仍然需要考虑这个因素,但是考虑到Internet本身的不可靠性,其对这一部分的重要性不如对数据中心重要。

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

或者,您可以在透明模式下使用防火墙,如果它们失败,则允许流量在解决问题的同时绕过防火墙。
因此,很可能只有价格是迫使您放弃在此细分市场中使用防火墙的因素。
重要!

倾向于将此防火墙与数据中心的防火墙结合使用(对于这些网段使用一个防火墙)。 从原则上讲,该解决方案是可行的,但与此同时,您需要了解 “ Internet访问”防火墙实际上处于防御的最前沿,并且“接管”了至少一部分恶意流量,因此,当然,您需要考虑禁用此防火墙的风险增加。 也就是说,在这两个网段中使用相同的设备,您将大大降低数据中心网段的可用性。
像往常一样,您需要了解,根据公司提供的服务,此细分市场的设计可能会非常不同。 您可以像往常一样根据需求选择不同的方法。
例子

如果您是具有CDN网络的内容提供商(例如,请参阅一系列文章 ),那么您可能不想使用单独的设备来路由和过滤流量来创建数十个甚至数百个基础设施存在点。 这将是昂贵的,并且可能是多余的。

对于BGP,您根本不需要专用的路由器,可以使用开源工具,例如Quagga 。 因此,您可能只需要一个或多个服务器,一台交换机和BGP。

在这种情况下,您的一台或多台服务器不仅可以扮演CDN服务器的角色,还可以扮演路由器的角色。 当然,还有很多细节(例如,如何确保平衡),但这是可行的,并且我们已经成功地将这种方法应用于我们的一个合作伙伴。

您可以拥有多个具有完全保护功能的数据中心(防火墙,Internet提供商提供的DDOS保护服务)以及仅使用L2交换机和服务器的数十个或数百个“简化”的接入点。

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

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

我们在设计中拥有的东西。

  • 如果您使用AnyCast,则流量会在您的出现地点之间分配。 如果您拥有总带宽的兆兆字节,那么实际上它本身(尽管如此,最近发生了几起具有兆兆字节数量级的恶意流量的攻击),可以防止上行链路溢出
  • 但是,如果某些上行链路被“阻塞”,那么您只需将此平台从服务中删除(停止发布前缀)
  • 您还可以增加从“功能完善”(并因此受保护)数据中心传递的流量份额,从而从不受保护的存在点中删除很大一部分恶意流量

还有一个小小的例子。 如果您通过IX发送足够的流量,那么这也将减少您遭受此类攻击的风险。

配置BGP


有两个主题。

  • 连接性
  • 配置BGP

我们已经在第1部分中讨论了一些连通性。 最重要的是,流向客户的流量是最好的方式。 尽管最佳性并不总是与延迟有关,但通常,低延迟是最佳性的主要指标。 对于某些公司来说,这更重要,而对于其他公司则更少。 这完全取决于您提供的服务。
例子1

如果您是交易所,并且时间间隔小于毫秒对您的客户来说很重要,那么,当然,根本没有任何互联网可以谈论。
例子2

如果您是游戏公司,并且数十毫秒对您很重要,那么连接性当然对您非常重要。
例子3

您还需要了解,由于TCP协议的特性,一个TCP会话内的数据传输速率还取决于RTT(往返时间)。 还建立了CDN网络来解决此问题,使内容分发服务器更接近于此内容的使用者。
连接性的研究是一个单独的有趣主题,值得单独撰写或撰写一系列文章,并且需要对互联网的“排列方式”有充分的了解。

有用的资源:

mature.net
bgp.he.net
例子

我仅举一个小例子。

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

假设您提供某种服务,并且您有来自乌克兰的足够多的客户,而他们抱怨延迟很大。 在研究中,您发现其中一些的IP地址在网络37.52.0.0/21中。

通过执行traceroute,您可以看到流量通过了AS1299(Telia),通过执​​行ping操作,您获得的平均RTT为70-80毫秒。 您还可以在Rostelecom的窥镜上看到它。

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

此外,转到bgp.he.net,您会看到AS6849与AS12389没有关系(它们既不是客户端,也不是彼此的上行链路,它们也没有对等关系)。 但是,如果您查看AS6849 的对等方列表,则将看到例如AS29226(Mastertel)和AS31133(Megafon)。

通过查找这些提供商的眼镜,您可以比较路径和RTT。 例如,对于Mastertel RTT,将已经有30毫秒左右。

因此,如果80毫秒与30毫秒之间的差异对您的服务而言很重要,那么也许您需要考虑连通性,获取AS号,在RIPE中使用地址池并连接其他上行链路和/或在IX上创建存在点。

使用BGP时,您不仅有机会改善连接性,而且还保留了Internet连接。

本文档包含有关配置BGP的建议。 尽管事实上这些建议是根据提供者的“最佳实践”制定的,但是(如果您的BGP设置不是很基本),它们无疑是有用的,并且实际上应该是强化的一部分,我们在第一部分中对此进行了讨论。

DOS / DDOS保护


现在,DOS / DDOS攻击已成为许多公司的日常工作。 实际上,以一种或另一种形式,您经常受到攻击。 您尚未注意到这一事实,仅意味着尚未组织针对您的针对性攻击,并且您使用的防御甚至可能没有怀疑(操作系统的各种内置防御),足以使您和您的客户所提供的服务质量降到最低。

根据设备的日志,有一些Internet资源可以实时绘制精美的攻击图。

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

我最喜欢的CheckPoint 地图

DDOS / DOS保护通常是分层的。 要了解原因,您需要了解存在哪些类型的DOS / DDOS攻击(例如,请参见herehere

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

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

如果您可以使用防火墙来保护自己免受最近两种攻击的侵害,那么您将不会受到旨在“溢出”上行链路的攻击的保护(当然,如果Internet通道的总容量不是以兆兆位为单位,而是以数十个为单位)太比特)。

因此,第一道防线是防止“体积”攻击,并且您的提供者应提供这种保护。 如果您尚未意识到这一点,那么现在您很幸运。
例子

假设您有几个上行链路,但是只有一个提供程序可以为您提供这种保护。 但是,如果所有流量都将流经一个提供商,那么我们之前稍作讨论的连通性又如何呢?

在这种情况下,您将不得不在攻击过程中部分牺牲连接性。 但是

  • 这仅在攻击期间。 发生攻击时,您可以手动或自动重新配置BGP,以便流量仅通过为您提供“伞”的提供商。 攻击结束后,您可以将路由恢复为先前的状态。
  • 无需翻译所有流量。 例如,如果您发现通过某些上行链路或对等网络没有攻击(或流量不大),则可以继续向这些BGP邻居通告具有竞争属性的前缀。

您还可以为合作伙伴提供“协议攻击”和“应用程序攻击”的保护。
在这里您可以阅读出色的研究报告( 翻译 )。 的确,文章是两年前的,但这将使您对方法有所了解,如何保护自己免受DDOS攻击。

原则上,您可以通过完全外包保护来限制自己。 该解决方案有一些优点,但有一个明显的缺点。 事实是,我们可以(再次取决于您的公司所做的)谈论业务的生存。 并把这些东西托付给第三方...

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

因此,第二道防线是过滤,警察进入网络入口。
例子1

假设您使用提供程序之一从DDOS“用伞封闭”。 假设此提供程序使用Arbor过滤流量并在其网络边缘进行过滤。

Arbor可以“处理”的频段是有限的,提供商当然不能一直通过过滤设备传递订购此服务的所有合作伙伴的流量。 因此,在正常情况下,不会对流量进行过滤。

假设正在进行SYN泛洪攻击。 即使您订购的服务在发生攻击时将流量自动切换为过滤,也不会立即发生。 一分钟或更长时间,您将继续受到攻击。 这可能会导致设备故障或服务质量下降。 在这种情况下,边界路由上的流量限制将导致以下事实:在此期间将无法建立某些TCP会话,但可以使基础结构免于更大的麻烦。
例子2

异常大量的SYN数据包可能不仅是SYN泛洪攻击的结果。 假设您提供的服务可以同时在一个数据中心中拥有约10万个TCP连接。

假设由于您的一个主要提供商的短期问题,一半的会议“踢了”您。 如果您的应用程序的设计使其无需三思而后立即(或在所有会话的某个相同时间间隔之后)尝试重新建立连接,则大约将同时收到至少5万个SYN数据包。

例如,如果在这些会话的顶部,您应该进行ssl / tls握手(其中涉及证书的交换),那么从为负载均衡器耗尽资源的角度来看,这比简单的SYN泛洪要强得多。 似乎平衡器应该解决这样的问题,但是...不幸的是,我们在全面增长时面临着这样的问题。

当然,在这种情况下,边界路由器上的策略程序也会保存您的设备。
抵御DDOS / DOS的第三级保护是防火墙的设置。

在这里,您可以停止第二种和第三种攻击。 通常,可以在此处过滤到达防火墙的所有内容。
小费

通过在前两道防线中进行尽可能多的过滤,尝试使防火墙工作量尽可能少。 这就是为什么。

您没有偶然地产生流量以检查(例如)您的DDOS攻击对操作系统的抵抗力,您“杀死”了防火墙,以正常强度的流量加载了100%的防火墙吗? 如果没有,那可能仅仅是因为您还没有尝试过?

总体而言,正如我所说,防火墙是一件复杂的事情,它可以与已知漏洞和经过测试的解决方案很好地配合使用,但是如果您发送不寻常的东西,仅是一些垃圾邮件或带有不正确标头的数据包,那么您将拥有一些以我的经验(以我的经验为基础)的可能性很小,您可以将高端设备引入木地板。 因此,在阶段2中,使用常规ACL(在L3 / L4级别)仅允许流量进入您的网络。

防火墙流量过滤


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

除了DOS / DDOS保护之外,我们仍然可以具有以下功能列表:

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

由您自己决定此列表中的内容。

待续

Source: https://habr.com/ru/post/zh-CN436230/


All Articles