系统运维

一款足够简单、足够好用、足够强的免费 WAF

浅时光博客 · 10月18日 · 2023年 · · 2.6w 次已读

一、雷池介绍

一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。

核心检测能力由智能语义分析算法驱动,专为社区而生,不让黑文章来源(Source):浅时光博客客越雷池半步。

功能

  • 智能语义分析检测
  • 反向代理接入
  • 自定义黑白名单
  • 精细化引擎调节
  • 可视化安全分析

特性

  • 便捷
    • 采用容器化部署,一条命令即可完成安装,0 成本上手
    • 安全配置开箱即用,无需人工维护,可实现安全躺平式管理
  • 安全
    • 首创业内领先的智能语义分析算法,精准检测、低误报、难绕过
    • 语义分析算法无规则,面对未知特征的 0day 攻击不再手足无措
  • 高性能
    • 无规则引擎,线性安全检测算法,平均请求文章来源(Source):https://www.dqzboy.com检测延迟在 1 毫秒级别
    • 并发能力强,单核轻松检测 2000+ TPS,只要硬件足够强,可支撑的流量规模无上限
  • 高可用
    • 流量处理引擎基于 Nginx 开发,性能与稳定性均可得到保障
    • 内置完善的健康检查机制,服务可用性高达 99.99%

二、安装Docker

(1)安装需要的软件包

# Centos 7
yum install -y yum-utils device-mapper-persistent-data lvm2

(2)添加Docker YUM源

# 设置一个yum源,下面两个都可用

# 中央仓库
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo

# 阿里仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(3)安装并运行Docker

yum -y install docker-ce

systemctl start docker
systemctl enable docker
systemctl status docker

(4)安装 Docker-Compose

curl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

三、部署雷池WAF

  • 这里部署,不使用官方推荐的一键部署脚本,脚本部署对于一些发行版不支持,我这里采用离线方式部署

1、下载官方镜像包

wget http://demo.waf-ce.chaitin.cn/image.tar.gz

2、导入镜像

cat image.tar.gz | gzip -d | docker load

3、安装部署

# 创建安装目录
mkdir -p safeline        # 创建 safeline 目录
cd safeline              # 进入 safeline 目录

# 配置环境变量
echo "SAFELINE_DIR=$(pwd)" >> .env
echo "IMAGE_TAG=latest" >> .env
echo "MGT_PORT=9443" >> .env
echo "POSTGRES_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> .env
echo "REDIS_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> .env
echo "SUBNET_PREFIX=169.254.0" >> .env

# 启动雷池服务
# 首先现在编排文件
wget https://waf-ce.chaitin.cn/release/latest/compose.yaml

# 启动容器
docker-compose up -d

4、访问雷池

  • 浏览器打开后台管理页面 https://<雷池IP>:9443。根据界面提示,使用 支持 TOTP 的认证软件 扫描二维码,然后输入动态口令登录。例如我这里使用的是 Google Authenticator

四、雷池配置

1、防护站点

  • 配置完成之后,在雷池的服务器就会启动对应的Nginx服务进程,然后监听端口为 80,这个时候你访问雷池的域名或者雷池服务器IP的80端口 就会被代理到上游服务器
  • 配置HTTPS的话,就需要把80端口改为443,然后勾选ssl,并上传域名证书

2、人机验证

  • 2.0 加入人机验证之后的请求处理流程
  • 首先,点击位于左边栏的人机验证。之后,点击 添加人机验证
  • 添加完成之后,我们现在访问我们的防护站点,然后域名后面跟我们这里配置的匹配内容检测效果

人机验证触发规则

  1. 规则内的条件之间是并且的关系,即需要全部命中,才会触发
  2. 规则与规则之间是或的关系,则有一个命中,便会触发

交互与非交互的区别

  • 如果选择开启交互,那么用户需要点击页面中间的勾选框开始验证,如果选择非交互,那么将自动开始验证

本文作者:浅时光博客
原文链接:https://www.dqzboy.com/15252.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站内容仅供个人学习与研究,严禁用于商业或非法目的。请在下载后24小时内删除相应内容。继续浏览或下载即表明您接受上述条件,任何后果由用户自行承担。

1 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. MK广东·深圳2023-12-12 · 8:51

    过来看看,点赞。。。。