随着开源 Web 框架和各种建站工具的兴起,搭建网站已经是一件成本非常低的事情,但是网站的安全性很少有人关注,以至于 WAF 这个品类也鲜为人知。
一、WAF 是什么?WAF 是 Web 应用防火墙(Web Application Firewall)的缩写,也就是我们俗称的网站防火墙。它可以保护网站不被黑客所攻击,通常以 Web 网关的形式存在,作为反向代理接入。WAF 可以识别常见的 Web 攻击并实施阻断,比如:SQL 注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、服务端请求伪造(SSRF)、WebShell 上传与通信等等。
二、雷池今天 HelloGitHub 给大家带来的是一款开箱即用、功能强大、广受好评的网站防护工具——雷池 WAF,不让黑客越雷池半步。
GitHub:https://github.com/chaitin/safeline
雷池是一款简单易用、广受好评的社区 WAF 项目,它底层基于 Nginx 的 Web 网关,作为反向代理接入网络,清洗来自黑客的恶意流量,保护你的网站不受黑客攻击。雷池拥有友好的 Web 界面,就算你不具备网络安全技术背景,也可以通过它发挥出顶尖的网站防护效果。
雷池由国内顶尖的网络信息安全公司长亭科技,在今年 4 月开源的网站防火墙工具。它迭代速度相当惊人,短短四个月的时间共发布了 31 个版本,被 1.8w 的网站站长使用,在 GitHub 收获了 3K 的 Star✨。
下面,就让我们一起上手这款国产开源网站防火墙神器吧!
三、安装部署雷池采用容器化部署的方式,服务由多个 Docker 容器组成,支持简单方便的一条龙安装脚本。只要服务器能联网,执行安装脚本后,自动拉取镜像、初始化配置文件、启动服务一气呵成。
3.1 一条命令安装直接使用在线安装脚本。
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
3.2 克隆仓库安装
克隆仓库后,执行 setup.sh 脚本即可安装。
git clone git@github.com:chaitin/safeline.git
cd safeline
bash ./setup.sh
3.3 安装成功
整个安装过程对新手十分友好,提示词为中文、自动安装 Docker 等,只需按照提示一路向下即可。
____ __ _ _
/ ___| __ _ / _| ___ | | (_) _ __ ___
\___ \ / _` | | |_ / _ \ | | | | | '_ \ / _ \
___) | | (_| | | _| | __/ | |___ | | | | | | | __/
|____/ \__,_| |_| \___| |_____| |_| |_| |_| \___|
[SafeLine] 脚本调用方式确认正常
[SafeLine] 缺少 Docker 环境
[SafeLine] 是否需要自动安装 Docker (Y/n)
# Executing docker install script, commit: xxx
...
[SafeLine] 雷池安装目录 (留空则为 '/data/safeline'):
[SafeLine] 目录 '/data/safeline' 当前剩余存储空间为 47G ,雷池至少需要 5G,是否确定 (Y/n)
[SafeLine] 创建安装目录 '/data/safeline' 成功
...
[SafeLine] 雷池 WAF 社区版安装成功,请访问以下地址访问控制台
[SafeLine] https://0.0.0.0:9443/ # 安装成功
安装完成后,根据提示访问本地的 Web 服务端口即可开始使用。
四、工作原理下面将通过简单的 WAF 部署架构图,介绍雷池的工作原理。
下图是一个简单的网站拓扑,外部用户发出请求,经过网络最终传递到网站服务器。
此时,若外部用户中存在恶意用户,那么由恶意用户发出的攻击请求也会经过网络最终传递到网站服务器。