• 精创网络
  • 精创网络
  • 首页
  • 产品优势
  • 产品价格
  • 产品功能
  • 关于我们
  • 在线客服
  • 登录
  • DDoS防御和CC防御
  • 精创网络云防护,专注于大流量DDoS防御和CC防御。可防止SQL注入,以及XSS等网站安全漏洞的利用。
  • 免费试用
  • 新闻中心
  • 关于我们
  • 资讯动态
  • 帮助文档
  • 白名单保护
  • 常见问题
  • 政策协议
  • 资讯动态
  • 在Linux系统下安装并配置开源WAF的方法
  • 来源:www.jcwlyf.com更新时间:2025-08-06
  • 在当今数字化时代,网络安全至关重要。Web应用程序面临着各种各样的安全威胁,如SQL注入、跨站脚本攻击(XSS)等。开源Web应用防火墙(WAF)可以为Web应用提供额外的安全防护,帮助抵御这些攻击。本文将详细介绍在Linux系统下安装并配置开源WAF的方法。

    一、选择合适的开源WAF

    目前市面上有多种开源WAF可供选择,常见的有ModSecurity、Naxsi等。ModSecurity是一个功能强大且广泛使用的开源Web应用防火墙,它可以作为Apache、Nginx等Web服务器的模块使用。Naxsi则是专门为Nginx设计的轻量级WAF。在本文中,我们将以ModSecurity与Nginx结合为例进行介绍。

    二、安装必要的依赖

    在安装ModSecurity之前,需要先安装一些必要的依赖库。以Ubuntu系统为例,可以使用以下命令进行安装:

    sudo apt update
    sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev

    对于CentOS系统,可以使用以下命令:

    sudo yum groupinstall "Development Tools"
    sudo yum install pcre-devel openssl-devel zlib-devel

    三、安装Nginx

    我们可以从Nginx官方源或者包管理器来安装Nginx。以Ubuntu系统为例,使用以下命令:

    sudo apt install nginx

    对于CentOS系统:

    sudo yum install nginx

    安装完成后,可以使用以下命令启动Nginx并设置开机自启:

    sudo systemctl start nginx
    sudo systemctl enable nginx

    四、安装ModSecurity

    1. 下载ModSecurity源码

    可以从ModSecurity的官方GitHub仓库下载最新的源码:

    wget https://github.com/SpiderLabs/ModSecurity/archive/v3/master.zip
    unzip v3-master.zip
    cd ModSecurity-3-master

    2. 编译和安装ModSecurity

    在源码目录下执行以下命令进行编译和安装:

    ./build.sh
    ./configure
    make
    sudo make install

    五、安装ModSecurity Nginx Connector

    1. 下载ModSecurity Nginx Connector源码

    wget https://github.com/SpiderLabs/ModSecurity-nginx/archive/v1.0.3.zip
    unzip v1.0.3.zip

    2. 重新编译Nginx并添加ModSecurity模块

    首先,查看当前Nginx的编译参数:

    nginx -V

    然后,下载Nginx源码并在编译时添加ModSecurity模块:

    wget http://nginx.org/download/nginx-1.21.6.tar.gz
    tar -zxvf nginx-1.21.6.tar.gz
    cd nginx-1.21.6
    ./configure --with-compat --add-dynamic-module=../ModSecurity-nginx-1.0.3
    make modules
    sudo cp objs/ngx_http_modsecurity_module.so /etc/nginx/modules/

    六、配置Nginx使用ModSecurity

    1. 加载ModSecurity模块

    编辑Nginx的主配置文件 /etc/nginx/nginx.conf,在文件开头添加以下内容:

    load_module modules/ngx_http_modsecurity_module.so;

    2. 创建ModSecurity配置文件

    在 /etc/nginx 目录下创建一个新的ModSecurity配置文件 modsecurity.conf,内容如下:

    SecRuleEngine On
    SecRequestBodyAccess On
    SecAuditEngine RelevantOnly
    SecAuditLog /var/log/modsec_audit.log
    SecAuditLogFormat JSON

    3. 在Nginx虚拟主机配置中启用ModSecurity

    编辑Nginx的虚拟主机配置文件,例如 /etc/nginx/sites-available/default,添加以下内容:

    server {
        ...
        modsecurity on;
        modsecurity_rules_file /etc/nginx/modsecurity.conf;
        ...
    }

    七、安装OWASP ModSecurity Core Rule Set(CRS)

    OWASP ModSecurity Core Rule Set是一组预定义的规则,可以帮助检测和阻止常见的Web攻击。

    1. 下载CRS

    wget https://github.com/coreruleset/coreruleset/archive/v3.3.2.zip
    unzip v3.3.2.zip
    cd coreruleset-3.3.2

    2. 复制和配置CRS

    将CRS文件复制到合适的目录,并进行必要的配置:

    sudo cp -r . /etc/nginx/crs
    sudo cp crs-setup.conf.example /etc/nginx/crs/crs-setup.conf

    然后,在 modsecurity.conf 文件中添加以下内容来加载CRS规则:

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

    八、测试和调优

    1. 测试ModSecurity是否正常工作

    重启Nginx服务:

    sudo systemctl restart nginx

    然后尝试发送一个包含SQL注入攻击的请求,例如:

    curl "http://your-server.com/index.php?id=1' OR '1'='1"

    如果ModSecurity正常工作,应该会拦截该请求,并在审计日志 /var/log/modsec_audit.log 中记录相关信息。

    2. 调优规则

    在实际使用中,可能会遇到一些误报的情况。可以根据实际情况对CRS规则进行调整。例如,可以通过修改规则的动作(如将 DENY 改为 ALLOW)或者排除某些规则来减少误报。

    九、监控和维护

    1. 监控审计日志

    定期查看ModSecurity的审计日志,了解系统的安全状况,及时发现潜在的攻击行为。

    2. 更新规则

    定期更新OWASP ModSecurity Core Rule Set,以获取最新的安全规则,增强系统的防护能力。

    3. 备份配置文件

    定期备份Nginx和ModSecurity的配置文件,以防配置丢失或损坏。

    通过以上步骤,你可以在Linux系统下成功安装并配置开源WAF,为Web应用提供有效的安全防护。在实际使用过程中,还需要不断学习和实践,根据具体的业务需求和安全状况进行调整和优化。

  • 关于我们
  • 关于我们
  • 服务条款
  • 隐私政策
  • 新闻中心
  • 资讯动态
  • 帮助文档
  • 网站地图
  • 服务指南
  • 购买流程
  • 白名单保护
  • 联系我们
  • QQ咨询:189292897
  • 电话咨询:16725561188
  • 服务时间:7*24小时
  • 电子邮箱:admin@jcwlyf.com
  • 微信咨询
  • Copyright © 2025 All Rights Reserved
  • 精创网络版权所有
  • 皖ICP备2022000252号
  • 皖公网安备34072202000275号