侧边栏壁纸
博主头像
小新笔记坊

笔耕学思悟,细绘生活卷。

  • 累计撰写 52 篇文章
  • 累计创建 23 个标签
  • 累计收到 49 条评论

目 录CONTENT

文章目录

雷池防火墙:安装与配置的完整指南

小新笔记坊
2024-02-17 / 0 评论 / 0 点赞 / 164 阅读 / 0 字 / 正在检测是否收录...

安装理由

因考虑到网站安全需要,故记录一下安装雷池WAF的经过。

安装环境

操作系统:Linux CentOS 8.0
数据库:mysql 8.0

CPU:1核

内存:2G

雷池WAF介绍

雷池WAF(Web Application Firewall,即网络应用防火墙)是一款由长亭科技开发的开源、免费的网站安全防护工具。它设计用于保护Web应用程序免受常见网络安全威胁,如SQL注入、跨站脚本攻击(XSS)、命令注入、文件包含漏洞等各种应用层攻击。具备以下特点:

1. 开源免费:适用于个人和小型企业用户,降低了部署专业级WAF的成本门槛。

2. 轻量高效:底层基于Nginx等高性能Web服务器,可作为反向代理部署在Web应用前端,实现对HTTP/HTTPS流量的有效监控与过滤。

3. 语义引擎检测技术:采用业界先进的检测算法和技术,能够精准识别并阻止恶意请求,同时尽可能减少误报率。

4. 易于安装配置:提供友好的安装部署教程,帮助用户快速将WAF集成到现有架构中。

5. 持续更新升级:作为活跃的社区项目,会不断优化功能和添加新的防护规则,以应对最新的安全威胁。

安装步骤

一、下载雷池Docker镜像压缩包,上传至服务器

二、安装docker

1.CentOS 8默认使用podman代替docker,所以需要将podman卸载

yum erase podman buildah -y

2.刷新配置及安装依赖

systemctl daemon-reload
yum install -y yum-utils

3.卸载旧版本docker

sudo yum remove docker docker-common docker-selinux dockesr-engine

4.安装需要的软件包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5.设置镜仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6.安装docker

sudo yum install docker-ce

7.启动 Docker 服务并设置为开机启动

sudo systemctl start docker
sudo systemctl enable docker

8.验证是否安装成功

docker --version

三、安装Docker Compose

1.下载Docker Compose并将其上传至服务器/usr/local/bin/目录下

2.赋予执行权限

sudo chmod +x /usr/local/bin/docker-compose

3.验证安装

docker-compose --version

四、安装雷池WAF

1.创建WAF安装目录并进入该目录(该指令会在当前所在目录创建safeline文件夹)

mkdir -p safeline && cd safeline

2.CD进入雷池Docker镜像压缩包所在目录,执行以下指令。该指令会将雷池Docker镜像压缩包进行解压,并将解压后的 文件直接加载至Docker

cat image.tar.gz | gzip -d | docker load

注:image.tar.gz为雷池Docker镜像压缩包.文件名

3.compose.yaml文件上传至服务器/safeline/文件夹下

4.复制执行以下命令,生成WAF运行所需的相关环境变量(不要一行一行复制,一次性复制全部命令后回车执行)

cat >> .env <<EOF
SAFELINE_DIR=$(pwd)
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=chaitin
EOF

5.运行雷池WAF

docker compose up -d

五、配置雷池WAF

原来的部署架构:

雷池-waf-原部署架构.webp配置雷池WAF后的部署架构:

雷池-waf-现部署架构.webp

总体配置思路:

注:除80/443端口外所有端口设置外网禁止访问,新建自定义端口,用户访问自定义端口时,waf对自定义端口进行监听,外网统一通过自定义端口进行访问,waf检测自定义端口无问题后转发(该操作全程是内网转发)至项目监听端口。

项目方案示例1(引导页):

如果你同一个端口下部署有多个项目,可自定义一个端口,然后用户访问该自定义端口的请求在WAF设置转发给nginx------>nginx再根据正则筛选分别指定要访问的项目

项目方案示例2:

用户点击前端网页中的网址入口(地址为http://你的ip:端口,此端口为WAF后台自行配置的一个自定义端口,WAF会持续监听该端口)------>雷池WAF监听到该访问请求------>雷池WAF放行后转发至内网环境下项目运行所监听的端口

注:

A.如果你将80端口设置外网拒绝访问,为了cdn省流量你想通过ip直接访问,则可以在雷池WAF后台编辑站点,填写域名为ip,勾选ssl证书随便选一个即可生效。

B.同一个域名有且仅能监听1个相同的端口,所以一个域名只能监听1个80/443端口,如果要实现多个项目各自分别监听各自的80/443端口,建议注册多个二级域名。也可以尝试自定义端口转发至项目端口的方式,但非80/443端口转发至项目端口CDN可能会出现无法访问页面的问题。例http://156.156.156.156:7001/XM/index.html如果用7001自定义端口代替80/443端口,则可能出现CDN无法访问的问题。

具体操作步骤:

1.浏览器打开后台管理页面: https://你的ip:9443

2.下载腾讯身份验证器,完成动态口令绑定。

3.将除80/443端口以外的其它端口全部设置禁止外部网络访问(如果你有ssl证书,可禁用80端口外网访问)。

禁止所有网络访问:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port protocol="tcp" port="要禁止的端口号" reject'

允许内网访问:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.0/16" port port="要设置的端口号" protocol="tcp" accept'

取消禁止所有网络访问:

firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port protocol="tcp" port="要取消禁止的端口号" reject'

取消允许内网访问:

firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.0.0/16" port port="要取消允许的端口号" protocol="tcp" accept'

4.WAF添加并配置防护站点,配置完成后如下图。

域名:你的服务器域名(直接输入域名或ip即可,不带http/https前缀)。

端口:WAF监听的端口,例如填80端口,则当用户通过域名+此端口方式访问网站时,WAF会监听该端口,端口无问题后WAF进行放行,放行后WAF会转发此请求至上游服务器。

上游服务器:WAF监听访问请求无问题后,你期望转发的访问地址(例http://192.168.2.30:81

雷池-waf-运行截图.webp5.测试防护功能,将以下连接copy至浏览器访问,手动模拟攻击。如下图为WAF拦截提示图。

模拟 SQL 注入:

http://<IP或域名>:<端口>/?id=1%20AND%201=1

模拟 XSS:

http://<IP或域名>:<端口>/?html=<script>alert(1)</script>

雷池-waf-拦截截图.webp

升级雷池WAF

1.下载雷池Docker镜像压缩包,上传至服务器。

2.CD进入镜像压缩包目录,加载镜像:

docker load -i image.tar.gz

3.替换 Docker 容器

docker compose down --remove-orphans
docker compose up -d

清理雷池WAF日志

1.直接删除safeline/resources/luigi文件夹

2.重启雷池WAF。

docker compose down
docker compose up -d

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
    1. 支付宝打赏

      qrcode alipay
    2. 微信打赏

      qrcode weixin

评论区