【雷池】软件版-嵌入式WAF(单机)安装部署教程
各位师傅们好,欢迎来到SafeLine下一代 Web 应用防火墙安装部署-软件单机嵌入式章节,本次教程中相关版本号仅做举例,实际以安装时的安装版本号为准。
本文会以常见安装步骤作为举例,如有完整部署文档需求可咨询长亭技术支持人员获取。
安装说明
名词定义
【节点】指一台服务器,可以是物理服务器、云服务器
【安装目录】指雷池资源主要保存目录,通常为 /data/safeline
【数据盘】指安装目录所在的硬盘
- 此部署模式的工作机制和反向代理单机基本一致,只是转发功能由客户的web(
Nginx、Tengine、OpenResty
)服务器实现,需要服务器通过加载waf动态模块
的方式,将HTTP报文交给waf检测。
安装前准备
常用工具列表
Linux 下常用工具列表,可以参考进行安装:
tcpdump:网络抓包工具
curl:HTTP 请求工具
vim:编辑文件工具
strace:跟踪系统调用工具
tmux:终端窗口工具
net-tools:其他网络工具
sysstat:性能监控
Ubuntu
下安装,执行 apt install -y tcpdump curl vim strace net-tools sysstat
CentOS
下安装,执行 yum install -y tcpdump curl vim strace net-tools sysstat
资源准备
【节点基本要求】
CPU:>= 8 核
内存:>= 16 GB
数据盘容量:>= 500 GB,云服务器需要检查所选数据盘 IOPS 值大于 1000;
操作系统:Ubuntu >= 16.04、CentOS >= 7.4、Debian >= 8,其他 Linux 系统需实际测试,通常都可以安装;推荐系统 Ubuntu 18.04、CentOS 7.8
节点基础配置
以下操作默认在节点的 root
权限下操作
【校准节点时间】
使用 date
命令检查服务器时间是否正确,如不准确需要进行修改:
方案一:让客户提供 NTPServer,配置NTP自动化同步时间,配置方法见:链接
方案二:如客户没有 NTPServer、服务器也不能通公网,手动修改为正确的时间,配置方法见:链接
【确认数据盘可用情况】执行 df -Th /data/safeline
检查安装目录所在数据盘 Type
,数据盘格式推荐 ext4
【拷贝安装包到节点】
主要为安装文件 safeline-2-software-installer-*.bin
,如果为 OEM 版本、arm 版本,名字可能有区别,但安装方式基本一致
通常文件名包含一个 md5 校验值,可以运行如下命令校验 md5 数值是否一致
md5sum safeline-2-software-installer-*.bin
【运行安装包】
将安装文件 safeline-2-software-installer-*.bin
拷贝到节点上,运行时通常会解压出文件,建议放在单独目录执行安装包;
执行(需要输入密码):
INSTALL_DIR=safeline-2-`date +%F`
mkdir $INSTALL_DIR
mv safeline-2-software-installer-*.bin $INSTALL_DIR
cd $INSTALL_DIR
chmod +x safeline-2-software-installer-*.bin
./safeline-2-software-installer-*.bin
此步骤检查是否安装 docker,如果没有安装则进行自动安装;
docker 推荐从这里默认安装,日志会输出「Docker 18.06.3-ce installed」
类似字样
如果为升级安装,提示是否升级引擎时,默认回车升级到最新引擎:
【调整机器配置】
使用自动化脚本配置机器:
在运行安装包的目录下,进入 waf-tools
子目录,阅读 README.md
使用相关脚本优化机器配置和格式化多余磁盘
【运行安装前检查】
执行 minion check run before-install
,如输出 Failed
项,需要进一步确认后再继续
【使用数据盘存储 docker 数据】
docker 镜像通常位于 /var/lib/docker 目录下,假设数据盘挂载 /data
目录中,可以执行以下命令将 docker 数据存储到数据盘:
systemctl stop docker
mv /var/lib/docker /data/
ln -s /data/docker /var/lib/
systemctl start docker
开始安装
【初始化配置】
执行
minion setup -p /data/safeline -t C20Master
【启动服务】
执行
systemctl start minion
【检查状态】
- 执行
docker ps -a
,检查容器状态都是Up
、Healthy
- 浏览器打开
https://当前机器 IP :9443
访问管理界面,导入证书后登录管理界面进行使用
- 登录管理界面后,查看「系统信息-节点状态」确认节点正常