使用Easywaf防御WEB攻击

Web应用程序防火墙(WAF)是一种用于在应用程序级别保护组织的安全设备。WAF通过监控、过滤和分析互联网和web应用程序之间的流量来实现这一目标。作为反向代理,通用web应用程序防火墙的目的是保护应用程序免受恶意请求的影响,并在恶意请求到达web应用程序或用户之前将其停止。由于应用程序是攻击者连接有价值数据的手段,因此它们也是漏洞的主要来源,这使得实施正确的WAF成为一个关键步骤。有鉴于此,WAF可保护组织免受一系列应用层攻击,包括SQL注入、跨站点脚本(XSS)攻击、跨站点请求伪造(CSRF)、拒绝服务(DoS)和分布式拒绝服务(DDoS)攻击、cookie中毒和零日攻击。

Easywaf是开源的WEB应用防火墙,基于openresty开发,可以保护WEB应用或API接口,阻断常见的web攻击。同时Easywaf提供友好的后台管控界面,支持IP、URL、Referer、User-Agent等HTTP常见字段的自定义访问规则。

项目地址:GitHub - sk15Team/easywaf: An open source web application firewall based on openresty, suitable for small and medium-sized enterprises.

Easywaf 理论上支持的网关类型

基于lua_nginx模块开发网关,例如openresty,ingress-nginx,kong,apisix等理论上都可以使用。

在线体验

基于docker环境安装体验:

1. 创建docker网络

docker network create waf

2. 运行mysql服务

docker run --net waf --name  mysql -e MYSQL_ROOT_PASSWORD=easywaf -d sk15team/wafmysql:1.0

如更改了MYSQL_ROOT_PASSWORD,需要到后台后端docker内修改相应DB配置。

3. 运行ES服务

docker run -d --name elasticsearch --net waf  -e "discovery.type=single-node" elasticsearch:7.17.6

ES需要占用的内存较大,如果快速体验,无需日志功能,则可省略此服务。亦可使用已有自建的ES服务。

4. 启动后台后端服务

docker run -d --name backend --net waf sk15team/wafbackend:1.0

5. 启动后台前端服务

docker run -d --name frontend --net waf -p 8089:80 sk15team/waffrontend:1.0

6. 启动WAF节点

docker run -d --name agent --net waf -p 8000:80 -e "WAF_HOSTNAME=$(hostname)" -e "WAF_API_TOKEN=f26320c31aa756551df12480dbbe1eb8" -e "WAF_HOST=http://backend:8199" sk15team/waf:1.0
  • 访问localhost:8089即可打开后台,默认密码为admin/easywaf。如您的WAF后台需要部署在公网,请立即修改默认口令
  • 初次启动节点可能会存在规则获取失败的情况,请等待10S左右。规则同步成功后,使用命令curl http://localhost:8000/nohup.out测试,规则生效则会返回阻断页面内容。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值