技术原理

如何使用AWS WAF保护Web应用程序?

本文将告诉您如何使用AWS WAF保护Web应用程序,并随后进行实际演示。本文将介绍以下几点,

开始介绍一些基本的步骤序列,开始使用AWS WAF

,让我们开始然后,

继续介绍本文“如何使用AWS WAF保护Web应用程序”?

从一些基础知识开始

AWS提供诸如EC2、ELB(弹性负载平衡器)、S3(简单存储服务)、EBS(弹性块存储)等服务,以便快速创建有用的、花哨的应用程序,同时减少资本支出。在创建这些应用程序时,保护应用程序和数据同样重要。如果没有适当的安全保护,应用程序数据可能会落入错误的人的手中,就像最近的Capital One事件一样。

Capital One在EC2上托管了一个Web应用程序,但它没有得到适当的安全保护。前AWS员工能够利用此漏洞并从S3下载大量客户数据。后来发现,来自其他30个组织的数据也是从AWS下载的。所以,再次强调,不仅要设计和设计应用程序,还要确保应用程序的安全。

Capital One使用AWS WAF(Web应用防火墙)来保护Web应用程序,但它没有正确配置,因为黑客能够访问S3中的数据并下载它。在本文中,我们将探讨如何使用和配置AWS WAF来抵御常见的web攻击,如SQL注入、XSS(跨站点脚本)等。AWS WAF必须与应用程序负载均衡器、CloudFront或API网关一起配置。在这个场景中,我们将使用应用程序负载平衡器。客户通过浏览器发出的任何请求都将经过AWS WAF,然后到达应用程序负载平衡器,最后到达EC2上的Web应用程序。AWS WAF可以用来阻止来自黑客的恶意请求,使用一组规则和条件。

Image - Secure Web Applications With AWS WAF - Edureka

将继续这篇关于“如何使用AWS WAF保护Web应用程序”的文章?

开始使用AWS WAF

的一系列步骤步骤步骤1:创建易受攻击的web应用程序,

第一步是创建易受SSRF(服务器端请求伪造)攻击的web应用程序,如本博客中关于Capital One攻击是如何发生的。此博客的步骤顺序为:

创建一个EC2安装创建带有SSRF漏洞的web应用程序所需的软件Create和具有S3只读权限的IAM角色将IAM角色附加到EC2最后,利用SSRF漏洞获取与IAM角色相关的安全凭据

“在上述博客中完成步骤序列后,用下面URL中EC2的公共IP地址替换5.6.7.8,并在浏览器中打开它。与IAM角色关联的安全凭据应显示在浏览器中,如下所示。基本上,Capital One就是这样被黑客攻击的。有了安全证书,黑客就可以访问其他AWS服务,如S3下载数据。

http://5.6.7.8:80?url=http://169.254.169.254/latest/meta data/iam/security credentials/Role4EC2-S3RO

Image - Secure Web Applications With AWS WAF - Edureka

步骤2:创建应用程序负载平衡器

AWS WAF不能与Web应用程序直接关联。但是,只能与应用程序负载平衡器、CloudFront和API网关相关联。在本教程中,我们将创建应用程序负载平衡器并将AWS WAF与之关联。

步骤2a:目标组是EC2实例的集合,必须在创建应用程序负载平衡器之前创建。在EC2管理控制台中,单击左窗格中的目标组,然后单击“创建目标组”。

Image - Secure Web Applications With AWS WAF - Edureka

步骤2b:输入目标组名称并单击“创建”。目标将成功创建t组。

Image - Secure Web Applications With AWS WAF - Edureka

Image - Secure Web Applications With AWS WAF - Edureka

步骤2c:确保选择了目标组,然后单击“目标”选项卡并单击“编辑”将EC2实例注册到目标组。

Image - Secure Web Applications With AWS WAF - Edureka

步骤2d:选择EC2实例并单击“添加到”“已注册”并单击“保存”。

Image - Secure Web Applications With AWS WAF - Edureka

Image - Secure Web Applications With AWS WAF - Edureka

应按如下所示为目标组注册实例。

Image - Secure Web Applications With AWS WAF - Edureka

步骤2e:创建应用程序负载平衡器的时间。单击EC2管理控制台左窗格中的负载平衡器,然后单击“创建负载平衡器”。

Image - Secure Web Applications With AWS WAF - Edureka

单击“应用程序负载平衡器”的“创建”。

Image - Secure Web Applications With AWS WAF - Edureka1”

将继续本文“如何使用AWS WAF保护Web应用程序”?

步骤2f:输入应用程序负载平衡器的名称。并确保选择了所有可用区域,然后单击下一步。

Image - Secure Web Applications With AWS WAF - Edureka2”

步骤2g:在“配置安全设置”中单击下一步。“配置安全组”中的

Image - Secure Web Applications With AWS WAF - Edureka3”

创建新的安全组或选择现有的安全组之一。确保端口80已打开以访问EC2上的网页。单击下一步。

Image - Secure Web Applications With AWS WAF - Edureka

