欢迎光临
我们一直在努力

教你用Docker搭建一款开源的Web应用防火墙 —— 雷池 SafeLine 保护你的网站安全

前言

在日常的网站运维与业务上线过程中,我们经常会遇到以下问题:
👉 网站频繁遭遇 SQL 注入、XSS、扫描探测 等攻击,却没有及时防护;
👉 使用 Nginx/Apache 自带规则配置繁琐,难以灵活应对复杂攻击场景;
👉 依赖第三方安全厂商,费用高昂,且数据可能存在泄露风险;
👉 希望通过 开源方案 自主部署 WAF,提升防御能力的同时还能掌控数据安全。

传统的安全防护方式往往依赖硬件防火墙或 Web 服务器插件,不仅配置复杂、成本高,还可能存在性能瓶颈。而 雷池 SafeLine 正是为此而生 —— 一款长亭科技开源的 Web 应用防火墙(WAF),能够高效识别和拦截常见 Web 攻击,保障网站稳定运行。

为什么选择雷池 SafeLine?

  • 防护全面:内置规则库,支持 SQL 注入、XSS、文件上传、命令执行等多种攻击防御;
  • 开源免费:完全开源,支持二次开发与定制规则;
  • 性能优越:基于高性能引擎,支持高并发流量,适合生产环境;
  • 部署简单:原生支持 Docker,仅需几行命令即可快速上线;

无论你是 个人站长、中小企业,还是 大型互联网应用,雷池 SafeLine 都能帮助你快速搭建一套高效、稳定、可控的 Web 安全防护体系。

1.项目

雷池(SafeLine WAF) 是由 长亭科技 开源的一款 Web 应用防火墙(WAF),专为网站与应用提供高效、智能的安全防护。它能够识别并拦截常见的 Web 攻击(如 SQL 注入、XSS 跨站脚本、命令执行、文件上传等),同时支持自定义安全规则,帮助运维和开发者快速构建网站安全防线。

1.1项目特点

核心特性

  • 全面防护
    内置丰富的规则库,覆盖常见 Web 攻击场景,减少网站被黑客利用的风险。
  • 开源免费
    完全开源(遵循 Apache 2.0 协议),用户可自由部署、二次开发与定制。
  • 高性能架构
    基于高性能检测引擎,支持高并发流量防护,适用于生产环境。
  • 可视化管理
    自带 Web 控制台,支持域名配置、规则管理、防护日志查看等操作,使用直观。
  • Docker 快速部署
    原生支持容器化,只需几行命令即可在服务器上完成安装和运行。

应用场景

  • 个人站点:保护博客、论坛、CMS 系统免受黑客扫描与攻击。
  • 中小企业:降低 Web 安全风险,保障业务数据不被篡改或窃取。
  • 大型平台:结合自定义规则,构建更复杂的流量防护策略。

1.2项目展示

2.相关地址

gitHub开源项目:https://github.com/chaitin/SafeLine

3.搭建环境

  • 服务器:这里为了方便搭建项目使用的是莱卡云的境外香港云服务器。(国内用户连接建议使用国内的服务器(需备案域名或者IP+端口)延迟会更低)
  • 莱卡云服务器促销活动性价比会更高。查看官网购买链接:https://www.lcayun.com
  • 资源配置:2核2G 30G硬盘
    由于国内服务器访问海外源较慢,这边为了方便演示直接使用海外服务器搭建。
  • 服务器系统:Debian-12
  • 【必需】安装Docker:安装好 Docker、Docker-compose
  • 【非必需】域名一枚,可用于解析到服务器上使用域名访问

4.搭建视频

哔哩哔哩:

5.搭建方式

5.1 安装docker和docker-compose

安装教程:服务器上安装docker和docker-compose教程

5.2 创建safeline的docker文件

#在opt目录下创建safeline文件夹
mkdir -p /data/safeline
#打开safeline文件
cd /data/safeline
# 下载官方 compose 配置
wget https://waf.chaitin.com/release/latest/compose.yaml

5.3 安装safeline镜像

# 创建 .env 文件(必须)
nano .env

根据自己需求修改一下文件内容粘贴

SAFELINE_DIR=/data/safeline
# SafeLine 的安装目录,用于存放配置文件、日志、规则库等数据

IMAGE_TAG=latest
# Docker 镜像标签,通常使用 latest 或指定稳定版本号

MGT_PORT=9443
# 管理后台端口,浏览器访问 https://服务器IP:9443

POSTGRES_PASSWORD=yourpassword 
# PostgreSQL 数据库密码,建议使用数字+英文大小写组合,勿使用特殊字符
# 例如:MyS3curePass123

SUBNET_PREFIX=172.22.222
# Docker 内部网络前缀,用于容器间通信
# 默认不用改,除非你的网络冲突

IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline
# 镜像仓库前缀
# 如果使用官方 Docker Hub,可改为 chaitin 或留空

ARCH_SUFFIX=
# 架构后缀,例如 arm64、amd64,可留空默认自动选择

RELEASE=
# 版本标识,可留空

REGION=
# 区域信息,可留空

MGT_PROXY=0
# 是否通过代理访问管理后台,0=不使用,1=使用

如果是 ARM 服务器需要把 ARCH_SUFFIX改成 -arm

ARCH_SUFFIX=-arm

安装 LTS 版本需要把 RELEASE 改成 -lts

RELEASE=-lts

5.4 运行Filebrowser的docker镜像

我们先启动docker

# 启动docker
docker compose up -d

# 重启docker
docker compose stop
docker compose start

# 升级docker
docker compose down
docker compose pull
docker compose up -d

5.4 访问WEB端

访问IP:9443端口就可以有界面出现了。

http://ip:9443

5.4 登录雷池

第一次登录雷池需要初始化你的管理员账户(默认会执行),如果没有找到账户密码,手动执行以下命令即可

docker exec safeline-mgt resetadmin

命令执行完成后会随机重置 admin 账户的密码,输出结果如下

[SafeLine] Initial username:admin
[SafeLine] Initial password:**********
[SafeLine] Done

具体设置跟更多功能使用可以查看雷池的官方文档:https://help.waf-ce.chaitin.cn/welcome

6.结尾

雷池 SafeLine 不仅防护全面、性能优越,而且支持开源免费、多用户管理和 Docker 快速部署,让你轻松为网站构建高效、安全的防护体系。无论是个人站长、中小企业,还是大型互联网应用,雷池都能帮你抵御 SQL 注入、XSS、文件上传等常见攻击,保障网站稳定运行。

现在就动手部署一个属于你的雷池 SafeLine 吧,让你的网站安全更可靠、流量防护更智能、更可控!只需几步操作,就能在浏览器中管理规则、查看日志、监控防护状态,为你的 Web 应用加上坚实的安全屏障。

赞(0)
未经允许不得转载:莱卡云 » 教你用Docker搭建一款开源的Web应用防火墙 —— 雷池 SafeLine 保护你的网站安全