「云网络安全」云网络安全101:Azure私有链接和私有端点

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
私网连接 PrivateLink,5万GB流量 1.5万小时实例时长
云解析 DNS,旗舰版 1个月
简介: 「云网络安全」云网络安全101:Azure私有链接和私有端点

Azure提供了两个类似但不同的服务,允许虚拟网络(VNet)资源私下连接到其他Azure服务。Azure VNet服务端点和Azure私有端点(由Azure私有链接提供支持)都通过允许VNet流量不通过internet与服务资源通信来促进网络安全,但它们之间存在一些区别。这个由三部分组成的博客系列详细介绍了这两种服务。

  • 在本系列的第1部分中,我们探讨了虚拟网络服务端点。
  • 在第2部分(本部分!)中,我们将讨论私有链接和私有端点。
  • 在第3部分中,我们将比较和对比这两种方法,并解释何时使用哪种方法。

准备学习私有链接和私有端点?我们走吧!

什么是私有链接?什么是私有端点?


上面,VNet中的虚拟机可以使用Azure私有链接私有端点连接到特定的SQL数据库,就像它在VNet中一样,即使NSG拒绝出站流量。私有端点使得流量可以从一个私有IP地址流到同一个VNet中的另一个私有IP——不需要internet遍历。

Azure Private Link是一种服务,它允许虚拟网络资源私有地连接到其他资源,就好像它们是同一网络的一部分,通过Microsoft Azure主干而不是internet传输流量。

要利用此服务,需要创建一个私有链接私有端点。私有端点是向服务提供私有IP地址的网络接口,通常VNet只能通过公共IP地址访问该服务。

例如,每个存储帐户都有一个公共端点,默认情况下,该端点对任何网络上的客户机都是开放的。通过私有端点,您可以从VNet为存储帐户分配私有IP地址,并且该VNet中的虚拟机(VM)无需通过internet就可以访问存储帐户。这很强大,因为这意味着您不需要在流量源或目的地使用公共IP地址。这就好像您将存储帐户带入VNet中。

但这还不是全部。当然,存储帐户仍然有一个公共端点——它不会因为您没有使用它而消失。因此,如果需要,您可以阻止所有到其公共端点的通信,进一步保护它不受网络漏洞的影响。

私有端点可以为两种不同类别的服务启用:

  • Azure PaaS服务,如Azure存储、Azure SQL数据库、Azure密钥库等。点击这里查看完整列表。例如,您可以创建一个端点来安全地将私有子网中的VM连接到存储帐户。在为存储帐户创建私有IP地址后,你可以选择阻止访问它的公共端点,这样唯一能到达它的流量来自通过私有端点的被批准的子网。

如果没有私有端点,就需要给虚拟机分配一个公共IP地址,将其暴露给internet和伴随它而来的所有威胁;子网将需要一个NAT或网关设备,需要一个额外的配置步骤和潜在的减慢流量;存储帐户需要对任何网络上的客户端开放,这样如果凭据泄露,internet上的任何人都可以访问它。不是很好!

  • 您自己的服务,如果它运行在标准负载平衡器之后。这被称为私有链接服务,如果您的客户需要从他们自己的VNet中私有地连接到您的服务,那么您将希望创建一个。在您启用了私有链接服务之后,使用者在他们的虚拟网络中创建私有端点并发送连接到您的服务的请求。

如果没有私有端点,您的消费者将不得不通过internet访问您的服务。同样,它们的虚拟机需要被分配公共IP地址,相关的子网需要一个NAT或网关设备,而且您的服务资源也必须能够从internet访问。

(私有链接服务超出了本文的范围,因此我们将重点关注在Azure PaaS服务中使用私有端点。)

私有端点的好处

现在,让我们看看私有端点带来的一些好处。如果您已经阅读了本系列的第1部分(其中我们讨论了服务端点),那么这一点听起来会很熟悉:

  • 增强的安全性:由于私有端点促进了对目标资源的私有连接(Azure称之为私有链接资源),所以没有必要在VNet资源端分配一个公共IP地址。如果没有公共IP地址,恶意参与者就无法扫描VM的开放端口以寻找漏洞,并关闭您的应用程序或窃取数据。另外,您可以将私有端点映射到特定的资源甚至子资源(例如,存储帐户或blob),从而减少数据溢出的风险。(您可以在Azure文档中找到可用的私有链接资源和子资源类型的列表。)
  • 优化路由:私有端点在Azure主干网络上提供了从VNet到私有链接资源的直接路由,因此没有额外的跳点来降低流量。
  • 更简单的网络架构:由于流量通过Azure主干网络从VNet资源流到私有链接资源,因此您不需要分配公共IP地址或配置NAT或网关设备。
  • 私有端点支持:私有端点允许来自私有端点的流量访问私有链接资源,而无需公共对等或遍历internet。VPN隧道、ExpressRoute私有对等连接和peered VNets都与私有端点一起工作。

