【Amazon 实验①】使用Amazon WAF做基础 Web Service 防护

在这里插入图片描述

文章目录

  • 一、实验介绍
  • 二、实验环境准备
  • 三、验证实验环境
  • 四、Web ACLs 配置 & AWS 托管规则
    • 4.1 Web ACLs 介绍
    • 4.2 Managed Rules 托管规则
    • 4.3 防护常见威胁类型(sql注入,XSS)
    • 4.4 实验步骤
      • 4.4.1 创建Web ACL
      • 4.4.2 测试用例
      • 4.4.3 测试结果
      • 4.4.4 关联规则到创建的Web ACL
      • 4.4.5 验证

一、实验介绍

AWS WAF(Web Application Firewall)是一种提供应用程序级别保护的安全服务,旨在保护web应用程序免受网络攻击。AWS WAF可以有效地帮助用户抵御常见的网络攻击,如跨站脚本(XSS)、SQL注入等。它允许用户创建自定义的安全规则,以监控和控制应用程序收到的流量。这些规则可以基于多种条件,包括IP地址、HTTP头部、HTTP正文、或者字符串匹配等来设置。

本实验将演示如何使用托管规则和自定义规则,来抵御网络攻击。

二、实验环境准备

image-20231221173200326

三、验证实验环境

验证Web页面访问:点击CloudFormation堆栈,选中堆栈PartnerEdgeWorkshop,输出输出标签,获得Cloudfront URL,在浏览器中打开Cloudfront URL,如下图所示。

image-20231221173256063
image-20231221173509984

此时,已成功完成实验环境准备工作,接下来将进入下一步:Web ACL配置

四、Web ACLs 配置 & AWS 托管规则

4.1 Web ACLs 介绍

Web ACL 是 AWS WAF 部署中的核心资源。它包含针对它收到的每个请求评估的规则。Web ACL 通过 Amazon CloudFront 分配、AWS API Gateway、AWS AppSync 或 Application Load Balancer 与您的 Web 应用程序关联。

4.2 Managed Rules 托管规则

托管规则组是 AWS 和 AWS Marketplace 卖家为您编写和维护的预定义、即用型规则的集合。


某些托管规则组旨在帮助保护特定类型的 Web 应用程序,例如 WordPress、Joomla 或 PHP。其他漏洞则针对已知威胁或常见 Web 应用程序漏洞提供广泛的保护,包括 OWASP Top 10 中列出的一些漏洞。如果您受 PCI 或 HIPAA 等法规遵从性的约束,则可以使用托管规则组来满足 Web 应用程序防火墙要求。

AWS 提供了一系列托管规则组。三个示例是 Amazon IP 信誉列表、已知错误输入和核心规则集。

image-20231221174412389

4.3 防护常见威胁类型(sql注入,XSS)

4.4 实验步骤

4.4.1 创建Web ACL

  1. 打开 AWS WAF 控制台 。
  2. 选择创建 Web ACL。
  3. 将 Resource type (资源类型) 设置为 CloudFront Distribution。
  4. 创建名称 edge-workshop-acl 的Web ACL。
  5. CloudWatch metric name 同样设置为:CloudWatch metric name。
  6. 在关联的 AWS 资源部分中,选择添加 AWS 资源。
  7. 选择在初始化实验环境中创建的Cloudfront 分配,然后选择 Add (添加)。
  8. 选择“下一步”并继续操作,直到“创建 Web ACL”以完成任务。
  9. 在Cloudfront 分配页面,确认已关联WAF。

image-20231221174724847
image-20231221174928265
image-20231221175015253

image-20231221175124704

image-20231221175353112

4.4.2 测试用例

#使用Cloudformation创建出的URL
export JUICESHOP_URL=<Your Juice Shop URL>
export JUICESHOP_URL=djbryp4jxosx1.cloudfront.net# Sql注入语句
curl -X POST $JUICESHOP_URL -F "user='AND 1=1;"# XSS攻击语句
curl -X POST  $JUICESHOP_URL -F "user='<script><alert>Hello</alert></script>'"

image-20231221175741092

4.4.3 测试结果

Sql注入和XSS都正常返回response, 未被Waf Block。

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>OWASP Juice Shop</title><meta name="description" content="Probably the most modern and sophisticated insecure web application"><meta name="viewport" content="width=device-width, initial-scale=1"></head>
<body class="mat-app-background bluegrey-lightgreen-theme"><app-root></app-root>
</body></html>

4.4.4 关联规则到创建的Web ACL

在web acl页面,选择 Add rules 按钮。

  1. 添加 Core rule set,该规则集将涵盖 Web 应用程序常见的各种漏洞。

  2. 添加 SQL database,该数据库将提供规则来防止 SQL 数据库漏洞,例如 SQL 注入。

  3. 添加 Known bad inputs,该数据库将提供规则来防止 SQL 数据库漏洞,例如 SQL 注入。

image-20231222102525818

image-20231222102815947

image-20231222102821583

4.4.5 验证

