手把手部署雷池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会自动输出密码。

若忘记查看,需手动执行重置命令获得初始密码

docker exec safeline-mgt resetadmin

3.根据界面提示,使用 支持 TOTP 的认证软件或者小程序 扫描二维码,然后输入动态口令登录:

配置站点

根据指导,完成站点配置

工作原理

雷池社区版主要以 反向代理 的方式工作,类似nginx。

让网站流量先抵达雷池,经过雷池检测和过滤后,再转给原来的网站业务。

配置界面

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

开始配置

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

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

配置完成

如果浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日请求数” 增加,代表配置成功。

效果大致如下:

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

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

开始配置

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

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

配置完成

如果浏览器访问example.com:80能获取到业务网站的响应,并且数据统计页的 “今日请求数” 增加,代表配置成功。

效果大致如图:

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

雷池作为反代设备,可以在任意位置接入主链路。

将接入位置的流量指向雷池,并在雷池的 “上游服务器” 处填写请求的下一跳服务器地址即可。

开始配置

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

步骤:
1.将下游nginx的流量指向雷池的IPC,访问端口指向80。
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包(可能会遇到报错,添加阿里源即可)

sudo yum update

遇到报错
[root@localhost ~]# sudo  yum  update
已加载插件: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 看一下系统时间对不对,如果服务器系统时间跟现实实际时间对不上的话,一般就是系统时间问题,同步时间即可。

系统时间问题

[root@localhost ~]# date
2021年 01月 08日 星期五 16:59:26 CST    //系统时间确实不对

安装ntpdate

[root@localhost ~]# yum -y install ntpdate
...
已安装:
  ntpdate.x86_64 0:4.2.6p5-29.el7.centos.2

完毕!

查看更新后时间

[root@localhost ~]# ntpdate cn.pool.ntp.org
^[28 Sep 10:57:20 ntpdate[11911]: step time server 202.118.1.130 offset 22701177.945558 sec

 网安感兴趣可私信

  • 18
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值