【网络安全】如何在Apache 安装开源 WAF

article/2025/9/15 21:02:49

说明:
本文以Windows环境下的Apache安装mod_security为例,
介绍开源WAF产品的安装使用。

http://www.modsecurity.cn/
https://github.com/SpiderLabs/ModSecurity

一、WAF基本介绍

WAF全称Web Application Firewall,即Web应用防火墙。Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,跟网络防火墙的作用不同。

WAF的使用场景:
例如服务器中有些安全性比较差的应用程序,比如旧版的wordpress、discuz、phpwind等,审计和修改全部代码比较麻烦,这时候最好的办法就是通过部署WAF来实现安全防护。

WAF可以防护的常见风险包括:SQL注入、XSS、利用本地/远程文件包含漏洞进行攻击、PHP代码注入、黑客扫描网站、源代码/错误信息泄露等等。

目前市面上的WAF非常多,总体上可以分成3类:
硬件型WAF(厂商安装)、云WAF(比如阿里云腾讯云华为云的WAF,购买服务)、软件型WAF(可以部署在Apache、Nginx等HTTPServer中,有很多开源的产品)。

二、下载mod_security

下载和安装Apache的步骤参考:《02-Windows安装phpstudy》。

如果使用phpstudy内置的Apache,Apache文件在Extensions目录下,如:E:\phpstudy_pro\Extensions\Apache2.4.39

1、下载mod_security

下载mod_security,根据操作系统位数选择,win64是64位,win32是32位。
https://www.apachelounge.com/download/
image.png

【一一帮助安全学习,所有资源获取处一一】
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

解压 mod_security-2.9.3-win64-VS16.zip,复制两个文件:
1)复制 mod_security2.so 到 apache/modules 文件夹
2)复制 yajl.dll 到 apache/bin 文件夹
image.png

2、修改 Aapche 配置文件

修改 Apache2.4.39\conf\httpd.conf
主要修改内容(没有就加上,有就取消注释,放在相同的模块附近):
取消注释:

LoadModule security2_module modules/mod_security2.so

下面添加一行:

LoadModule unique_id_module modules/mod_unique_id.so

image.png

添加

