【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.mzph.cn/news/238929.shtml

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

相关文章

融资项目——vue之路由实现

通俗来说&#xff0c;路由就是锚点<a>的升级版。下面举一个例子来了解&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><div id"list"><h1…

【C++】可变参数模板使用总结(简洁易懂,详细,含代码演示)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Linux》…

【Unity基础】9.地形系统Terrain

【Unity基础】9.地形系统Terrain 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity基础系列博客&#xff0c;所学知识来自B站阿发老师~感谢 &#xff08;一&#xff09;地形编辑器Terrain &#xff08;1&#xff09;创建地形 游戏场景中大多数的山川河流地表地貌都是基…

最小基因变化[中等]

一、题目 基因序列可以表示为一条由8个字符组成的字符串&#xff0c;其中每个字符都是A、C、G和T之一。假设我们需要调查从基因序列start变为end所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化。 例如&#xff0c;AACCGGTT --> AACCGGTA就是一…

前端项目为什么需要 TypeScript 来强化?

什么是TypeScript? TypeScript 是一个为开发大规模应用程序而设计的语言。它是 JavaScript 的一个超集&#xff0c;包含 JavaScript 全部的功能&#xff0c;并扩展了一些新的特性。具体来说&#xff0c;TypeScript 增加了如类型注解和编译时类型检查等特性&#xff1a; let n…

淘宝通过关键字搜索商品列表API接口对接详细步骤(支持免费测试)

通过关键字搜索商品&#xff0c;批量获取到相关商品&#xff0c;这是几乎所有电商平台购物商城都有的功能。我将此功能封装为API&#xff0c;可供外部软件直接调用&#xff0c;实现通过关键字搜索淘宝商品的功能。 接口名称&#xff1a;item_search-按关键字搜索淘宝商品 请求…

微信小程序promise封装

一. 在utils文件夹内创建一个request.js 写以下封装的 wx.request() 方法 const baseURL https:// 域名 ; //公用总路径地址 export const request (params) > { //暴露出去一个函数&#xff0c;并且接收一个外部传入的参数let dataObj params.data || {}; //…

pytorch中nn.Sequential详解

1 nn.Sequential概述 1.1 nn.Sequential介绍 nn.Sequential是一个序列容器&#xff0c;用于搭建神经网络的模块被按照被传入构造器的顺序添加到容器中。除此之外&#xff0c;一个包含神经网络模块的OrderedDict也可以被传入nn.Sequential()容器中。利用nn.Sequential()搭建好…

蓝牙耳机编码方式

蓝牙耳机编码方式 蓝牙耳机的编码方式指的是蓝牙耳机如何处理和传输音频数据。主要的蓝牙编码方式包括&#xff1a; SBC (Subband Coding)&#xff1a;这是蓝牙音频的标准编码方式&#xff0c;所有蓝牙音频设备都支持。虽然它的音质不是最佳&#xff0c;但兼容性很好。 AAC (A…

【重点】【DP】5.最长回文子串|516.最长回文子序列

两个求解目标类似的题目&#xff0c;对比记忆&#xff01; 5.最长回文子串 题目 法1&#xff1a;二维DP 最基础方法&#xff01;必须掌握&#xff01; O(N^2) O(N^2) class Solution {public String longestPalindrome(String s) {int n s.length();if (n 1) {return s…

webpack之介绍

学习webpack之前&#xff0c;请先让我们大家了解一下什么是webpack&#xff1f;为什么要用webpack&#xff1f; Webpack是一个现代化的JavaScript应用程序的静态模块打包工具。它可以将多个模块打包成一个或多个静态资源文件&#xff0c;以便在浏览器中使用。 Webpack的主要功…

连几句恶语都容它不下,那是鸡肠鼠肚,有大度才能成大器。

连几句恶语都容它不下&#xff0c;那是鸡肠鼠肚&#xff0c;有大度才能成大器。

Spring Boot测试 - JUnit整合及模拟Mvc

概述 在现代软件开发中&#xff0c;测试是确保应用程序质量和稳定性的关键步骤。Spring Boot框架为开发人员提供了丰富的测试工具和集成&#xff0c;其中JUnit是最常用的测试框架之一。本文将介绍如何在Spring Boot项目中集成JUnit测试&#xff0c;以及如何使用模拟Mvc来进行W…

csrf自动化检测调研

https://github.com/pillarjs/understanding-csrf/blob/master/README_zh.md CSRF 攻击者在钓鱼站点&#xff0c;可以通过创建一个AJAX按钮或者表单来针对你的网站创建一个请求&#xff1a; <form action"https://my.site.com/me/something-destructive" metho…

一些问题/技巧的集合(仅个人使用)

目录 第一章、1.1&#xff09;前端找不到图片1.2&#xff09;1.3&#xff09;1.4&#xff09; 第二章、2.1&#xff09;2.2&#xff09;2.3&#xff09; 第三章、3.1&#xff09;3.2&#xff09;3.3&#xff09; 第四章、4.1&#xff09;4.2&#xff09;4.3&#xff09; 友情提…

系列一、GitHub搜索技巧

一、GitHub搜索技巧 1.1、概述 作为程序员&#xff0c;GitHub大家应该都再熟悉不过了&#xff0c;很多时候当我们需要使用某一项技能而又无从下手时&#xff0c;通常会在百度&#xff08;面向百度编程&#xff09;或者在GitHub上通过关键字寻找相关案例&#xff0c;比如我想学…

IU5070E线性单节锂电池充电管理IC

IU5070E是一款具有太阳能板最大功率点跟踪MPPT功能&#xff0c;单节锂离子电池线性充电器&#xff0c;最高支持1.5A的充电电流&#xff0c;支持非稳压适配器。同时输入电流限制精度和启动序列使得这款芯片能够符合USB-IF涌入电流规范。 IU5070E具有动态电源路径管理(DPPM)功能&…

如果你带着热爱专注地做些事,很多有趣的事就会随之而来。

如果你带着热爱专注地做些事&#xff0c;很多有趣的事就会随之而来。

第11章 GUI Page403~405 步骤三 设置滚动范围

运行效果&#xff1a; 源代码&#xff1a; /**************************************************************** Name: wxMyPainterApp.h* Purpose: Defines Application Class* Author: yanzhenxi (3065598272qq.com)* Created: 2023-12-21* Copyright: yanzhen…