宝塔面板搭配雷池WAF防火墙实战

背景

因近期总是受到CC攻击,所以就找到了这款免费WAF

雷池是长亭科技耗时近 10 年倾情打造的 WAF,核心检测能力由智能语义分析算法驱动。

Slogan: 不让黑客越雷池半步。这里是官方地址:长亭雷池 WAF 社区版 (chaitin.cn)

部署资源

建议使用两台服务器,一台用来搭建雷池WAF,一台用来搭建Web

我这边使用一台来演示

系统版本:Centos7.6

规格:CPU - 2核 内存 - 2GB 系统盘 - SSD云硬盘 40GB

部署开始

安装宝塔

自行部署

安装网站建设必要软件

我这里是静态站所以安装nginx,mysql,phpdocker是后边waf安装需要动用到的所以也是必须安装。根据自己的网站环境需要安装即可。

修改默认端口

这里需要修改 nginx 默认监听端口 80(http)443(https)

找到/www/server/panel/vhost/nginx/0.default.conf文件修改如下:

server
{
    listen 90; 
    server_name _;
    index index.html;
    root /www/server/nginx/html;
}

找到/www/server/panel/vhost/nginx/phpfpm_status.conf文件修改如下:

 

server {
    listen 90;
    server_name 127.0.0.1;
    allow 127.0.0.1;
    location /nginx_status {
        stub_status on;
        access_log off;
    }
    location /phpfpm_52_status {
        fastcgi_pass unix:/tmp/php-cgi-52.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_53_status {
        fastcgi_pass unix:/tmp/php-cgi-53.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_54_status {
        fastcgi_pass unix:/tmp/php-cgi-54.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_55_status {
        fastcgi_pass unix:/tmp/php-cgi-55.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_56_status {
        fastcgi_pass unix:/tmp/php-cgi-56.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_70_status {
        fastcgi_pass unix:/tmp/php-cgi-70.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_71_status {
        fastcgi_pass unix:/tmp/php-cgi-71.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_72_status {
        fastcgi_pass unix:/tmp/php-cgi-72.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_73_status {
        fastcgi_pass unix:/tmp/php-cgi-73.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_74_status {
        fastcgi_pass unix:/tmp/php-cgi-74.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_75_status {
        fastcgi_pass unix:/tmp/php-cgi-75.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_80_status {
        fastcgi_pass unix:/tmp/php-cgi-80.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_81_status {
        fastcgi_pass unix:/tmp/php-cgi-81.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    location /phpfpm_82_status {
        fastcgi_pass unix:/tmp/php-cgi-82.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
}

更改完成后需要到nginx面板去重载配置以及重启操作!以防万一这两项操作必须都进行!

新建网站

新建网站时,域名后边加除80的其他端口。这里我修改成90

宝塔面板搭配雷池WAF防火墙实战插图

网站开启ssl后需要修改端口除443的其他端口。这里我修改成8443:

宝塔面板搭配雷池WAF防火墙实战插图1

安装长亭waf

官网提供了三种安装方式,这里我选择在线安装,使用命令:

执行以下命令,即可开始安装

bash -c "$( curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh )"

浏览器打开后台管理页面 https://<waf-ip>:9443。根据界面提示,使用 支持 TOTP 的认证软件或者小程序 扫描二维码,然后输入动态口令登录即可

配置防护网站

宝塔面板搭配雷池WAF防火墙实战插图2

配置SSL的话需要有SSL证书,自己申请后上传到这里就可以了。

测试防护效果

  • 确认网站可以正常访问
  • 尝试手动模拟攻击
  • 模拟 SQL 注入,请访问 http://[你的域名]/?id=1%20AND%201=1
  • 模拟 XSS,请访问 http://[你的域名]/?html=<script>alert(1)</script>
  • 通过浏览器,你将会看到雷池已经发现并阻断了攻击请求。

    宝塔面板搭配雷池WAF防火墙实战插图3配置cdn

    我们还可以添加cdn来加速自己的网站来达到隐藏源站的需求,加速的域名是防护网站的域名,回源端口默认的就好,这里提醒一下:建议回源协议ssl 懂的都懂。

     

    阅读剩余
    THE END
    诺言博客