侧边栏壁纸
  • 累计撰写 27 篇文章
  • 累计创建 28 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

自带防火墙的反向代理工具——雷池WAF社区版

煙花巷陌
2023-11-28 / 0 评论 / 0 点赞 / 330 阅读 / 9305 字
广告 广告

雷池WAF社区版介绍

什么是雷池WAF

雷池WAF是一款基于人工智能语义分析的下一代Web应用防火墙,能够识别和防御各种Web攻击,如SQL注入、XSS、CSRF、文件上传等。它是由长亭科技开发的,有社区版和企业版两种版本。社区版是免费的,可以作为反向代理接入,保护你的网站不受黑客攻击。企业版是收费的,提供更多的功能和服务,如威胁情报、攻击溯源、可视化管理等。雷池WAF是业内首款使用智能语义分析算法的WAF,能够还原出经过层层伪装变形的攻击向量,并从编码的基础上判断攻击的类型和来源。它的检测精度和性能都比传统的基于正则表达式的WAF高出很多。

雷池的用途

  • 雷池的主要用途是保护你的网站不受网络攻击,比如SQL注入、XSS、CSRF、SSRF、WebShell等常见的Web攻击,以及一些未知的安全威胁,它可以准确判断攻击的类型和来源,并及时发出警报。
  • 雷池还可以提供一些其他的功能,比如反向代理、负载均衡、缓存、压缩、SSL加密、访问控制、Bot防护、DDoS防护等,让你的网站更加高效、安全和可靠。

雷池的功能

  • 雷池的核心功能是基于智能语义分析算法的网络攻击检测,它可以对HTTP请求参数进行自动化递归解码,提取请求参数中的攻击片段,并通过攻击打分模型对参数中的攻击代码进行识别,最终判定HTTP请求是否为恶意攻击,它不需要人工维护规则,出厂配置就有非常不错的防护效果,它可以检测一些未知行为的攻击,也可以检测一些深度编码的攻击,以及一些针对特征进行绕过的攻击,它的检测规则严谨,几乎不会产生误报。
  • 雷池还有一些其他的功能,比如:
    • 反向代理:它可以将不同的域名或路径转发到不同的后端服务器或服务,实现多个网站共用一个IP地址,也可以实现跨域访问,隐藏真实的后端地址,提高安全性。
    • 负载均衡:它可以将流量分发到多个后端服务器或服务,实现高可用和高性能,也可以根据不同的策略进行流量调度,比如轮询、权重、最少连接等,还可以进行健康检查和故障转移,提高稳定性。
    • 缓存:它可以将一些静态资源或者动态资源缓存到本地,减少后端服务器的压力,提高响应速度,也可以设置缓存的有效期和刷新策略,提高灵活性。
    • 压缩:它可以对一些文本类型的资源进行压缩,减少传输的数据量,提高传输速度,也可以根据不同的资源类型和客户端支持情况进行压缩,提高兼容性。
    • SSL加密:它可以为你的网站提供HTTPS服务,保证数据的安全传输,它支持免费的Let’s Encrypt证书,也支持自定义的证书,还支持HTTP/2协议,提高性能。
    • 访问控制:它可以为你的网站设置访问控制规则,允许或拒绝特定的IP地址或域名访问,也可以启用基于用户名和密码的认证,提高安全性。
    • Bot防护:它可以通过特征识别、主动验证、白名单、自定义管理等方式实现更为精细的Bot管理,对抗爬虫、对抗扫描、对抗CC攻击,提高网站的正常运行。
    • DDoS防护:它可以通过安全防护策略有效防御流量层的DDoS攻击,保证网站的可用性。

