Libmodsecurity 的安装与使用

发布于 2023-06-04  581 次阅读


Libmodsecurity 是 ModSecurity v3 项目的一个组成部分。该库代码库作为 ModSecurity 连接器的接口,接收 Web 流量并应用传统的 ModSecurity 处理。总体而言,它提供了加载/解释以 ModSecurity SecRules 格式编写的规则并将其应用于通过连接器提供的 HTTP 内容的能力。

Github 连接:ModSecurity

这里展示如何编译安装最新版的 Libmodsecurity 系统使用 Debian 11 。

安装依赖

apt update

apt -y install libyajl-dev libpcre++-dev libxml2-dev libgeoip1 libmaxminddb-dev libfuzzy-dev liblua5.3-dev liblmdb-dev libpcre2-dev liblmdb-dev libcurl4-openssl-dev

这些依赖是博主自己参考官网文档的依赖关系章节总结而来,并且经过验证。

编译安装 Libmodsecurity

用 git 将 Libmodsecurity 下载至你需要的位置(一般来说是 /usr/src)。

cd 到源码目录下安顺序执行:

./build.sh
git submodule init
git submodule update
./configure --with-lmdb --with-pcre2
sudo make && make install

配置 Libmodsecurity

复制源码中的 unicode.mapping 和 modsecurity.conf-recommended 到你所使用的 http 服务器的配置目录中(modsecurity.conf-recommended 要重命名为 modsecurity.conf)

下载 OWASP 规则

Github 连接:OWASP

复制 crs-setup.conf.example 到 crs-setup.conf(可选)编辑此文件以配置正确的 CRS 设置。然后将这些文件置入 modsecurity.conf 中

Include /.../crs-setup.conf
Include /.../rules/*.conf

安装完成 OWASP 后你可以根据你自己的需求对规则进行调整,规则详情可以参考两者的官方文档。