执行步骤:测试用例 中的攻击语句,结果如下:

image-20231222104237398

证明WAF已经有效拦截sql注入和xss攻击。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/295654.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取和更新表单数据)

效果预览 相关代码 页面–我的 src\pages\my\my.vue <!-- 个人资料 --><view class"profile" :style"{ paddingTop: safeAreaInsets!.top px }"><!-- 情况1&#xff1a;已登录 --><view class"overview" v-if"membe…

Linux bridge开启hairpin模拟测试macvlan vepa模式

看到网上介绍可以通过Linux bridge 开启hairpin方式测试macvlan vepa模式&#xff0c;但是没有找到详细资料。我尝试测试总提示错误信息&#xff0c;无法实现&#xff0c;经过几天的研究&#xff0c;我总算实现模拟测试&#xff0c;记录如下&#xff1a; 参考 1.Linux Macvla…

MySQL报错:1054 - Unknown column ‘xx‘ in ‘field list的解决方法

我在操作MySQL遇到1054报错&#xff0c;报错内容&#xff1a;1054 - Unknown column Cindy in field list&#xff0c;下面演示解决方法&#xff0c;非常简单。 根据箭头指示&#xff0c;Cindy对应的应该是VARCHAR文本数字类型&#xff0c;字符串要用引号&#xff0c;所以解决方…

如用postman进行web端自动化测试(超详细解析)

前言 概括说一下&#xff0c;web接口自动化测试就是模拟人的操作来进行功能自动化&#xff0c;主要用来跑通业务流程。 主要有两种请求方式&#xff1a;post和get&#xff0c;get请求一般用来查看网页信息&#xff1b;post请求一般用来更改请求参数&#xff0c;查看结果是否正…

SpringBoot3-核心原理

生命周期监听 场景&#xff1a;监听应用的生命周期 1. 监听器-SpringApplicationRunListener 自定义SpringApplicationRunListener来监听事件&#xff1b; 1.1. 编写SpringApplicationRunListener 实现类 1.2. 在 META-INF/spring.factories 中配置 org.springframework.boo…

安装vcpkg管理opencv的安装+MFC缺失的解决

第一步&#xff0c;出现#include没有办法找到opencv头文件的问题&#xff0c;无法解决 在VC的提示下&#xff0c;安装了vcpkg&#xff0c;然后用vcpkg命令来帮助安装opencv&#xff0c;过程十分顺利。 1. cmd 到命令行窗口&#xff1b; 2. 建立src文件夹&#xff0c;并进入…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)Channel 模块的实现

在这篇文章中虽然实现了能够和多客户端建立连接&#xff0c;并且同时和多个客户端进行通信。 基于多反应堆的高并发服务器【C/C/Reactor】&#xff08;上&#xff09;-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135141316?spm1001.2014.3001.5501但是有…

探索微软Edge:使用方法和心得分享

学习目标&#xff1a; 了解微软Edge的基本功能和使用方法。掌握在微软Edge上进行浏览、搜索和书签管理的技巧。学习如何使用微软Edge进行隐私和安全管理。探索微软Edge的扩展和其他高级功能。 学习内容&#xff1a; 微软Edge的简介&#xff1a;了解微软Edge的起源、特点和与其…

双非本科求职_面试经验_上集

前言 后知后觉开始找实习&#xff0c;也马上进入秋招&#xff0c;写此文一方面是记录一下我的面试经历作为复盘&#xff0c;另一方面也给同样在广州&#xff0c;双非二本的同志一个参考&#xff08;快来看菜鸟&#xff09;&#xff0c;从而获得一定的动力和自信&#xff0c;毕…

面试题:JVM 对锁都进行了哪些优化?

文章目录 锁优化自旋锁和自适应自旋锁消除锁粗化逃逸分析方法逃逸线程逃逸通过逃逸分析&#xff0c;编译器对代码的优化 锁优化 jvm 在加锁的过程中&#xff0c;会采用自旋、自适应、锁消除、锁粗化等优化手段来提升代码执行效率。 自旋锁和自适应自旋 现在大多的处理器都是…

【方案】如何利用大数据+云计算技术打造智能环境监控系统?

小编在之前的文章中也提到过基于云计算的环境智能监控系统是什么样的&#xff0c;收到了很多朋友的关注&#xff0c;今天小编就再次根据智能监控为切入点&#xff0c;深入讲解智能环境监控系统方案的详细落实。 1、传感器节点&#xff1a;首先需要选择适合应用场景的各类传感器…

【ArduinoOTA无线(OTA)更新的EASY指南】

【ArduinoOTA无线&#xff08;OTA&#xff09;更新的EASY指南】 1. 前言2. 了解 ESP32 的 ArduinoOTA3. 无线更新案例4. ArduinoOTA入门5. 安装必备组件6. 设置硬件7. ESP32 OTA 的最低代码8. 按照我们的流程学习Arduino编程➜9. 这对OTA来说非常重要10. 通过无线方式将草图上传…