手把手部署雷池WAF

打印 上一主题 下一主题

主题 670|帖子 670|积分 2010

目录
环境检测
 假如没有安装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 磁盘
可以逐行执行以下下令来确认服务器设置
  1. uname -m                                    # 查看指令架构
  2. docker version                              # 查看 Docker 版本
  3. docker compose version                      # 查看 Docker Compose 版本
  4. docker-compose version                      # 老版本查看Compose 版本
  5. cat /proc/cpuinfo| grep "processor"         # 查看 CPU 信息
  6. free -h                                     # 查看内存信息
  7. df -h                                       # 查看磁盘信息
  8. lscpu | grep ssse3                          # 确认CPU是否支持 ssse3 指令集
复制代码
假如没有安装docker请先移步最后查看docker安装步骤!!!

安装雷池

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


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

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

登录流程

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


若忘记查看,需手动执行重置下令得到初始暗码
  1. docker exec safeline-mgt resetadmin
复制代码


3.根据界面提示,利用 支持 TOTP 的认证软件大概小程序 扫描二维码,然后输入动态口令登录:
设置站点

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

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



在单独的服务器部署雷池时设置(推荐!!!)

开始设置

  1. 环境信息:
  2. 网站服务器:IPA,对外端口80,域名‘example.com’
  3. 雷池服务器:IPB
  4. 步骤:
  5. 1.将原网站流量指向雷池的IPB(必须)。例如修改域名解析服务,将域名解析到IPB
  6. 2.参考配置如下图
  7. 3.禁止网站服务器上,除雷池之外的访问。例如配置防火墙
复制代码




设置完成

假如浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日哀求数” 增长,代表设置成功。
效果大致如下:

在网站服务器上部署雷池时设置

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

  1. 环境信息:
  2. 网站服务器:IPA,对外端口80,域名‘example.com’
  3. 步骤:
  4. 1.需要原网站的监听修改为端口A,使80端口变成未使用状态,再进行配置
  5. 2.具体配置参考下图
复制代码


设置完成

假如浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日哀求数” 增长,代表设置成功。
效果大致如图:

和其他反代设备一起部署时设置

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

  1. 环境信息:
  2. 网站服务器:IPA
  3. 雷池服务器:IPB
  4. 上游服务器:IPC,端口C
  5. 下游服务器:IPD,域名‘example.com’
  6. 步骤:
  7. 1.将下游nginx的流量指向雷池的IPC,访问端口指向80。
  8. 2.具体配置参考下图
复制代码


设置完成

假如浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日哀求数” 增长,代表设置成功。
效果大致如图:

高级防护

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


人机验证

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

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

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

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



实验手动模拟攻击

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


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



安装docker

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

  1. sudo yum update
  2. 遇到报错
  3. [root@localhost ~]# sudo  yum  update
  4. 已加载插件:fastestmirror
  5. Loading mirror speeds from cached hostfile
  6. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
  7. 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
  8. One of the configured repositories failed (未知),
  9. and yum doesn't have enough cached data to continue. At this point the only
  10. safe thing yum can do is fail. There are a few ways to work "fix" this:
  11.      1. Contact the upstream for the repository and get them to fix the problem.
  12.      2. Reconfigure the baseurl/etc. for the repository, to point to a working
  13.         upstream. This is most often useful if you are using a newer
  14.         distribution release than is supported by the repository (and the
  15.         packages for the previous distribution release still work).
  16.      3. Run the command with the repository temporarily disabled
  17.             yum --disablerepo=<repoid> ...
  18.      4. Disable the repository permanently, so yum won't use it by default. Yum
  19.         will then just ignore the repository until you permanently enable it
  20.         again or use --enablerepo for temporary usage:
  21.             yum-config-manager --disable <repoid>
  22.         or
  23.             subscription-manager repos --disable=<repoid>
  24.      5. Configure the failing repository to be skipped, if it is unavailable.
  25.         Note that yum will try to contact the repo. when it runs most commands,
  26.         so will have to try and fail each time (and thus. yum will be be much
  27.         slower). If it is a very temporary problem though, this is often a nice
  28.         compromise:
  29.             yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
  30. Cannot find a valid baseurl for repo: base/7/x86_64
复制代码

添加阿里云源
 


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

  1. ## 安装Docker所需要的一些工具包
  2. sudo yum install -y yum-utils
  3. ## 建立Docker仓库 (映射仓库地址)
  4. sudo yum-config-manager \
  5.     --add-repo \
  6.     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
安装Docker引擎

  1. sudo yum -y install docker-ce docker-ce-cli containerd.io
复制代码
启动docker

  1. sudo systemctl start docker
复制代码
排查解决

在docker拉取镜像时出现 x509 报错,一般都是证书问题大概体系时间问题导致,可以先执行 date 看一下体系时间对不对,假如服务器体系时间跟现实现实时间对不上的话,一般就是体系时间问题,同步时间即可。
体系时间问题
  1. [root@localhost ~]# date
  2. 2021年 01月 08日 星期五 16:59:26 CST    //系统时间确实不对
复制代码
安装ntpdate
  1. [root@localhost ~]# yum -y install ntpdate
  2. ...
  3. 已安装:
  4.   ntpdate.x86_64 0:4.2.6p5-29.el7.centos.2
  5. 完毕!
复制代码
查看更新后时间
  1. [root@localhost ~]# ntpdate cn.pool.ntp.org
  2. ^[28 Sep 10:57:20 ntpdate[11911]: step time server 202.118.1.130 offset 22701177.945558 sec
复制代码
 网安感爱好可私信

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表