ModSecurity搭建过程(保姆级教学)

本文介绍在Ubuntu20.04服务器安装和配置ModSecurity的方法。先安装Apache Web服务器,接着安装ModSecurity,然后配置规则,包括复制配置文件、修改配置项、下载规则集等,最后通过执行恶意脚本测试,若拦截成功则搭建完毕,可保护网络应用安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Ubuntu20.04服务器安装和配置ModSecurity

必要条件

  • 安装Ubuntu20.04的服务器一台
  • 拥有sudo权限的非root用户

第一步:安装Apache Web服务器

若我们的Ubuntu20.04 服务器上未安装Apache,首先安装它
首先升级Ubuntu的软件包索引:

sudo apt-get update

在这里插入图片描述
之后安装Apache

sudo aptget install apache2

在这里插入图片描述安装过程中遇到提示直接yes即可

第二步:安装ModSecurity

安装完Apache,接下来就要安装ModSecurity,执行下面的命令安装

sudo apt-get install libapache2-mod-security2

在这里插入图片描述
重启Apache

sudo service apache2 restart

在这里插入图片描述
执行命令,查看模块是否正常运行

sudo apachectl -M | grep security

在这里插入图片描述
看到类似输出即可
在这里插入图片描述

第三步:配置ModSecurity

ModSecurity 需要配置相应的规则,才能起到保护网络应用安全的作用。ModSecurity 有一个默认的配置文件样本,样本路径为/etc/modsecurity/modsecurity.conf-recommended,我们将其复制到名为 modsecurity.conf 的配置文件,以启用和配置ModSecurity。
为此,请运行该命令

sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

在这里插入图片描述
ps:安装vim

sudo apt-get install vim

在这里插入图片描述
使用 vim 编辑器新创建的配置文件

sudo vim /etc/modsecurity/modsecurity.conf

在这里插入图片描述
将SecRuleEngine配置项的内容从DetectionOnly更改为on或On
在这里插入图片描述
之后点击shift加冒号直接wq!保存即可

重启Apache使配置文件生效:

sudo systemctl restart apache2

在这里插入图片描述
ModSecurity在/usr/share/modsecurity-crs目录中设置了默认规则。但是,我们建议从GitHub下载规则集:
首先,备份默认规则

sudo mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.bk

在这里插入图片描述

通过本地下载修改名字后拖到Ubuntu系统指定位置中
在这里插入图片描述解压
在这里插入图片描述
把这个文件修改名为modsecurity-crs(解压完里面有两个文件改第二个文件即可)
在这里插入图片描述
之后拖动到Ubuntu系统中
在这里插入图片描述
之后通过命令移动到指定位置即可/usr/share文件中
在这里插入图片描述
将下载的规则配置文件样本复制成名为“crs-setup.conf”的配置文件

sudo cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf

要使新的规则对apache生效,我们使用vim编辑/etc/apache2/mods-enabled/security2.conf文件

sudo vim /etc/apache2/mods-enabled/security2.conf

将如下两行内容,添加到文件末尾
IncludeOptional /usr/share/modsecurity-crs/.conf
IncludeOptional "/usr/share/modsecurity-crs/rules/
.conf在这里插入图片描述
保存
重启apache2即可

sudo systemctl restart apache2

在这里插入图片描述

第四步:测试ModSecurity

现在,我们可以尝试在浏览器上执行恶意脚本,并查看是否会触发ModSecurity 保护规则。
将IP地址替换为服务器的公共IP地址或域名,在浏览器上访问该URL

URL: http://127.0.0.1/index.html?exec=/bin/bash
在这里插入图片描述
报错提示说明拦截成功,搭建完毕
Forbidden You don’t have permission to access / on this server. Apache/2.4.29 (Ubuntu) Server at 127.0.0.1 Port 80
在这里插入图片描述
ps:本篇文章是通过查阅多篇文章才总结的一篇完整版的文章,若帮助到大家,希望大家多多支持!

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值