【网络安全产品】---应用防火墙(WAF)

devtools/2024/9/20 1:15:44/ 标签: web安全, 安全, 网络

what

Web应用防火墙(Web Application Firewall)

WAF可对网站或者App的业务流量进行恶意特征识别及防护,在对流量清洗和过滤后,将正常、安全的流量返回给服务器,避免网站服务器被恶意入侵导致性能异常等问题,从而保障网站的业务安全和数据安全

why

如今下一代防火墙集成的功能越来越多,为什么waf依然有一席之地?

首先 防火墙最重要的功能就是位于外网与内网的边界,基于IP进行数据包的转发与丢弃(包过滤),但是网站作为向外界展示的门面,避免不了需要与来自外网的请求进行交互,因此web服务器被放置在DMZ区,这种网络部署,比起一般的防火墙方案,对来自外网的攻击者来说又多了一道关卡。因此为了应对专门针对web的攻击,waf应运而生

how

当网站没有接入到WAF前,DNS直接解析到源站的IP。网站接入WAF后,需要把DNS解析到WAF的CNAME(CNAME-将域名指向另外一个域名),这样流量才会先经过WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。

防护规则

ip白/黑名单

通过设置白/黑名单规则匹配条件,指定要检测的匹配特征。如果某个请求满足规则中设置的匹配条件(匹配字段(url/ip/cookie/useragent/body/headerhost/refere) 匹配符(包括/不包括) 匹配内容(请求路径)),则该请求命中对应规则。

cc防护

what cc攻击

CC攻击可以归为DDoS攻击的一种,其原理就是攻击者控制某些主机不停地发大量正常请求数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。---DDOS针对IP攻击,cc针对网站攻击

        大流量的DDoS攻击主要是针对IP的四层攻击,而CC攻击是针对七层应用的攻击(例如HTTP GET/POST Flood)。WAF可以防御CC攻击,但对于大流量的DDoS攻击,由于需要通过足够大的带宽资源把所有流量都硬抗下来再进行清洗,只能通过DDoS防护服务来防护。

how 防范

出现网站响应缓慢,流量、CPU、内存等指标异常时认为网站正遭受cc攻击,防护规则,通过限制单个IP/Cookie/Referer访问者对防护网站上源端的访问频率缓解攻击

扫描防护

设置扫描防护规则(高频扫描/短时间内访问大量无效/隐藏目录),识别扫描行为和扫描器特征,阻止攻击者或扫描器对网站的大规模扫描行为,帮助Web业务降低被入侵的风险并减少扫描带来的垃圾流量

区域封禁

通过识别客户端访问请求的来源区域,一键封禁来自特定区域的访问或者允许特定区域的访问,解决部分地区高发的恶意请求问题。

网页防篡改

通过设置网页防篡改规则,锁定需要保护的网站页面(例如敏感页面)。当被锁定的页面在收到请求时,返回已设置的缓存页面,预防源站页面内容被恶意篡改

信息泄露防护

通过设置信息泄露防护规则,使得网站过滤服务器返回内容(例如异常页面、关键字)中的敏感信息(包含身份证号、电话号码、银行卡号、敏感词汇),脱敏展示敏感信息或返回默认异常响应页面

功能类别

功能说明

业务配置

支持对网站的HTTP、HTTPS流量进行安全防护。

Web应用安全防护

常见Web应用攻击防护

  • 防御OWASP常见威胁:SQL注入、XSS跨站、WebShell上传、后门攻击、命令注入、非法HTTP协议请求、常见Web服务器漏洞攻击、CSRF、核心文件非授权访问、路径穿越、网站被扫描等。

  • 网站隐身:不对攻击者暴露站点地址,避免其绕过Web应用防火墙直接攻击。

  • 0day补丁及时更新:及时更新漏洞补丁,防护网站安全

  • 友好的观察模式:针对网站新上线的业务开启观察模式,对于匹配中防护规则的疑似攻击只告警不阻断,方便统计业务误报状况。

深度精确防护----变形攻击检测

  • 支持全解析多种常见HTTP协议数据格式:任意头部字段、Form表单、Multipart、JSON、XML。

  • 支持解码常见编码类型:URL编码、Java Script Unicode编码、HEX编码、HTML实体编码、Java序列化编码、PHP序列化编码、Base64编码、UTF-7编码、UTF-8编码、混合嵌套编码。

  • 支持预处理机制:空格压缩、注释删减、特殊字符处理,向上层多种检测引擎提供更为精细、准确的数据源。

  • 支持复杂格式数据环境下的检测能力;支持合理的检测逻辑复杂度,避免过多检测数据导致的误报,降低误报率;支持多种形式数据编码的自适应解码,避免利用各种编码形式的绕过。

