网络安全 - Web应用防护墙(WAF)

news2024/10/6 4:05:19

什么WAF

Web应用防护墙(Web Application Firewall)简称WAF。是一种特定形式的应用程序防火墙,用于过滤、监控和阻断通过网页服务的HTTP流量。通过监察HTTP流量,它可以防止利用网页应用程序已知漏洞的攻击,例如SQL 注入、跨网站脚本(XSS)、文件包含和不正确的系统配置。

为什么需要WAF

因为HTTP是一个开放的协议,如果我们的产品要对外提供用户服务,那Web服务一般部署运行在公网上,任何人都可以访问,所以天然就会成为黑客的攻击目标。而黑客攻击方式包含但不局限于下面几种攻击手段:

  1. DDOS:黑客会控制许多“僵尸”计算机,向目标服务器发起大量无效请求,造成带宽、CPU、内存耗尽而无法提供正常服务
  2. SQL注入:利用了服务器字符串拼接形成 SQL 语句的漏洞,构造出非正常的 SQL 语句,获取数据库内部的敏感信息。
  3. HTTP 头注入:在http请求头中加入恶意数据和代码,如果服务端程序解析不当就会执行预设的恶意代码
  4. XSS:存储 / 反射型的XSS漏洞,很常见的一种漏洞会带来很严重的后果
  5. CSRF:跨站点的请求伪造,如果服务端没有做好甄别就会造成损失
  6. 零日攻击:黑客在软件开发人员发布补丁之前利用未知的安全漏洞或软件缺陷

WAF本身工作在网络分层模型中的第七层应用层,即面向具体的应用传输数据。能够帮助我们对请求的报文做深入细致的审核,使用一些列复杂的逻辑条件、检查规则来过滤数据,起到保护服务的作用。过程如下图所示:
在这里插入图片描述
WAF通常都具备下列的功能:

  1. IP 黑名单和白名单,拒绝黑名单上地址的访问,或者只允许白名单上的用户访问
  2. URI 黑名单和白名单,与 IP 黑白名单类似,允许或禁止对某些 URI 的访问
  3. 防护 DDoS 攻击,对特定的 IP 地址限连限速限流
  4. 过滤请求报文,防御“代码注入”攻击
  5. 过滤响应报文,防御敏感信息外泄
  6. 审计日志,记录所有检测到的入侵操作
  7. API发现和保护:提供对各种形式的API滥用和操纵的可见性、对策实施和风险缓解(无论是针对内部部署环境还是​​云托管环境)

WAF与防火墙的区别

WAF与防火墙的最主要的区别就是,”防火墙“一般工作在第三,第四层用于隔离外网和内网。使用预设的规则,只允许某些特定 IP 地址和端口号的数据包通过,拒绝不符合条件的数据流入或流出内网,实质上是一种网络数据过滤设备。
某种意义上WAF也是一种”防火墙“但他工作在第七层。这样不仅能看到IP地址和端口,也能看到完整的HTTP请求报文。所以可以针对报文的内容做出一些更细致 / 复杂的检查,来过滤数据进而起到保护服务器的作用。说白了,WAF 就是一种“HTTP 入侵检测和防御系统”。

WAF产品

ModSecurity这个产品在WAF领域内非常有影响力,并且是一个开源的,生产级别的WAF工具包。我们可以把他做为一个功能模块,集成到nginx中。更多更完整的信息可以这里查看:ModSecurity

总结

  1. web 服务部署在公网容易受到来自黑客的各种攻击,所以有必要使用WAF来加以保护
  2. WAF工作在第七层,是一种根据HTTP请求报文来检测入侵和防御的系统
  3. WAF实质上是解析HTTP的请求报文来进行各种模式匹配和数据过滤,所以会消耗一定的CPU,有一定的计算成本。需要我们再安全和性能之间找到一个”平衡点“

参考文档

网页应用程序防火墙 - 维基百科
What Is A WAF
ModSecurity

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

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

相关文章

适配器模式C++用法示例

五.适配器模式一.适配器模式1.原理2.适用场景3.代理、桥接、装饰器、适配器区别4.分类(类适配器模式、对象适配器模式)二.C程序示例1.类适配器2.对象适配器一.适配器模式 1.原理 适配器模式的原理是将一个类的接口转换成客户希望的另一个接口。适配器模…

权威认证!腾讯云数据安全中台入选工信部商用密码典型应用方案

近日,工业和信息化部、国家密码管理局发布了《关于公布工业和信息化领域商用密码典型应用方案名单的通知》,腾讯云“基于商用密码的数据安全中台”在众多方案中脱颖而出,成功入选工业和信息化领域商用密码典型应用方案名单。 密码可以实现信息…

在springboot项目中使用rocketmq消息队列实战

rocketmq环境搭建 在docket环境下安装部署rocketmq的方法记录在上一篇文章中。 (31条消息) docker环境下搭建rocketmq集群_haohulala的博客-CSDN博客 这种方式不一定是最好的,但是我用这种方式可以成功搭建rocketmq开发环境。 项目架构 我们需要在springboot中…

CSDN 周赛填空题,充满恶意的嘲讽

CSDN 周赛填空题,充满恶意的嘲讽41期的填空题44期的填空题45期的填空题再说题型老顾最近一直在玩 csdn 周赛,没啥想法,就是想票点小玩意,之前从第四十一期开始,题型进行了扩展,增加了填空、判断、单选。扩展…

C#调试与测试 | Assert(断言)