雷池的工作原理

  • 雷池的工作原理是基于反向代理的方式,它作为一个中间层,接收来自客户端的请求,然后根据代理主机的设置,将请求转发到相应的后端服务器或服务,同时对请求和响应进行分析和处理,实现各种功能。
  • 雷池的核心组件是Nginx,它是一个高性能的Web服务器和反向代理,它负责接收和转发流量,以及提供缓存、压缩、SSL加密等功能。
  • 雷池的另一个核心组件是Safeline,它是一个基于大数据、机器学习等技术的网络攻击检测系统,它负责对请求参数进行自动化递归解码,提取请求参数中的攻击片段,并通过攻击打分模型对参数中的攻击代码进行识别,最终判定HTTP请求是否为恶意攻击,它可以与Nginx无缝集成,通过Nginx的模块或者Lua脚本来调用Safeline的API,实现攻击防护。
  • 雷池还有一些其他的组件,比如:
    • Certbot,它是一个用于申请和续期Let’s Encrypt证书的工具,它可以与Nginx配合使用,自动为代理主机生成和更新SSL证书,实现HTTPS服务。
    • Nginx Proxy Manager,它是一个用于管理Nginx的反向代理配置的Web界面,它可以让用户通过简单的操作,添加、编辑和删除代理主机,设置域名、转发地址、SSL证书、访问控制等选项,也可以启用一些高级功能,比如缓存、压缩、自定义Nginx配置等,它可以与Certbot和Safeline无缝集成,实现更加完善的反向代理服务。
    • MongoDB,它是一个用于存储Nginx Proxy Manager的配置数据的数据库,它可以提供高性能和高可用的数据服务。
    • Redis,它是一个用于存储Safeline的攻击日志和统计数据的数据库,它可以提供高速和持久的数据服务。

雷池WAF社区版搭建教程

前提条件

  • 你需要有一台可以联网的服务器,最好是Linux系统,本教程以Debian系统为例。没有服务器的小伙伴可以到RackNerdCloudCone这两家超有性价比的服务器商去看看,他们有很多类型的服务器,总有一款适合你。
  • 你需要安装Docker和Docker Compose,如果你不知道如何安装,你可以参考DockerDocker Compose的官方文档。
  • 你需要有一个域名,并将其解析到你的服务器IP地址。之前介绍了几个免费申请域名,以及如何使用cloudflare来托管和解析域名的教程,你可以进行参考。【教你申请pp.ua免费域名】,【eu.org真正永久免费的域名】,【如何使用cloudflare来进行域名解析

安装

雷池WAF官方文档:https://waf-ce.chaitin.cn/docs/

运行官方脚本,脚本会自动检测你的服务器有没有docker环境。如果服务器没有docker环境输入 Y 自动安装,然后再输入项目存放的位置,比如 /root/data/safeline

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

如果你不想一键安装docker环境,可以自己手动安装。

# 安装docker
wget -qO- get.docker.com | bash

# 查看docker版本
docker -v
# 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 给docker-compose分配权限
chmod +x /usr/local/bin/docker-compose

# 查看docker-compose版本
docker-compose -v

然后,再次运行雷池WAF社区版的官方脚本,这时脚本就会检测到你已经安装了docker环境,填写要安装的路径就可以了。

此时,我们等待它运行结束。

在脚本运行期间,我们可以来开放一下端口。我以腾讯云为例,我们要去到自己的服务器后台,添加一条防火墙规则,开放服务端口。各大厂开启防火墙端口的方式都差不多。

如果,在服务器后台里没有防火墙规则设置,你可以用 ufw 来开放端口。

ufw allow 9443    # 雷池的默认端口是9443

运行完脚本之后我们就可以用 IP:9443 的方式在浏览器里打开自己搭建的雷池WAF社区版了。恭喜你,你已经成功安装了雷池WAF社区版,你可以开始使用它来保护你的网站了。

登录

浏览器里输入IP:端口,访问雷池WAF社区版。

http://IP地址:9443    # 雷池的默认端口9443

在浏览器扩展里安装 身份验证器

安装后用 身份验证器 扫描二维码。

然后再输入 身份验证器 显示的验证码登录。

