欢乐狗 发表于 2024-8-19 19:14:35

手把手部署雷池WAF

目录
环境检测
 假如没有安装docker请先移步最后查看docker安装步骤
安装雷池
在线安装(推荐!!!)
登录流程
设置站点
工作原理
设置界面
在单独的服务器部署雷池时设置(推荐!!!)
开始设置
设置完成
在网站服务器上部署雷池时设置
开始设置
设置完成
和其他反代设备一起部署时设置
开始设置
设置完成
高级防护
人机验证
身份认证
测试防护
确认网站可以正常访问
实验手动模拟攻击
安装docker
更新yum包(大概会碰到报错,添加阿里源即可)
添加阿里云源
创建堆栈(这里避免报错就不利用docker官方源,利用阿里源)
安装Docker引擎
启动docker
排查解决

环境检测

最低设置需求


[*]操作体系:Linux
[*]指令架构:x86_64
[*]软件依赖:Docker 20.10.14 版本以上
[*]软件依赖:Docker Compose 2.0.0 版本以上
[*]最小化环境:1 核 CPU / 1 GB 内存 / 5 GB 磁盘
可以逐行执行以下下令来确认服务器设置
uname -m                                    # 查看指令架构
docker version                              # 查看 Docker 版本
docker compose version                      # 查看 Docker Compose 版本
docker-compose version                      # 老版本查看Compose 版本
cat /proc/cpuinfo| grep "processor"         # 查看 CPU 信息
free -h                                     # 查看内存信息
df -h                                       # 查看磁盘信息
lscpu | grep ssse3                        # 确认CPU是否支持 ssse3 指令集
假如没有安装docker请先移步最后查看docker安装步骤!!!

安装雷池

根据现真相况选择安装方式,支持一键安装


[*]环境检测: 查看环境是否符合安装要求
[*]在线安装:  推荐方式,一行下令完成安装
[*]离线安装: 下载离线安装包,轻松完成安装
[*]其他方式安装:  利用牧云助手,点击即可完安装
在线安装(推荐!!!)

假如服务器可以访问互联网环境,推荐利用该方式
复制以下下令执行,即可完成安装
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
假如必要利用华为云加快,可利用
CDN=1 bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

假如必要安装最新版本流式检测模式,可利用
STREAM=1 bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"


登录流程

1.浏览器打开背景管理页面 https://<waf-ip>:9443。
2.输入初始的admin暗码
完成安装后在shell会主动输出暗码。

https://img-blog.csdnimg.cn/img_convert/89d5ea08789bd78bc3f3d12a73805299.png
若忘记查看,需手动执行重置下令得到初始暗码
docker exec safeline-mgt resetadmin
https://img-blog.csdnimg.cn/img_convert/99e01a571805509e74b7b3c837a9c3ba.png
3.根据界面提示,利用 支持 TOTP 的认证软件大概小程序 扫描二维码,然后输入动态口令登录:
设置站点

根据指导,完成站点设置
工作原理

雷池社区版重要以 反向代理 的方式工作,类似nginx。
让网站流量先抵达雷池,经过雷池检测和过滤后,再转给原来的网站业务。
设置界面


https://img-blog.csdnimg.cn/img_convert/d09d769d8be1706cd7daad77ca85532a.gif
在单独的服务器部署雷池时设置(推荐!!!)

开始设置

环境信息:
网站服务器:IPA,对外端口80,域名‘example.com’
雷池服务器:IPB

步骤:
1.将原网站流量指向雷池的IPB(必须)。例如修改域名解析服务,将域名解析到IPB
2.参考配置如下图
3.禁止网站服务器上,除雷池之外的访问。例如配置防火墙

https://img-blog.csdnimg.cn/img_convert/97aa8b2ad4b1725dc8b1984fe17274d9.png

https://img-blog.csdnimg.cn/img_convert/5184ec1148fd1964d54a68db52f9cef8.png
设置完成

假如浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日哀求数” 增长,代表设置成功。
效果大致如下:
https://i-blog.csdnimg.cn/direct/32e70656cd4446d789803fa6390b5afc.png
在网站服务器上部署雷池时设置

提示:不建议,由于这样单机的负载更高、设备宕机的概率更大。非纯净的环境还会提高升级失败的概率,故障排查更困难。
开始设置

环境信息:
网站服务器:IPA,对外端口80,域名‘example.com’

步骤:
1.需要原网站的监听修改为端口A,使80端口变成未使用状态,再进行配置
2.具体配置参考下图

https://img-blog.csdnimg.cn/img_convert/bcf43814a00d4a923ba443b4193f8177.png
设置完成