CC恶意攻击防护

  • 控制单一源IP的访问频率,基于重定向跳转验证、人机识别等。

  • 针对海量慢速请求攻击,根据统计响应码及URL请求分布、异常Referer及User-Agent特征识别,结合网站精准防护规则综合防护。

  • 充分利用阿里云大数据安全优势,建立威胁情报与可信访问分析模型,快速识别恶意流量。

精准访问控制

  • 提供友好的配置控制台界面,支持IP、URL、Referer、User-Agent等HTTP常见字段的条件组合,配置强大的精准访问控制策略;支持盗链防护、网站后台保护等防护场景。

  • 与Web常见攻击防护、CC防护等安全模块结合,搭建多层综合保护机制;依据需求,轻松识别可信与恶意流量。

虚拟补丁

在Web应用漏洞补丁发布和修复之前,通过调整Web防护策略实现快速防护。

攻击事件管理

支持对攻击事件、攻击流量、攻击规模的集中管理统计。

灵活性、可靠性

  • 支持负载均衡:以集群方式提供服务,多台服务器负载均衡,支持多种负载均衡策略。

  • 支持平滑扩容:可根据实际流量情况,缩减或增加集群服务器的数量,实现服务能力弹性扩容。

  • 无单点问题:单台服务器宕机或者维修,均不影响正常服务。


http://www.ppmy.cn/devtools/32919.html

相关文章

【webrtc】RemoteAudioSource的创建线程

m98 代码&#xff1a;I:\webrtc m98_yjf\src\pc\rtp_transmission_manager.cc RtpTransmissionManager::CreateReceiver 在信令线程创建receiver receiver 是&#xff1a; rtc::scoped_refptr<RtpReceiverProxyWithInternal<RtpReceiverInternal>>receiver;其实际…

音视频开发之旅——实现录音器、音频格式转换器和播放器(PCM文件转换为WAV文件、使用LAME编码MP3文件)(Android)

本文主要讲解的是实现录音器、音频转换器和播放器&#xff0c;在实现过程中需要把PCM文件转换为WAV文件&#xff0c;同时需要使用上一篇文章交叉编译出来的LAME库编码MP3文件。本文基于Android平台&#xff0c;示例代码如下所示&#xff1a; AndroidAudioDemo Android系列&am…

GDPU unity游戏开发 碰撞器与触发器

砰砰叫&#xff0c;谁动了她的奶酪让你的小鹿乱撞了。基于此&#xff0c;亦即碰撞与触发的过程。 碰撞器与触发器的区别 通俗点讲&#xff0c;碰撞器检测碰撞&#xff0c;触发器检测触发&#xff0c;讲了跟没讲似的。碰撞器是用来检测碰撞事件的&#xff0c;在unity中&#xff…

使用Pytorch中的torchtext加载和预处理文本分类任务的数据集

文章目录 1. torchtext版本&#xff1a;0.15.02. 导入库和模块&#xff1a;3. 定义分词器&#xff1a;3.1 一个简单的示例来进一步说明 get_tokenizer 函数的使用 4. 下载并加载数据集5. 定义词汇表并构建5.1 map() 函数一个简单的map() 函数的例子 5.2 torchtext.vocab.build_…

浅谈ps/2键盘

文章目录 说明基础知识操作系统中断类型工作机制优点应用 CPU对IO设备的轮询机制轮询机制的工作原理轮询机制的特点轮询机制的优、缺点与中断机制的对比 N-Key Roller&#xff08;全键无冲&#xff09;应用领域实现原理技术限制 PS/2接口简介USB设备&PS/2设备的工作机制PS/…

【强训笔记】day8

NO.3 思路&#xff1a;相乘除以最大公约数等于最小公倍数。最小公倍数等于gcd&#xff08;a&#xff0c;a%b&#xff09;递归直到b等于0。 代码实现&#xff1a; #include <iostream> using namespace std;int gcd(int a,int b) {if(b0) return a;return gcd(b,a%b); }…

深入学习Redis(1):Redis内存模型

Redis的五个对象类型 字符串&#xff0c;哈希&#xff0c;列表&#xff0c;集合&#xff0c;有序集合 本节有关redis的内存模型 1.估算redis的内存使用情况 目前内存的价格比较的高&#xff0c;如果对于redis的内存使用情况能够进行计算&#xff0c;就可以选用合适的设备进…

组合总和2(力扣40)

解题思路&#xff1a;因为这里不能有重复的组合&#xff0c;所以采取用下表used来判断其是否在前面出现过&#xff0c;如果出现过就直接跳过&#xff0c;同时判断是树层重复还是树枝重复&#xff0c;如果是树枝重复就不用跳过 具体代码如下&#xff1a; class Solution { pu…