现在我们就可以进入到 雷池WAF社区版 的管理界面了。

使用方法

在雷池的管理界面中,你可以看到四个选项卡,分别是Dashboard(数据统计)、Events(攻击事件)、Protected Sites(防护站点)和Protections(防护配置)、Settings(通用设置)和System Info(系统信息)。

  • Dashboard中,你可以看到你的网站的流量和攻击情况,以及一些统计信息和日志等。
  • Events中,可以看到对你发起攻击的IP、归属地、状态等。
  • Protected Sites中,你可以添加、编辑和删除你的代理主机,也就是你的网站,你可以为每个代理主机设置域名、转发地址、申请SSL证书。从而来实现反向代理的功能。
  • Protections中,你可以添加黑白名单、设置频率限制、人机验证和语义分析。
  • Settings中,你可以添加IP组、管理SSL证书等。
  • System Info中,你可以查看雷池WAF社区版的版本。

反向代理

现在我们搭建的雷池WAF社区版是用 IP+端口 的方式来访问的,这样不安全。现在我们给搭建好的雷池WAF社区版设置反向代理,用域名来访问雷池。这里以 www.leichi.com 这个域名为例,我们先到cloudflare去解析好域名。不会解析域名请参考这篇文章。【如何使用cloudflare来进行域名解析

1、添加站点

点击 Protected Sites(防护站点) ,再点击 添加站点

2、设置反向代理。

申请SSL证书

现在就可以用 https://www.leichi.com 来访问雷池WAF社区版了,这样就会很安全。

更新

官方文档https://waf-ce.chaitin.cn/docs/guide/upgrade
以防万一请先将安装目录备份一下。
然后,再运行下边的官方更新脚本,脚本会自动更新。

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/upgrade.sh)"

运行完这个脚本之后,再删除一下多余镜像

# 删除多余镜像
docker image prune

现在,我们就更新到最新版本了。

雷池与其他反代工具的对比

  • 雷池与其他反代工具的最大区别是它拥有自主研发的智能防御引擎,它可以有效地检测和防御各种网络攻击,而不需要人工维护规则,它的防护效果优于一些传统的基于规则的WAF,它也可以检测一些其他反代工具无法检测的攻击,它的误报率也很低,它可以为用户提供更加安全、可靠的云安全服务。
  • 雷池与其他反代工具的另一个区别是它提供了一个友好的Web管理界面,它可以让用户轻松地管理反向代理的配置,也可以查看网站的流量和攻击情况,以及一些统计信息和日志,它可以让用户更加方便地使用反向代理的功能,也可以更加直观地了解网站的安全状况。
  • 雷池与其他反代工具的还有一个区别是它支持免费的SSL证书,它可以为用户提供Let’s Encrypt的证书服务,也可以支持用户自己的证书,还可以支持HTTP/2协议,它可以让用户的网站更加安全和信任,也可以提高网站的性能。
  • 雷池与其他反代工具的最后一个区别是它是开源的,它的源码和文档都可以在[GitHub]上找到,用户可以自由地使用、修改和分发它,也可以参与它的开发和维护,也可以向它的社区提供反馈和建议,它是一个活跃的开源项目,它的功能和性能不断地更新和优化,它可以让用户享受到最新的技术和服务。

结语

这篇文章介绍了雷池WAF社区版的概念、用途、功能、工作原理、安装步骤和使用方法,以及与其他反代工具的对比,希望能够帮助你了解和使用这款开源的网络攻击检测系统,为你的网站提供更加安全、可靠的云安全服务。如果你对雷池WAF社区版感兴趣,你可以在[GitHub]上查看它的源码和文档,也可以在[雷池的官方网站]上获取更多的信息和支持,也可以加入它的社区,与其他用户交流和分享你的经验和建议。感谢你的阅读,希望你能喜欢这篇文章,也希望你能尝试使用雷池WAF社区版来保护你的网站,祝你好运!

0
广告 广告

评论区