• 精创网络
  • 精创网络
  • 首页
  • 产品优势
  • 产品价格
  • 产品功能
  • 关于我们
  • 在线客服
  • 登录
  • DDoS防御和CC防御
  • 精创网络云防护,专注于大流量DDoS防御和CC防御。可防止SQL注入,以及XSS等网站安全漏洞的利用。
  • 免费试用
  • 新闻中心
  • 关于我们
  • 资讯动态
  • 帮助文档
  • 白名单保护
  • 常见问题
  • 政策协议
  • 资讯动态
  • 如何在Linux系统中部署Web应用防火墙
  • 来源:www.jcwlyf.com更新时间:2025-05-11
  • 在当今数字化的时代,Web 应用面临着各种各样的安全威胁,如 SQL 注入、跨站脚本攻击(XSS)等。为了保护 Web 应用的安全,部署 Web 应用防火墙(WAF)是一种非常有效的手段。本文将详细介绍如何在 Linux 系统中部署 Web 应用防火墙。

    一、选择合适的 Web 应用防火墙

    在 Linux 系统中,有多种 Web 应用防火墙可供选择,常见的有 ModSecurity、Naxsi、OpenResty WAF 等。

    ModSecurity 是一个开源的 Web 应用防火墙模块,它可以与 Apache、Nginx 等 Web 服务器集成。它具有丰富的规则集,能够检测和阻止各种常见的 Web 攻击。

    Naxsi 是一个轻量级的 Nginx 模块,它提供了基于规则的 Web 应用防火墙功能。Naxsi 的优点是性能高,对服务器资源的消耗较小。

    OpenResty WAF 是基于 OpenResty 框架的 Web 应用防火墙,它结合了 Lua 脚本和 Nginx 的高性能,能够实现灵活的安全策略。

    在选择 Web 应用防火墙时,需要根据自己的需求和服务器环境来进行选择。如果服务器使用的是 Apache,那么 ModSecurity 是一个不错的选择;如果使用的是 Nginx,Naxsi 或 OpenResty WAF 可能更适合。

    二、部署 ModSecurity

    这里以在 Nginx 服务器上部署 ModSecurity 为例进行介绍。

    1. 安装依赖库

    首先,需要安装一些必要的依赖库,在 Ubuntu 系统中,可以使用以下命令进行安装:

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

    2. 下载和编译 ModSecurity

    从 ModSecurity 的官方 GitHub 仓库下载源代码:

    git clone https://github.com/SpiderLabs/ModSecurity.git
    cd ModSecurity
    git checkout -b v3/master origin/v3/master
    ./build.sh
    ./configure
    make
    sudo make install

    3. 安装 ModSecurity Nginx 连接器

    下载 ModSecurity Nginx 连接器的源代码:

    git clone https://github.com/SpiderLabs/ModSecurity-nginx.git

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

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

    nginx -V

    然后,下载 Nginx 源代码,并使用之前的编译参数加上 ModSecurity 模块进行重新编译:

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

    5. 配置 ModSecurity

    创建 ModSecurity 的配置文件 /etc/nginx/modsecurity.conf,并添加以下内容:

    Include /usr/local/modsecurity/modsecurity.conf
    Include /usr/local/modsecurity/crs/crs-setup.conf
    Include /usr/local/modsecurity/crs/rules/*.conf

    6. 配置 Nginx 使用 ModSecurity

    在 Nginx 的配置文件中添加以下内容:

    load_module modules/ngx_http_modsecurity_module.so;
    
    server {
        listen 80;
        server_name example.com;
    
        modsecurity on;
        modsecurity_rules_file /etc/nginx/modsecurity.conf;
    
        location / {
            root /var/www/html;
            index index.html;
        }
    }

    7. 重启 Nginx

    完成配置后,重启 Nginx 服务器使配置生效:

    sudo systemctl restart nginx

    三、部署 Naxsi

    1. 安装 Naxsi 模块

    在 Ubuntu 系统中,可以使用以下命令安装 Naxsi 模块:

    sudo apt-get install libnginx-mod-http-naxsi

    2. 配置 Naxsi

    创建 Naxsi 的配置文件 /etc/nginx/naxsi.rules,并添加一些基本的规则:

    BasicRule "mz:0" "s:10" "id:1000" "msg:'Request denied'" "phase:1" "ver:'0.55.3'" "act:deny,log";

    3. 配置 Nginx 使用 Naxsi

    在 Nginx 的配置文件中添加以下内容:

    server {
        listen 80;
        server_name example.com;
    
        include /etc/nginx/naxsi.rules;
    
        location / {
            root /var/www/html;
            index index.html;
    
            SecRulesEnabled;
            CheckRule "$SQL >= 8" "deny";
            CheckRule "$RFI >= 8" "deny";
            CheckRule "$TRAVERSAL >= 4" "deny";
            CheckRule "$XSS >= 8" "deny";
        }
    }

    4. 重启 Nginx

    重启 Nginx 服务器使配置生效:

    sudo systemctl restart nginx

    四、部署 OpenResty WAF

    1. 安装 OpenResty

    可以从 OpenResty 的官方网站下载安装包,然后进行编译安装:

    wget https://openresty.org/download/openresty-1.21.4.1.tar.gz
    tar -zxvf openresty-1.21.4.1.tar.gz
    cd openresty-1.21.4.1
    ./configure
    make
    sudo make install

    2. 安装 OpenResty WAF

    可以从 OpenResty WAF 的 GitHub 仓库下载源代码,并将其放置在合适的目录下:

    git clone https://github.com/unixhot/openresty-waf.git

    3. 配置 OpenResty WAF

    在 OpenResty 的配置文件中添加以下内容:

    lua_package_path "/path/to/openresty-waf/?.lua;;";
    init_by_lua_file /path/to/openresty-waf/init.lua;
    access_by_lua_file /path/to/openresty-waf/access.lua;
    
    server {
        listen 80;
        server_name example.com;
    
        location / {
            root /var/www/html;
            index index.html;
        }
    }

    4. 重启 OpenResty

    重启 OpenResty 服务器使配置生效:

    sudo /usr/local/openresty/nginx/sbin/nginx -s reload

    五、测试 Web 应用防火墙

    部署完 Web 应用防火墙后,需要进行测试以确保其正常工作。可以使用一些常见的 Web 攻击测试工具,如 OWASP ZAP、Burp Suite 等。

    例如,使用 OWASP ZAP 对 Web 应用进行扫描,尝试进行 SQL 注入、XSS 攻击等操作,观察 Web 应用防火墙是否能够检测并阻止这些攻击。

    六、维护和更新 Web 应用防火墙

    Web 应用防火墙需要定期进行维护和更新,以确保其能够及时应对新的安全威胁。

    对于 ModSecurity 和 Naxsi,可以定期更新规则集;对于 OpenResty WAF,可以定期更新代码库。

    同时,还需要关注 Web 应用防火墙的日志文件,及时发现和处理异常情况。

    总之,在 Linux 系统中部署 Web 应用防火墙是保护 Web 应用安全的重要措施。通过选择合适的 Web 应用防火墙,并按照正确的步骤进行部署和配置,可以有效地提高 Web 应用的安全性。

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