文章目录
前言
SafeLine
,中文名 “雷池
”,是一款简单好用, 效果突出的 Web 应用防火墙(WAF),可以保护 Web 服务不受黑客攻击。
雷池
通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受 SQL 注入、XSS、 代码注入、命令注入、CRLF 注入、ldap 注入、xpath 注入、RCE、XXE、SSRF、路径遍历、后门、暴力破解、CC、爬虫 等攻击。
今天我们就来部署下,这个牛波一
哄哄的雷池WAF
。其实,查阅对于的官网,也有很详细的部署安装教程。同样的,喜欢看本篇博文部署的,可以各位彦祖们可以继续往下刷~
一、安装Docker 27.3.1
自我约定:安装软件都放在
/app
目录下
1、下载安装包
引擎安装包,点击连接后,点击下载docker-27.3.1.tgz
2、上传服务器
上传到服务器/app/docker
目录下
# 创建个目录,往里面丢
mkdir -p /app/docker
# 解压缩
tar -zxvf docker-27.3.1.tgz
# 移动到/usr/bin目录下
cp /app/docker/docker/* /usr/bin/
3、配置服务
vim /etc/systemd/system/docker.service
在配置文件中,添加如下内容,帅气的彦祖已经开始复制粘贴了
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --userland-proxy=false
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
赋予docker服务配置文件docker.service执行权限
sudo chmod +x /etc/systemd/system/docker.service
4、启动Docker服务
# 重新加载systemctl服务
systemctl daemon-reload
# 启用docker服务开机自启动
systemctl enable docker
# 启动docker服务
systemctl start docker
# 检查docker服务状态
systemctl status docker
此时显示,说明启动成功:
[root@static6 docker]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/etc/systemd/system/docker.service; enabled; preset: disabled)
Active: active (running) since Sat 2024-11-30 17:26:11 CST; 1min 34s ago
Docs: https://docs.docker.com
Main PID: 10136 (dockerd)
Tasks: 27 (limit: 100438)
Memory: 36.5M
CPU: 596ms
CGroup: /system.slice/docker.service
├─10136 /app/docker/docker/dockerd --userland-proxy=false
└─10149 containerd --config /var/run/docker/containerd/containerd.toml
Nov 30 17:26:09 static6 dockerd[10149]: time="2024-11-30T17:26:09.593942031+08:00" level=info msg="containerd successfully booted in 0.039914s"
Nov 30 17:26:10 static6 dockerd[10136]: time="2024-11-30T17:26:10.560386723+08:00" level=info msg="Loading containers: start."
Nov 30 17:26:10 static6 dockerd[10136]: time="2024-11-30T17:26:10.874144521+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bi>Nov 30 17:26:10 static6 dockerd[10136]: time="2024-11-30T17:26:10.968387991+08:00" level=info msg="Loading containers: done."
Nov 30 17:26:10 static6 dockerd[10136]: time="2024-11-30T17:26:10.980599308+08:00" level=warning msg="WARNING: bridge-nf-call-iptables is disabled"
Nov 30 17:26:10 static6 dockerd[10136]: time="2024-11-30T17:26:10.981291991+08:00" level=warning msg="WARNING: bridge-nf-call-ip6tables is disabled"
Nov 30 17:26:10 static6 dockerd[10136]: time="2024-11-30T17:26:10.981605255+08:00" level=info msg="Docker daemon" commit=41ca978 containerd-snapshotter=false storage-driver=overlay2 versio>Nov 30 17:26:10 static6 dockerd[10136]: time="2024-11-30T17:26:10.982054865+08:00" level=info msg="Daemon has completed initialization"
Nov 30 17:26:11 static6 dockerd[10136]: time="2024-11-30T17:26:11.033267992+08:00" level=info msg="API listen on /var/run/docker.sock"
Nov 30 17:26:11 static6 systemd[1]: Started Docker Application Container Engine.
5、配置镜像源
由于某种原因,docker官方的镜像源,访问很慢。使用其他的镜像源,可以加快访问。
在目录:/etc/docker/daemon.json
,没有就收到创建daemon.json文件
touch /etc/docker/daemon.json
echo '{"registry-mirrors": ["https://docker.1ms.run"]}' | sudo tee /etc/docker/daemon.json > /dev/null
systemctl daemon-reload
systemctl restart docker
二、Docker compose版本下载
上Github的releases页面,下载docker-compose-linux-x86_64
上传服务器
mkdir -p /app/docker-compose
# 之后,复制到目录下,并修改为docker-compose,并赋执行权限
cp /app/docker-compose/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 赋权
chmod +x /usr/local/bin/docker-compose
# 之后,查看版本,完成
docker-compose -v
三、安装雷池的环境依赖
从官网获悉,安装雷池,是需要环境依赖的。
安装雷池前请确保你的系统环境符合以下要求
操作系统:Linux
CPU 指令架构:x86_64, arm64
CPU 指令架构:x86_64 架构需要支持 ssse3 指令集
软件依赖:Docker 20.10.14 版本以上
软件依赖:Docker Compose 2.0.0 版本以上
最低资源需求:1 核 CPU / 1 GB 内存 / 5 GB 磁盘
可以根据以下命令来查看相关信息
uname -m # 查看指令架构
cat /proc/cpuinfo| grep "processor" # 查看 CPU 信息
lscpu | grep ssse3 # 确认 CPU 是否支持 ssse3 指令集
docker version # 查看 Docker 版本
docker compose version # 查看 Docker Compose 版本
docker-compose version # 查看老版本 docker-compose 版本
free -h # 查看内存信息
df -h # 查看磁盘信息
三、下载雷池社区版镜像包并安装
1、下载镜像包
登录雷池
的官网下载镜像包,大小有1.2G
这样。如下图:
# 创建存放雷池镜像包的文件夹
mkdir -p /app/leichi
# 离线镜像包传输完成之后,执行以下命令加载镜像
cat image.tar.gz | gzip -d | docker load
创建雷池目录
mkdir -p "/app/leichi/data/safeline"
该命令会创建 /data/safeline 目录作为雷池的安装目录(你可以根据你的实际情况选择安装目录) 请确保该目录至少有 5GB 的存储空间(如果日常流量较大,请保证充足的磁盘容量)
2、下载 compose 编排脚本
使用下方的命令进入雷池安装目录,并下载 docker compose 编排脚本
cd "/app/leichi/data/safeline"
wget "https://waf-ce.chaitin.cn/release/latest/compose.yaml"
配置 compose 环境变量
使用下方的命令进入雷池安装目录,并创建 .env 配置文件
cd "/app/leichi/data/safeline"
touch ".env"
3、配置 .env 文件
使用文本编辑器打开 .env 文件
,写入下方的内容
SAFELINE_DIR=/app/leichi/data/safeline
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD=这里改成你要设置的密码
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline
ARCH_SUFFIX=
RELEASE=
配置文件的格式说明如下:
SAFELINE_DIR
: 雷池安装目录,如/data/safeline
IMAGE_TAG
: 要安装的雷池版本,保持默认的latest
即可
MGT_PORT
: 雷池控制台的端口,保持默认的 9443
即可
POSTGRES_PASSWORD
: 雷池所需数据库的初始化密码,请随机生成
一个
SUBNET_PREFIX
: 雷池内部网络的网段,保持默认的 172.22.222
即可
IMAGE_PREFIX
: 雷池镜像源的前缀,建议根据服务器地理位置选择合适的源
ARCH_SUFFIX
: 雷池架构的后缀,ARM 服务器需要配置为 -arm
RELEASE
: 更新通道,LTS 版本需要配置为 -lts
3、启动雷池
现在万事具备
,使用以下命令启动雷池服务
cd "/app/leichi/data/safeline"
docker-compose up -d
4、自动安装雷池
如果选择自动安装
使用 root 权限执行以下命令,跟随命令提示输入相关信息,3 分钟即可完成自动安装。
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
如果想要安装 LTS 版本
则使用下面的命令安装
RELEASE=lts bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
LTS(Long Term Support,长期支持版本)是软件开发中的一个概念,表示该版本将获得较长时间的支持和更新,通常包含稳定性、性能改进和安全修复,但不包含频繁的新特性更新。LTS 版本适合企业和生产环境使用,因为它提供了更高的稳定性和可靠性。
之后看到底下会生成初次的默认用户、密码:
[SafeLine] Initial username:admin
[SafeLine] Initial password:efU7KNSv
浏览器登录
总结
以上就是我们安装雷池的完整过程,如果文章存在有误或者侵权,请联系更正或删除,谢谢!