大家好,我是 Java陈序员,我们有时会搭建一个属于自己的网站,但是自建网站很容易被收到攻击,今天给大家介绍一款简单免费好用的 WAF 网站防护工具。

WAFWeb Application Firewall 的缩写,也被称为 Web 应用防火墙。区别于传统防火墙,WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击。

项目介绍

雷池 是一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。

Github 地址:

https://github.com/chaitin/SafeLine

官方网址:

https://waf-ce.chaitin.cn/

在线体验:

https://demo.waf-ce.chaitin.cn:9443/dashboard

项目特性

  • 便捷性:0 成本上手,采用容器化部署,一条命令即可完成安装
  • 安全性:使用智能语义分析算法,精准检测、低误报、难绕过
  • 高性能:线性安全检测算法,平均请求检测延迟在 1 毫秒级别,并发能力强,单核轻松检测 2000+ TPS
  • 高可用:流量处理引擎基于 Nginx 开发,性能与稳定性均可得到保障,内置完善的健康检查机制,服务可用性高达 99.99%

项目安装

配置需求:

操作系统:Linux
指令架构:x86_64
软件依赖:Docker 20.10.14 版本以上
软件依赖:Docker Compose 2.0.0 版本以上
最小化环境:1 核 CPU / 1 GB 内存 / 5 GB 磁盘

执行以下命令,即可开始安装

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

注意:执行上述命令需要服务器可以访问互联网环境

如服务器无法访问互联网,可以使用离线安装的方式。

首先,下载 雷池社区版镜像包 并传输到服务器上,执行以下命令加载镜像

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

执行以下命令创建并进入雷池安装目录

mkdir -p safeline        # 创建 safeline 目录
cd safeline # 进入 safeline 目录

下载 编排脚本 并传输到 safeline 目录中

执行以下命令,生成雷池运行所需的相关环境变量

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

执行以下命令启动雷池

docker compose up -d

项目使用

安装成功后,浏览器打开后台管理页面 https://ip:9443。根据界面提示,扫描二维码,然后输入动态口令登录:

Dashboard 控制面板

添加站点防护

添加防护站点后,大家可自行测试防护效果,可以尝试手动模拟攻击:

  • 模拟 SQL 注入,请访问 http://<IP或域名>:<端口>/?id=1%20AND%201=1
  • 模拟 XSS,请访问 http://<IP或域名>:<端口>/?html=<script>alert(1)</script>

雷池的其他功能大家可自行探索!

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

一款广受社区好评的 WAF的更多相关文章

  1. 8款最受欢迎的HTML5/CSS3应用及源码

    新的一周开始,小编也将继续为大家分享精彩的HTML5应用,还有CSS3和jQuery方面的东西.今天给大家带来的是8款最受欢迎的HTML5/CSS3应用及代码,一起来看看吧. 1.基于HTML5 Ca ...

  2. 4款最受欢迎的Mac原型工具

    原型工具中Wireframe, Mockup和prototype之间的有什么不同? 无论你是一名刚入行的UX/UI设计师,还是入行多年的老手,在制作原型的过程中一定接触或听说过其中很重要的三个原型术语 ...

  3. 20款最受欢迎的HTML5游戏引擎收集

    在“最火HTML5 JavaScript游戏引擎”系列文章国外篇(一)中,我们盘点了当下备受开发者推崇的非国产HTML5和JavaScript游戏引擎.在各种2D小游戏逆袭的今天,用HTML5和Jav ...

  4. 移动应用中的AR开发,5款最受欢迎工具推荐!

      英文原文:Top 5 Tools for Augmented Reality in Mobile Apps 还记得前段时间在网上很火的 3D 小熊不?托它的福,为相当一部分人科普了增强现实(AR) ...

  5. Pysnooper 一款大受欢迎的Debug模块

    Github地址 安装 PIP pip install pysnooper import pysnooper @pysnooper.snoop() def number_to_bits(number) ...

  6. 13款用于拍摄全景照片的iOS应用

    全景图是一种大画幅.用来展示尽量多的周围环境的照片,甚至能够展示一个球状的完整空间,让观赏者直接“站在”摄影师的位置,在照片里将该环境一览无余.全景照片能够以最直观的方式向人们展示和记录一个美丽风景的 ...

  7. Java学习笔记:2021年12月31日下午-2022年1月1日上午

    Java学习笔记:2021年12月31日下午-2022年1月1日上午 摘要:主要记录了计算机的电气构成,学习Linux系统的原因以及关于Linux以及相关操作的基础知识. 目录 Java学习笔记:20 ...

  8. 在配有英特尔® Iris™ 显卡的系统上通过优化对 Just Cause 3 进行增强

    高端 PC 继续通过高性能显卡驱动桌面游戏. 一流的"梦想机器"基于第六代智能 英特尔® 酷睿™ 处理器i7-6700K等 CPU,通常与高端独立显卡配合使用以运行要求最严苛的游戏 ...

  9. G2 2.0 更灵活、更强大、更完备的可视化引擎!

    概述 G2作为一款技术产品,自诞生以来,服务于广大的Web工程师群体和一部分数据分析师.一直来,G2 因其易用的语法和扎实的可视化理论基础,广受使用者好评.G2 1.x 的可视化能力已经非常强大,使用 ...

  10. 实时语音趣味变声,大叔变声“妙音娘子”Get一下

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯游戏云 发表于云+社区专栏 游戏社交化是近年来游戏行业发展的重要趋势,如何提高游戏的社交属性已成为各大游戏厂商游戏策划的重要组成部 ...

随机推荐

  1. Prism导航

    通常,导航意味着某个Control被添加到UI中,与此同时另一个Control被移除. 简单跳转 新建 UserControl,新建ViewModel,VM需要实现 INavigationAware ...

  2. Java 判断一个字符串是否是对称字符串 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

    代码如下: public static void main(String[] args) { String str = "1QabcdcbaQ"; StringBuilder sb ...

  3. 【Python】爬虫-Xpath

    Xpath 文章参考:https://www.cnblogs.com/mxjhaima/p/13775844.html#案例 安装 pip install lxml 引用 from lxml impo ...

  4. Node版本更新及切换

    Node版本升级 # 清除npm缓存 npm cache clean -f # n模块是专门用来管理nodejs的版本,安装n模块 npm install -g n 1.Windows 由于n命令是在 ...

  5. Mybatis(生命周期 )

    生命周期和作用域 生命周期和作用域,是至关重要的,因为错误的使用导致非常严重并发问题 对象声明周期和依赖注入框架 依赖注入框架可以创建线程安全的,基于事务的SqlSession和映射器,并将它们直接注 ...

  6. Go语言的Printf用法

    在 Go 语言中,Printf 是用于格式化输出的函数,用于将数据以指定格式打印到标准输出或其他输出流.其中,%p 是 Printf 函数的一个格式化动词,用于输出指针的值. 以下是 %p 的详细说明 ...

  7. Cilium系列-5-Cilium替换KubeProxy

    系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...

  8. javascript报错: TypeError: (0 , _api_music.default) is not a function

    报错截图 错误原因 从其他文件引入变量时,未添加花括号 错误写法 解决方案 效果图 至此问题解决

  9. 如何在CMD窗口运行python文件

    进入文件所在的路径输入: python  文件名

  10. Django:TypeError: view must be a callable or a list/tuple in the case of include().

    错误: path("uploads/(?P<path>.*)$", 'django.views.static.serve', {"document_root& ...