如何使用PoW-Shield防御DDoS和垃圾邮件攻击

关于PoW-Shield

PoW-Shield是一款功能强大的网络安全防御工具,该工具可以帮助广大研究人员和用户抵御DDoS攻击和垃圾邮件攻击。除此之外,PoW-Shield还带有Web应用防火墙功能,并提供了Docker镜像以方便实现快速轻量级部署。

PoW-Shield可以通过充当代理的形式,并利用后端服务和最终用户之间的工作证明,在OSI应用层提供DDoS保护。该项目旨在提供针对通用验证码方法的替代方案,比如说Google的ReCaptcha,而这一点对于社区来说一直都是一个难题。访问受PoW-Shield保护的Web服务也非常简单,直接打开浏览器并填写目标站点URL,浏览器将会自动为我们完成剩余的安全验证。

PoW-Shield旨在通过一个单一Web应用或Docker镜像提供下列服务:

  • 工作证明验证
  • 访问频率限制和IP黑名单
  • Web应用程序防火墙

功能介绍

  • Web服务结构
  • 代理功能
  • PoW实现
  • Docker化部署
  • IP黑名单功能
  • 访问频率限制
  • 单元测试
  • Web应用程序防火墙实现
  • 多实例同步(Redis)

工具下载&使用

Node.js

首先,我们可以使用下列命令将该项目源码克隆至本地:

  1. git clone https://github.com/RuiSiang/PoW-Shield.git 

接下来,安装该工具所需的依赖组件:

  1. npm install 

然后配置工具相关信息:

  1. cp -n .env.example .env 
  2.  
  3. # edit .env 
  4.  
  5. nano .env 

运行下列命令执行代码构建:

  1. npm run build 

执行并同时启动数据库(建议使用轻量级的Redis):

  1. # install redis first 
  2.  
  3. # sudo apt-get install redis-server 
  4.  
  5. npm start 

执行但不启动数据库:

  1. npm run start:standalone # linux 
  2.  
  3. npm run start:standalone-win # windows 

测试工具功能(可选):

  1. npm test 

Docker(库)

Docker带Redis数据库运行:

  1. docker run -p 3000:3000 -e BACKEND_URL="http://example.com" -d ruisiang/pow-shield 

Docker不带数据库运行:

  1. docker run -p 3000:3000 -e BACKEND_URL="http://example.com" -e NODE_ENV="standalone" -d ruisiang/pow-shield 

Docker-Compose

首先我们需要使用下列命令配置docker-compose.example.yaml:

  1. cp -n docker-compose.example.yaml docker-compose.yaml 
  2.  
  3. # edit docker-compose.yaml 
  4.  
  5. nano docker-compose.yaml 

接下来,我们就可以启动容器了:

  1. docker-compose up 

工具配置

配置方法:

  1. nodejs:(样例:.env.example) 
  2.  
  3. docker-compose:docker-compose.yaml(样例:docker-compose.example.yaml) 
  4.  
  5. docker run:-e参数 

环境变量

常用配置:

  • PORT:待监听端口,默认为3000
  • SESSION_KEY:cookie签名所需的密钥
  • BACKEND_URL:代理验证流量的目的地址,接受IP和URL

数据库选项(Redis):

  • DATABASE_HOST:Redis服务主机地址,默认为127.0.0.1
  • DATABASE_PORT:Redis服务端口,默认为6379
  • DATABASE_PASSWORD:Redis服务密码,默认为空

PoW选项:

  • POW:是否开启PoW功能,默认为on(开)
  • NONCE_VALIDITY:指定Nonce生成后多久才发送至服务器,默认为60000
  • INITIAL_DIFFICULTY:初始难度,生成的哈希中前导0位的数量,默认为13

访问频率选项:

  • RATE_LIMIT:是否开启频率限制,默认为on(开)
  • RATE_LIMIT_SAMPLE_MINUTES:指定会话/ip的统计信息重置间隔分钟数,默认为60
  • RATE_LIMIT_SESSION_THRESHOLD:单个会话在触发令牌撤销之前能发送的请求数量,默认为100
  • RATE_LIMIT_BAN_IP:是否开启IP黑名单功能,默认为on(开)
  • RATE_LIMIT_IP_THRESHOLD:指定会话/ip在地址被拉黑之前发送的请求数量,莫尔奈威500
  • RATE_LIMIT_BAN_MINUTES:IP地址拉黑时间,默认为15分钟

WAF选项:

  • WAF
  • WAF_URL_EXCLUDE_RULES:是否开启Web应用防火墙,默认为on(开)
  • WAF_HEADER_EXCLUDE_RULES:在扫描请求URL时引入额外规则
  • WAF_BODY_EXCLUDE_RULES:在扫描请求Body时引入额外规则

许可证协议

本项目的开发与发布遵循BSD 3-Clause开源许可证协议。

功能演示视频

视频地址:https://you*tu.be/zeNKUDR7_Jc

项目地址

PoW-Shield:【GitHub传送门

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/130448.html<

(0)
管理的头像管理
上一篇2025-02-26 02:19
下一篇 2025-02-26 02:20

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注