Leetcode—1056. 易混淆数【简单】Plus

2024每日刷题&#xff08;126&#xff09; Leetcode—1056. 易混淆数 &#x1f4a9;山实现代码 class Solution { public:bool confusingNumber(int n) {int arr[10] {0};int notNum 0;int arr2[12] {0};int size 0;while(n) {int x n % 10;arr[x] 1;arr2[size] x;if(…

【一刷《剑指Offer》】面试题 12:打印 1 到最大的 n 位数

力扣对应题目链接&#xff1a;LCR 135. 报数 - 力扣&#xff08;LeetCode&#xff09; 牛客对应题目链接&#xff1a;打印从1到最大的n位数_牛客题霸_牛客网 (nowcoder.com) 一、《剑指Offer》内容 二、分析题目 1、暴力解法 2、用字符串模拟数字加法 首先要考虑当 n 很大时&…

IoTDB 入门教程 基础篇⑦——数据库管理工具 | DBeaver 连接 IoTDB

文章目录 一、前文二、下载iotdb-jdbc三、安装DBeaver3.1 DBeaver 下载3.2 DBeaver 安装 四、安装驱动五、连接数据库六、参考 一、前文 IoTDB入门教程——导读 二、下载iotdb-jdbc 下载地址org/apache/iotdb/iotdb-jdbc&#xff1a;https://maven.proxy.ustclug.org/maven2/o…

【数学建模】矩阵微分方程

一、说明 我相信你们中的许多人都熟悉微分方程&#xff0c;或者至少知道它们。微分方程是数学中最重要的概念之一&#xff0c;也许最著名的微分方程是布莱克-斯科尔斯方程&#xff0c;它控制着任何股票价格。 ​​ 股票价格的布莱克-斯科尔斯模型 微分方程可以由数学中的许多…

MyBatisPlus @TableLogic实现全局自动逻辑删除

一、背景 有一天&#xff0c;小王在编写代码时实现了一个删除操作&#xff0c;但由于测试场景覆盖不全&#xff0c;上线后不慎删除了系统中的部分业务数据。幸运的是&#xff0c;系统已经开启了binlog日志功能&#xff0c;使得我们能够根据日志来恢复这些误删的数据。这一事故…

关于测试用例

目录 一 测试用例介绍 二 写用例的好处 三 不适合写用例的情况 一 测试用例介绍 测试用例由测试来写&#xff0c;编写时间在需求评审和设计评审&#xff08;如有&#xff09;结束后&#xff0c;需求提测前&#xff0c;用例依赖需求文档来编写。一般包含用例标题&#xff0c…

算法提高之二维费用的背包问题

算法提高之二维费用的背包问题 核心思想&#xff1a;二维01背包 每个物品只能用一次 所以是01背包模板用f[j][k] 表示第一维费用不超过V 第二维费用不超过M的方案 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const i…

OneFlow深度学习框原理、用法、案例和注意事项

本文将基于OneFlow深度学习框架&#xff0c;详细介绍其原理、用法、案例和注意事项。OneFlow是由中科院计算所自动化研究所推出的深度学习框架&#xff0c;专注于高效、易用和扩展性强。它提供了一种类似于深度学习库的接口&#xff0c;可以用于构建神经网络模型&#xff0c;并…

R和Python市场篮分析算法及行为分析模型

&#x1f3af;要点 行为数据分析&#xff1a;&#x1f3af;线性统计研究生学业表现&#xff1a;&#x1f58a;绘制测试分数配对图 | &#x1f58a;构建简单线性回归模型&#xff0c;拟合数据 | &#x1f58a;构建多线性回归&#xff0c;三维可视化数据拟合模型 | &#x1f58a…

前端 JS 异常那些事

前言 人无完人&#xff0c;所以代码总会出异常的&#xff0c;异常并不可怕&#xff0c;关键是怎么处理 什么是异常 程序发生了意想不到的情况&#xff0c;影响到了程序的正确运行 从根本上来说&#xff0c;异常就是一个普通的对象&#xff0c;其保存了异常发生的相关信息&a…

《Maven》linux中安装maven并配置环境变量

阿丹&#xff1a; 很多项目需要在服务器上使用maven来打包&#xff0c;这里就需要使用配置maven来进行运行指令&#xff0c;本文章来快速的安装和配置一下这个Maven并且来完成环境变量的配置。 步骤 1: 安装Maven 在Linux系统上安装Maven: 如果你使用的是基于Debian的系统&a…

Codeforces Round 942 (Div. 2) (A-D2)C++题解

链接 : Dashboard - Codeforces Round 942 (Div. 2) - Codeforces A. Contest Proposal 数据范围小&#xff0c;模拟就好了; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \n #define int long long typedef l…