步骤2h:在“配置路由”中选择“现有目标组”,然后选择在前面步骤中创建的目标组。单击下一步。

Image - Secure Web Applications With AWS WAF - Edureka

步骤2i:目标EC2实例已注册为目标组的一部分。因此,在“Register Target”选项卡中,在没有任何更改的情况下,单击Next.

Image - Secure Web Applications With AWS WAF - Edureka

步骤2j:最后,查看应用程序负载平衡器的所有详细信息并单击Create。应用程序负载平衡器将按如下所示创建。

Image - Secure Web Applications With AWS WAF - EdurekaImage - Secure Web Applications With AWS WAF - Edureka8”

步骤2k:获取应用程序负载平衡器的域名,并替换下面URL中突出显示的文本并在浏览器中打开。注意,我们正在通过应用程序负载平衡器访问Web应用程序,安全凭据如下所示。使用AWS WAF可以阻止下面的URL,如以下步骤所示,以阻止安全凭据的泄漏。

MyALB-1929899948.us-east-1.elb.amazonaws.com?url=http://169.254.169.254/latest/meta data/iam/security credentials/Role4EC2-S3RO

Image - Secure Web Applications With AWS WAF - Edureka9”

步骤3:创建AWS WAF(Web应用防火墙)

步骤3a:转到AWS WAF管理控制台并单击“配置Web ACL”。显示了AWS WAF概述。这是AWS WAF的层次结构。Web ACL有一堆规则,规则有一堆条件,我们将在后续步骤中创建这些条件。单击“下一步”。

Image - Secure Web Applications With AWS WAF - Edureka

Image - Secure Web Applications With AWS WAF - Edureka

步骤3b:输入Web ACL名称,区域为North Virginia(或创建EC2的位置),资源类型为“应用程序负载平衡器”,最后选择在前面步骤中创建的应用程序负载平衡器。单击下一步。

Image - Secure Web Applications With AWS WAF - Edureka

步骤3c:这里必须创建阻止特定web应用程序请求的条件。向下滚动并单击“String and regex match conditions”的“Create condition”。

步骤3d:输入条件的名称、类型“String match”、筛选“All query parameters”和其他参数,如下所示。然后单击“添加筛选器”,然后单击“创建”。在这里,我们试图创建一个与包含查询参数值169.254.169.254的URL匹配的条件。此IP地址与EC2元数据相关。

Image - Secure Web Applications With AWS WAF - EdurekaImage - Secure Web Applications With AWS WAF - Edureka

步骤3e:现在是创建规则的时候,该规则是条件的集合。单击“Create rule”并指定与bel完全相同的参数哦。单击“添加条件”,创建并“查看并创建”。

Image - Secure Web Applications With AWS WAF - EdurekaImage - Secure Web Applications With AWS WAF - Edureka

继续阅读本文“如何使用AWS WAF保护Web应用程序”?

步骤3f:最后查看所有详细信息并单击“确认并创建”。将创建Web ACL(访问控制列表),并将其与应用程序负载平衡器关联,如下所示。

Image - Secure Web Applications With AWS WAF - EdurekaImage - Secure Web Applications With AWS WAF - Edureka

步骤3g:现在尝试通过浏览器访问应用程序负载平衡器URL,如步骤2k中所述。这一次,我们将获得“403禁止”,因为我们的URL与Web匹配ACL状态,我们正在阻止它。请求永远不会到达EC2上的应用程序负载平衡器或Web应用程序。在此,我们注意到,尽管应用程序允许访问安全凭据,但WAF正在阻止相同的操作。

Image - Secure Web Applications With AWS WAF - Edureka

步骤4:清理本教程中创建的AWS资源。必须按照与下面所述完全相同的顺序进行清理。这是为了确保AWS停止对作为本教程一部分创建的关联资源的计费。规则中的

删除条件删除WebACL中的规则解除WebACL中的ALB删除WebACL删除规则删除条件中的筛选器删除条件删除ALB和目标组终止EC2删除前面提到的IAM角色

结论

,使用AWS创建Web应用程序非常简单和有趣。但我们也必须确保应用程序是安全的,并且数据不会泄露到坏人手中。安全性可以应用于多个层。在本教程中,我们已经看到了如何使用AWS WAF(Web应用防火墙)来保护Web应用程序免受攻击,比如与EC2元数据的IP地址匹配。我们还可以使用WAF来防止常见的攻击,如SQL注入和XSS(跨站点脚本)。使用AWS WAF的

或实际上任何其他安全产品都不能使应用程序安全,但必须正确配置该产品。如果配置不正确,数据可能会落入错误的人手中,就像Capital One和其他组织那样。另外,另一个需要考虑的重要问题是,安全性必须从第一天开始考虑,而不是在以后的阶段插入应用程序。

这使我们在本文的最后讨论了如何使用AWS WAF保护Web应用程序。我们还提出了一个课程,它涵盖了解决方案架构师考试的具体内容!你可以看看AWS解决方案架构师培训的课程细节。

有问题要问我们吗?请在这个什么是AWS博客的评论部分提到它,我们会给你回复的

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
人工智能发展历程 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录