Assert(断言) 文章目录Assert(断言)前言什么是Assert适用场景使用示例检查传入的参数是否为空检查循环变量是否在规定范围内检查方法返回值是否为null结束语前言 今天我要和大家聊聊C#调试和测试中的一种神器——断言(Assert)。如果你还不知道什么是断言…

nvm-windows的安装使用及踩坑指南

nvm是node的一款版本管理工具,可以简单操作node版本的切换、安装、查看。常规来说,开发中安装一个node版本就够了,但是最近在开发中有的老项目或者一些特定的项目需要来回切换node的版本,不可能手动去卸载掉之前的node版本&#x…

轻松掌握微服务治理的注册中心Eureka到Nacos知识点

1、SpringCloud 1、介绍 2、消费者与服务者 3、服务拆分 1、介绍 2、服务之间调用 例如有两个微服务,分别提供用户信息和订单信息。两个服务都有自己的数据库,所以如下查订单信息是不能直接去查用户信息的数据库的,只能从订单服务发起远程…

Seata 将参展 SOFA 五周年开源集市~

SOFA 五周年开源集市4 月 15 日(本周六),SOFAStack 社区将在北京市朝阳区恒通国际创新园 C work 举办开源五周年活动,现场将于 12:00 正式开放开源集市,欢迎感兴趣的开发者们前来参与。今天让我们一起走近认识下开源的…

上海雷卯推出DFN1006超小体积网口保护ESD ULC0342P26LV 带回扫

什么是静电放电? 静电放电是指由于两种不同材料之间的摩擦或分离而产生的电荷累积所引起的电荷释放现象。 为什么需要防静电保护? 静电放电会对电子设备造成损害,特别是对于灵敏的网络设备来说,静电放电可能导致设备损坏或失效。…

图卷积网络GCN---底层逻辑最简单直白的理解

一 、GNN是怎么被提出来的? 比较常见的有CNN、RNN等。CNN的核心在于它的kernel,kernel在图片上平移,通过卷积的方式来提取特征。这里的关键在于图片结构上的平移不变性:一个小窗口无论移动到图片的哪一个位置,其内部的…

Elk运维-elastic7.6.1集群安装部署

wei集群安装结果说明 实例配置安装软件安装账号hadoop1 2C4G 磁盘:50G 云服务器 elasticsearch kibana rdhadoop2 2C4G 磁盘:50G 云服务器 elasticsearchrdhadoop3 2C4G 磁盘:50G 云服务器 elasticsearchrd整个安装过程使用的账号&…

linux(docker)下使用VuePress从零开始搭建自己的博客(一):VuePress环境搭建

目标:在linux centos下使用VuePress搭建博客系统,最好能利用docker进行备份和迁移。 本节内容:本节主要讲述VuePress的环境搭建过程,VuePress的基本配置以及备份和迁移。详细记录了从零开始搭建的过程,以及搭建过程中遇…

Apache配置与应用

1.基于域名的虚拟主机 为虚拟主机提供域名解析 基于域名:为每个虚拟主机使用不同的域名,但是其对应的 IP 地址是相同的。例如,www.benet.com 和 www.accp.com 站点的 IP 地址都是 192.168.80.10。这是使用最为普遍的虚拟 Web 主机类型。 方法…

【Java Web】015 -- Maven高级(分模块设计与开发、继承与聚合、私服)

目录 一、分模块设计与开发 1、为什么要分模块设计? 2、实践:分模块开发 ①、实现步骤 3、小结 二、继承与聚合 继承 1、继承关系 ①、为什么要在Maven工程中实现继承? ②、继承关系实现 ③、继承实现小结 ④、maven项目父子工程结构说明 2、…

Java Stream API 操作完全攻略:让你的代码更加出色 (二)

前言 Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。本文将为您介绍 Java Stream 操作的所有方面,包括 red…

WMS仓库管理系统,你能操作明白吗?别让"智能"变"滞能"

随着社会的进步,智能车间、智能工厂等申报的展开,“智能化”的概念,让企业系统出现更迭。以智能化仓储管理系统为例,企业工厂利用WMS的优势,依照运行的工作标准和运算法则,对仓库进行精细化管理。 WM…

IC学习笔记22——memory_compilermemory_wrapper

一、memory_compiler 1.1 memory_compiler的介绍 memory_compiler为一系列工具的统称,用于生成芯片开发所需要的memory。芯片开发中所需要的memory为sram、rom等。很多公司都有自己开发的memory_compiler工具。 1.2 SRAM基础 sram写操作(写1) 将要写入的数据“1”通过写入…

Vue学习笔记(3. 基本语法,数据绑定,指令)

1. 基本语法 vue2的基本语法如下&#xff1a; <html> <head> <title>testVUE</title> <script src"https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script> </head><body><div id"app">模板…

【操作系统】深入理解Linux虚拟内存管理

【操作系统】深入理解Linux虚拟内存管理 本篇跟大家说说内存管理&#xff0c;内存管理还是比较重要的一个环节&#xff0c;理解了它&#xff0c;至少对整个操作系统的工作会有一个初步的轮廓。 虚拟内存 如果你是电子相关专业的&#xff0c;肯定在大学里捣鼓过单片机。 单片…

出口欧盟认证机构为什么推荐CE认证

产品做CE证书要什么好处&#xff0c;CE证书要什么作用&#xff1f; 在中国很多中小企业困扰的是&#xff0c;好不容易走出国门接到来自国外的订单。却因为没有相应的产品安全认证而无法顺利取得订单。或者当产品到达目的地后&#xff0c;因为无法提供相应的产品安全认证证明文件…