与AWS VPC端点相似

如果你是一个AWS用户和所有这一切听起来很熟悉,你可能会想到VPC接口端点,也是网络接口,使交通从虚拟网络访问子网AWS服务或端点服务(其他AWS托管的服务客户)不需要交通去在互联网上。接口端点将你连接到由AWS PrivateLink提供支持的服务,并从相关子网分配私有IP地址,因此流量的来源和目的地都是私有IP。非常像Azure私有链接的工作方式!

如何为Azure PaaS资源创建私有端点

让我们回到我们的VM和存储帐户示例。假设您希望流量从前者流到后者,而不必访问存储帐户的公共端点。我们将向您展示这个出色的Azure教程的缩略版。

下面是如何创建一个私有端点:

  • 导航到私有链接中心并选择“创建私有端点”。
  • 为私有端点输入订阅、资源组以及名称和区域。
  • 选择“连接到我目录中的Azure资源”,然后选择订阅和“Microsoft”。Storage/storageAccounts”作为资源类型。
  • 选择目标资源的名称,然后指定目标子资源。对于存储,可以是blob、blob_secondary、table、table_secondary、dfs和dfs_secondary。
  • 选择端点应该部署到的VNet和子网。
  • 然后,您可以选择与私有DNS区域集成,如果您使用默认的azd提供的DNS,这是推荐的,因为Azure会为您处理所有困难的工作。如果使用自定义DNS设置,则需要使用自己的DNS服务器或使用VM的hosts文件创建DNS记录。(稍后会有更多关于这个的内容!)

现在已经创建了私有端点,可以对其进行测试了。SSH或RDP到实例中并运行nslookup mystorageaccount.blob.core.windows.net,用存储帐户名替换mystorageaccount。你会看到这样的东西:

Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:

mystorageaccount.blob.core.windows.net canonical name = mystorageaccount.privatelink.blob.core.windows.net.

Name: mystorageaccount.privatelink.blob.core.windows.net

Address: 10.1.0.5

注意上面的IP地址是如何成为私有IP地址的。如果你从你的本地终端运行相同的命令,你会看到这样的东西:

Server: 75.75.75.75

Address: 75.75.75.75#53

Non-authoritative answer:

mystorageaccount.blob.core.windows.net canonical name = mystorageaccount.privatelink.blob.core.windows.net.

mystorageaccount.privatelink.blob.core.windows.net canonical name = blob.blz81prdstr02z.store.core.windows.net.

Name: blob.blz81prdstr02z.store.core.windows.net

Address: 52.238.154.132

为了加分:阻止所有的流量到存储帐户的公共端点。您可以通过导航到存储帐户并在侧边栏中选择“防火墙和虚拟网络”来做到这一点。在“允许访问”下,选择“选定的网络”。然后保存更改。因为您没有白名单任何网络,没有网络可以访问存储帐户通过它的公共端点。

你可以在虚拟机上使用Azure CLI或PowerShell来测试这一点,将一个文件上传到你的存储帐户中。尝试从本地终端(或从同一VNet但不同子网中的VM)检索该文件,您将得到一个错误消息,说明您无法连接到存储帐户。正如预期的那样,您可以通过私有端点从VM连接到存储帐户,但是您不能在子网之外连接到它。

额外的好处:您可以创建一个NSG,通过阻止来自托管虚拟机的子网的出站流量来进一步锁定VNet。VM仍然能够通过私有端点访问存储帐户,并且可以确保其他流量不能离开子网。

同样,要获得完整的教程,请参阅Azure文档。

在使用私有端点之前,需要了解一些事情

  • 私有端点需要花钱。您需要为私有端点资源时间以及处理的入站和出站数据付费。但是,如果你运行自己的私有链接服务,私有链接服务是不需要额外收费的——只有私有端点。
  • 在使用私有端点时,正确配置DNS设置是至关重要的,特别是在使用完全限定域名(FQDN)连接到私有端点资源时,因为Azure服务的FQDN解析到它们的公共IP地址。(例如,我们示例中的FQDN mystorageaccount.blob.core.windows.net将解析为52.238.154.132。)如果您的服务被配置为使用其公共端点连接到私有端点资源,并且您有一个自定义DNS设置,那么您将需要重写DNS解析以使用私有IP地址。(如果您使用的是azd提供的DNS,并且在创建私有端点时选择与私有DNS区域集成,那么您就万事俱备了——Azure负责处理细节。)
  • 私有端点必须部署在与虚拟网络相同的区域,但是私有链接资源可以部署在不同的区域和/或AD租户。
  • 私有端点不支持网络策略,比如网络安全组(NSGs),因此安全规则不会应用于它们。(这就是上述额外的学分作业奏效的原因!)但是不要担心——子网中的其他资源仍然像往常一样受NSG安全规则的控制。请注意,如果您不使用Azure门户来创建私有端点,则需要手动禁用子网的privateendpointnetworkpolicy设置。(如果您使用门户,这将自动为您处理。)

