五、Rocky Linux 9.x安装雷池WAF


前言

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

浏览器登录
在这里插入图片描述

在这里插入图片描述

总结

以上就是我们安装雷池的完整过程,如果文章存在有误或者侵权,请联系更正或删除,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值