CentOS部署雷池WAF:先在线部署,后离线部署
使用的是CentOS7操作系统。
一、在线安装,并为离线安装做准备
1. 关闭firewalld
systemctl stop firewalld
systemctl disable firewalld
2. 关闭selinux
永久关闭 SELinux:修改 /etc/selinux/config 文件中的 SELINUX=enforcing 为 SELINUX=disabled,保存并退出。
3. 配置yum,设置install时自动将rpm包保存到本地
mkdir /root/MySafeLineWAFrpmPackages
vi /etc/yum.conf
cachedir=/root/MySafeLineWAFrpmPackages
keepcache=1
保存。
4. 修改使用国内软件源
cd /etc/yum.repos.d/
cp CentOS-Base.repo CentOS-Base.repo.backup
rm CentOS-Base.repo
vi CentOS-Base.repo
写入如下内容:
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#$baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
执行如下命令:
yum clean all
yum makecache
5. 安装docker
5-1. 卸载旧版docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate ocker-logrotate docker-engine
5-2. 全新安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce docker-ce-cli containerd.io
systemctl start docker
sudo systemctl enable docker
docker --version
6. 安装雷池
6-1. 下载镜像包
先找一台能上网的机器,下载 雷池社区版镜像包 并传输到需要安装雷池的服务器上。
离线镜像包传输完成之后,执行以下命令加载镜像
cat image.tar.gz | gzip -d | docker load
断网。断网的目的是为了测试离线能否安装。
6-2. 创建雷池目录
mkdir -p "/data/safeline"
该命令会创建 /data/safeline 目录作为雷池的安装目录(你可以根据你的实际情况选择安装目录)
请确保该目录至少有 5GB 的存储空间(如果日常流量较大,请保证充足的磁盘容量)
6-3. 下载 compose 编排脚本
使用下方的命令进入雷池安装目录,并下载 docker compose 编排脚本
cd "/data/safeline"
wget "https://waf-ce.chaitin.cn/release/latest/compose.yaml"
下载的编排脚本复制到其它地方保存,供离线安装使用。
6-4. 配置 compose 环境变量
使用下方的命令进入雷池安装目录,并创建 .env 配置文件
cd "/data/safeline"
touch ".env"
使用文本编辑器打开 .env 文件,写入下方的内容
SAFELINE_DIR=/data/safeline
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD=yourpassword
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline
ARCH_SUFFIX=
RELEASE=
6-5. 启动雷池
现在万事具备,使用以下命令启动雷池服务
cd "/data/safeline"
docker compose up -d
命令执行成功则代表雷池安装成功,现在你可以访问雷池控制台了
7. 访问雷池控制台
雷池安装成功以后,你可以打开浏览器访问 https://
注意对9443的端口打开访问
7-1. 登录雷池
第一次登录雷池需要初始化你的管理员账户(默认会执行),如果没有找到账户密码,手动执行以下命令即可
docker exec safeline-mgt resetadmin
命令执行完成后会随机重置 admin 账户的密码,输出结果如下
[SafeLine] Initial username:admin
[SafeLine] Initial password:**********
[SafeLine] Done
成功。
8. 制作离线rpm包
8-1. 安装createrepo
yum install createrepo
8-2. 生成repodata文件
cd /root
createrepo MySafeLineWAFrpmPackages/
如果有新添加的rpm包,需要使用createrepo --update
命令,例如:
createrepo --update MySafeLineWAFrpmPackages/
8-3. 压缩
cd /root
tar -zcvf MySafeLineWAFrpmPackages.tar.gz MySafeLineWAFrpmPackages
把压缩后的软件包复制到其它地方,保存好。
二、离线安装
1. 下载离线包
把刚才的离线包MySafeLineWAFrpmPackages.tar.gz
传到机器上。
scp MySafeLineWAFrpmPackages.tar.gz root@192.168.48.147:/root/
在虚拟机中解压缩
cd /root
tar -zxvf MySafeLineWAFrpmPackages.tar.gz
2. 关闭firewalld
systemctl stop firewalld
systemctl disable firewalld
3. 关闭selinux
永久关闭 SELinux:修改 /etc/selinux/config 文件中的 SELINUX=enforcing 为 SELINUX=disabled,保存并退出。
4. 备份原有的yum源配置文件
cd /etc/yum.repos.d/
mkdir backup
mv * backup
5. 创建新的yum源配置文件
vi localhost-yum.repo
文件中写入如下内容
[localhost-base]
name=localhost-base
baseurl=file:///root/MySafeLineWAFrpmPackages
gpgcheck=0
enabled=1
更新一下缓存数据
yum clean all
yum makecache
yum repolist
6. 安装docker
6-1. 卸载旧版docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate ocker-logrotate docker-engine
6-2. 全新安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce docker-ce-cli containerd.io
systemctl start docker
sudo systemctl enable docker
docker --version
7. 安装雷池
7-1. 下载镜像包
将下载 雷池社区版镜像包 并传输到需要安装雷池的服务器上。
离线镜像包传输完成之后,到上传的目录中执行以下命令加载镜像
cat image.tar.gz | gzip -d | docker load
7-2. 创建雷池目录
mkdir -p "/data/safeline"
该命令会创建 /data/safeline 目录作为雷池的安装目录(你可以根据你的实际情况选择安装目录)
请确保该目录至少有 5GB 的存储空间(如果日常流量较大,请保证充足的磁盘容量)
7-3. 下载 compose 编排脚本
把之前保存的编排脚本上传到/data/safeline
目录中。
7-4. 配置 compose 环境变量
使用下方的命令进入雷池安装目录,并创建 .env 配置文件
cd "/data/safeline"
touch ".env"
使用文本编辑器打开 .env 文件,写入下方的内容
SAFELINE_DIR=/data/safeline
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD=yourpassword
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline
ARCH_SUFFIX=
RELEASE=
7-5. 启动雷池
现在万事具备,使用以下命令启动雷池服务
cd "/data/safeline"
docker compose up -d
命令执行成功则代表雷池安装成功,现在你可以访问雷池控制台了
7-6. 初始化密码
第一次登录雷池需要初始化你的管理员账户(默认会执行),如果没有找到账户密码,手动执行以下命令即可
docker exec safeline-mgt resetadmin
命令执行完成后会随机重置 admin 账户的密码,输出结果如下
2024/11/17 05:50:13 [INFO] model/user.go:156 admin password has been reset[SafeLine] Initial username:admin[SafeLine] Initial password:PWCrzxg4[SafeLine] Done
[root@localhost safeline]#
8. 访问雷池控制台
雷池安装成功以后,你可以打开浏览器访问 https://
注意对9443的端口打开访问
成功。