假如浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日哀求数” 增长,代表设置成功。
效果大致如图:
https://i-blog.csdnimg.cn/direct/f8f05953a9f14d37915fb95de01e9d51.png
和其他反代设备一起部署时设置

雷池作为反代设备,可以在恣意位置接入主链路。
将接入位置的流量指向雷池,并在雷池的 “上游服务器” 处填写哀求的下一跳服务器地址即可。
开始设置

环境信息:
网站服务器:IPA
雷池服务器:IPB
上游服务器:IPC,端口C
下游服务器:IPD,域名‘example.com’

步骤:
1.将下游nginx的流量指向雷池的IPC,访问端口指向80。
2.具体配置参考下图

https://img-blog.csdnimg.cn/img_convert/e944335f286169d9d103a798df17bf0c.png
设置完成

假如浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日哀求数” 增长,代表设置成功。
效果大致如图:
https://i-blog.csdnimg.cn/direct/5e55f4f67f0c45ba810907946fb084d6.png
高级防护

新版本增长单个站点的高级防护设置,支持对单个站点进行额外的防护设置
注意:自定义规则不受到当前开关影响

https://img-blog.csdnimg.cn/img_convert/aa1c03d99d53ad24f8d8ee6ffdb78f32.png
人机验证

点击后可以开启单个站点的人机验证
身份认证

点击可以为当前站点额外设置一个身份认证规则
测试防护

利用手工大概主动的方式测试防护效果
确认网站可以正常访问

根据雷池 WAF 设置的网站参数访问你的网站。
打开浏览器访问 http://<IP或域名>:<端口>/。
网站协议默认是 http,勾选 ssl 则为 https
主机名可以是雷池的 IP,也可以是网站的域名(确保域名已经解析到雷池)
端口是你在雷池页面中设置的网站端口
若网站访问不正常,请参考 设置问题。
团体监测流程参考:

https://img-blog.csdnimg.cn/img_convert/40ebdc1fd50a73f1a55ac16dae24c000.png

实验手动模拟攻击

访问以下地址模拟出对应的攻击:


[*]模拟 SQL 注入,请访问 http://<IP或域名>:<端口>/?id=1%20AND%201=1
[*]模拟 XSS,请访问 http://<IP或域名>:<端口>/?html=<script>alert(1)</script>
通过浏览器,你将会看到雷池已经发现并阻断了攻击哀求。

https://img-blog.csdnimg.cn/img_convert/0b48c12a83cc85cc221bbd28e3a8e0fe.png

安装docker

更新yum包(大概会碰到报错,添加阿里源即可)

sudo yum update

遇到报错
# sudoyumupdate
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"


One of the configured repositories failed (未知),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:

   1. Contact the upstream for the repository and get them to fix the problem.

   2. Reconfigure the baseurl/etc. for the repository, to point to a working
      upstream. This is most often useful if you are using a newer
      distribution release than is supported by the repository (and the
      packages for the previous distribution release still work).

   3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

   4. Disable the repository permanently, so yum won't use it by default. Yum
      will then just ignore the repository until you permanently enable it
      again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
      or
            subscription-manager repos --disable=<repoid>

   5. Configure the failing repository to be skipped, if it is unavailable.
      Note that yum will try to contact the repo. when it runs most commands,
      so will have to try and fail each time (and thus. yum will be be much
      slower). If it is a very temporary problem though, this is often a nice
      compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: base/7/x86_64






添加阿里云源
 

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 创建堆栈(这里避免报错就不利用docker官方源,利用阿里源)

## 安装Docker所需要的一些工具包
sudo yum install -y yum-utils

## 建立Docker仓库 (映射仓库地址)
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker引擎

sudo yum -y install docker-ce docker-ce-cli containerd.io 启动docker

sudo systemctl start docker
排查解决

在docker拉取镜像时出现 x509 报错,一般都是证书问题大概体系时间问题导致,可以先执行 date 看一下体系时间对不对,假如服务器体系时间跟现实现实时间对不上的话,一般就是体系时间问题,同步时间即可。
体系时间问题
# date
2021年 01月 08日 星期五 16:59:26 CST    //系统时间确实不对
安装ntpdate
# yum -y install ntpdate
...
已安装:
ntpdate.x86_64 0:4.2.6p5-29.el7.centos.2

完毕!
查看更新后时间
# ntpdate cn.pool.ntp.org
^: step time server 202.118.1.130 offset 22701177.945558 sec  网安感爱好可私信

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 手把手部署雷池WAF