环境检测
最低配置需求
-
操作系统: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~]# 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看一下系统时间对不对,如果服务器系统时间跟现实实际时间对不上的话,一般就是系统时间问题,同步时间即可。
系统时间问题
[ ]
2021年 01月 08日 星期五 16:59:26 CST //系统时间确实不对
[ ]
...
已安装:
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
原文链接:https://blog.csdn.net/m0_74375496/article/details/140550745
各位师傅们,福利公开课来了!
🔥本期主题↓
《网络安全等级保护测评更新解读》
📅 等级保护概述
📅 等级保护实施流程
📅 等级保护更新解读
深入掌握网络安全等级保护知识,轻松应对行业变化!
🚀4月8号晚8点,与你相遇直播间
扫码备注【安全公开课】即可免费参与↓
原文始发于微信公众号(马哥网络安全):手把手部署雷池WAF
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论