结论

可以看到,通过将私有端点资源引入到VNet中,私有端点是保护VNet和私有端点资源的好方法。流量源是一个私有IP地址,而目的地是同一子网中的私有IP地址。

“听起来不错,”您可能会说,“但是私有端点和服务端点之间有什么区别呢?”

为此,请继续关注本博客系列的第3部分,在其中我们将比较私有端点和服务端点!

相关文章
|
1天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第19天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术以及安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,提高自己的网络安全防护能力。
25 13
|
1天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第19天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全的基础知识,包括网络安全漏洞、加密技术和安全意识等方面的内容。通过本文的学习,您将了解到如何保护自己的网络安全,提高自己的安全意识,并掌握一些基本的加密技术。让我们一起来探索这个神秘而重要的领域吧!
|
2天前
|
存储 安全 网络安全
网络安全与信息安全:构建安全防线的多维策略在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的关键要素。本文旨在探讨网络安全漏洞的本质、加密技术的重要性以及提升公众安全意识的必要性,以期为构建更加坚固的网络环境提供参考。
本文聚焦于网络安全领域的核心议题,包括网络安全漏洞的现状与应对、加密技术的发展与应用,以及安全意识的培养与实践。通过分析真实案例,揭示网络安全威胁的多样性与复杂性,强调综合防护策略的重要性。不同于传统摘要,本文将直接深入核心内容,以简洁明了的方式概述各章节要点,旨在迅速吸引读者兴趣,引导其进一步探索全文。
|
2天前
|
SQL 安全 算法
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第18天】随着互联网的发展,网络安全问题日益严重。本文将从网络安全漏洞、加密技术、安全意识等方面进行知识分享,帮助读者了解网络安全的重要性和应对策略。通过本文,您将了解到如何保护自己的网络安全,提高安全意识,防范网络攻击。
|
2天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第18天】在当今数字化时代,网络安全与信息安全已成为我们生活中不可或缺的一部分。本文将探讨网络安全漏洞、加密技术以及安全意识等方面的内容,以帮助读者更好地了解和保护自己的网络安全。我们将通过实例分析,深入探讨网络安全的重要性,并提供一些实用的技巧和建议。
|
2天前
|
存储 安全 算法
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为个人和企业不可忽视的重要议题。本文旨在探讨网络安全漏洞、加密技术及安全意识等方面的关键知识,以帮助读者提升网络安全防护能力。
10 0
|
2天前
|
存储 安全 物联网
探索未来网络:物联网安全的最佳实践与挑战
在数字化浪潮中,物联网作为连接万物的关键技术,已深刻改变我们的工作与生活方式。然而,随着其应用的广泛化,安全问题日益凸显,成为制约物联网发展的重要瓶颈。本文旨在深入探讨物联网的安全架构、风险点及应对策略,通过分析当前技术趋势和实际案例,提出一套切实可行的安全防护方案,以促进物联网技术的健康发展。
|
2天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第18天】在数字化时代,网络安全与信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术以及安全意识等方面的内容,帮助读者了解如何保护自己的网络安全和信息安全。我们将通过一些简单的代码示例来说明这些概念,并强调培养良好的安全意识的重要性。
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:保护你的数字世界##
网络安全和信息安全是现代社会中至关重要的话题。随着数字化进程的加速,网络攻击和数据泄露事件频发,给个人、企业乃至国家安全带来了巨大威胁。本文将探讨网络安全漏洞、加密技术以及安全意识等方面的关键知识,帮助你提升对网络安全的认知,保护自己的数字资产。 ##
22 5
|
2天前
|
SQL 安全 算法
网络安全与信息安全:保护你的数字世界
【9月更文挑战第18天】在这个数字信息时代,网络安全和信息安全的重要性不言而喻。从网络漏洞的发现到加密技术的应用,再到安全意识的提升,每一个环节都至关重要。本文将深入探讨这些主题,并提供实用的建议和代码示例,以帮助读者更好地保护自己的数字世界。
21 11