Include conf/modsecurity/*.conf

image.png

3、修改 modsecutiry 配置文件

打开 mod_security-2.9.3-win64-VS16\mod_security-2.9.3\mod_security
复制一个 modsecurity.conf-recommended,改名为
modsecurity.conf

在 Apache2.4.39\conf 下创建一个文件夹,命名为 modsecurity
把 modsecurity.conf 放在 modsecurity 文件夹下
image.png
modsecurity.conf 修改/添加两行配置:

SecRuleEngine On
SecDefaultAction "deny,phase:2,status:403"

image.png
此处含义是开启安全规则引擎,如果触发规则,默认防护措施是
返回 HTTP 403 错误。
修改日志路径,否则 Apache 启动会报路径不存在的错误:

SecAuditLog E:\phpstudy_pro\Extensions\Apache2.4.39\logs\modsec_audit.log

image.png
image.png
因为没有 unicode.mapping 文件,这一行要注释

SecUnicodeMapFile unicode.mapping 20127

image.png

三、添加 owasp 规则

1、下载规则文件

https://github.com/SpiderLabs/owasp-modsecurity-crs
image.png

2、配置规则

解压 owasp-modsecurity-crs-3.2.0,把 rules 文件夹复制到
Apache2.439\conf\modsecurity 目录下
复 制 crs 根 目 录 下 的 crs-setup.conf.example , 重 命 名 为
crs-setup.conf,放在 Apache2.4.39\conf\modsecurity 目录下
image.png

3、修改 httpd.conf

Apache2.4.39\conf\httpd.conf 再添加下面这一行(第一行前面
添加过了):

Include conf/modsecurity/rules/*.conf

image.png

4、重启 Apache

所有配置修改完以后重启 Apache。

5、测试注入

这时候尝试注入,返回 phpstudy 的 403 页面:
image.png
如果sqlmap 也无法注入:

sqlmap --purge     (先清空缓存)
sqlmap.py -u http://localhost/school/url.php?id=1

image.png
结果显示有 75 次 403 禁止访问的错误。


http://chatgpt.dhexx.cn/article/S4ghvYgt.shtml

相关文章

WAF详解及WAF绕过

waf(web application firewall): 原理: web应用防火墙,一款集网站内容安全防护、网站资源安全防护及流量保护功能为一体的服务器工具。为用户提供实时网站安全防护,避免各类针对网站的攻击带来的危害。(核心…

waf入门

文章目录 waf入门什么是wafwaf一般都有哪些功能WAF部署模式WAF工作模式 规则引擎原理WAF动作WAF规则与报表WAF特征 waf入门 什么是waf Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称&…

WAF识别软件(WAFW00F)以及WAF绕过

责任声明: 本文章仅供学习交流使用,如有利用进行非法行为 上传者不承担任何责任,使用者后果自负 WAF防护分析 什么是WAF? Web应用防护系统分为两种:软件与硬件 安全公司内部的为硬件,个人或小企业为软件&…

IPS和WAF区别

写在前面: “前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。” 前言 - 床长人工智能教程 WAF与IPS的区别总结 谁是最佳选择? Web应用防护无疑是一个热门话题。…

waf详解

文章目录 一、waf分类二、waf的工作原理 前言: 在实际的渗透测试过程中,经常会碰到网站存在WAF的情况。网站存在WAF,意味着我们不能使用安全工具对网站进行测试,因为一旦触碰了WAF的规则,轻则丢弃报文,重则…

waf测试

waf简介 WAF防火墙其实就是Web Application Firewall,是一个web应用防护系统。企业等用户一般采用防火墙作为安全保障体系的第一道防线。WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自…

云WAF概述

云WAF(Web应用防火墙)是WAF的另一种表现形态,它将WAF的功能在云端进行实现。只需要把域名的解析权交给云WAF,它就可以利用DNS调度技术,改变网络流量的原始流向,将网络流量牵引到云端的WAF上,云端…

WAF的原理

一.WAF的原理 WAF是Web应用防火墙(Web Application Firewall)的简称,对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,为Web应用提供防护&#xff0c…

WAF介绍

一、WAF产生的背景: 过去企业通常会采用防火墙,作为安全保障的第一道防线;当时的防火墙只是在第三层(网络层)有效的阻断一些数据包;而随着web应用的功能越来越丰富的时候,Web服务器因为其强大的…

sql注入绕过WAF小tips

目录 一. WAF分类 二. WAF工作原理 三. 攻击环境搭建 四. WAF绕过姿势 运算符绕过and、or限制 内联注释绕过order by 添加控制字符绕过union select 函数拆分获取数据库名 在实际的渗透测试过程中,经常会碰到网站存在WAF的情况。网站存在WAF,意味…

WAF简介

今天继续给大家介绍渗透测试相关知识,本文主要内容是WAF简介。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行渗透…

细说——WAF

目录 WAF是什么主流WAF有哪些?WAF的分类软件型WAF硬件型WAF基于云WAF开源型WAF网站内置的WAF IPS与IDS,防火墙与WAF之间的比较和差异防火墙功能IPS入侵防御系统IDS入侵检测系统WAF对比IPS与IDS防火墙与IPS / IDSWAF与IPS / IDS WAF检测手工检测工具检测W…

WAF基本原理与部署方式

WAF介绍 WAF是什么? WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF。 国际上公认的一种说法是:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。 WAF…

Windows安装SSH

文章目录 1.微软官网安装教程1.打开powershell2.查看是否安装OpenSSH3.安装ssh客户端4.安装ssh服务端5.启动并配置 OpenSSH 服务器 2.自己安装配置1.下载安装包2.解压3.配置环境变量4.服务安装5.开放端口6.配置开机自启sshd服务7.启动ssh服务端8.测试ssh连接 1.微软官网安装教程…

Linux修改ssh端口

记录:340 场景:在CentOS 7.9操作系统上,修改默认的ssh端口。ssh默认22端口,在实际开展业务中的生产环境中,通常会修改为指定端口号,以满足规范。 版本: 操作系统:CentOS 7.9 1.修…

SSH 基础用法

1.查看网络环境是否通畅 修改主机名称:hostnamectl set-hostname xxxx 查看网络信息:ifconfig 或者用 ip a show xxxx(网卡配置文件名称) 测试网络连接 :ping xxx.xxx.xxx.xxx 输入对应的ip地址 2.使用方式 连接方式: ssh ro…

SSH介绍以及使用

什么是ssh? SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用…

SSH详细使用教程

SSH简介 SSH是一种网络协议,用于计算机之间的加密登录。 适用条件 客户端防火墙禁止80端口的出站流量,无法上网。ssh通过tcp 22端口传输数据,实现上网功能。 SSH常用命令 -C 对传输数据进行压缩,减小…

SSH 公钥私钥

一、简介 一、SSH key简介 要了解SSH key简介,首先得熟悉SSH,SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务…

最全SSH命令 - 11种用法

SSH命令 1.使用ssh连接远程主机2.ssh连接到其他端口3.使用ssh在远程主机执行一条命令并显示到本地, 然后继续本地工作4.在远程主机运行一个图形界面的程序5.如何配置 SSH6.构建 ssh 密钥对7.查看是否已经添加了对应主机的密钥8.删除主机密钥9.绑定源地址10.对所有数据请求压缩1…