php waf 搭建,如何构建属于自己的nginx waf防火墙 VeryNginx

a443d1b5849be1c9241920ff5974ac83.png

35cc7e272331c9ef19f9a36ca5bcc73b.png

构建自己防火墙的原因 : 需要对特定链接进行防cc攻击  但对某些链接不需要进行防cc攻击

技术选型: 基于 nginx + lua 的 verynginx

1、首先verynginx 需要nginx   编译安装模块  或者使用openresty

lua-nginx-module

http_stub_status_module

http_ssl_module

2、verynginx 自带的openresty(nginx)安装脚本  可以一键安装 因为我使用的是宝塔面板 不能使用他的一键安装脚本 或者你可以自己安装openresty   安装连接http://openresty.org/cn/installation.html

3、下面开始安装  verynginx

[root@localhost]git clone https://github.com/alexazhou/VeryNginx.git #克隆verynginx仓库

[root@localhost]mkdir -p /opt/verynginx #创建 vernginx 安装目录

[root@localhost]cd verynginx #进入verngin目录

[root@localhost]cp -r -f ./verynginx /opt/verynginx 复制文件

4、将下面三条代码放入 nginx  http 配置块外部,http 配置块内部,server 配置块内部,

include /opt/verynginx/verynginx/nginx_conf/in_external.conf;

include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;

include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;

5、注意如果开起了nginx vhost模式 有个server 模块就要放几个server 这时候重载 openresty (nginx)配置或者重启就可以  访问响应域名后面加上 vn/index

6、遇到的坑 首先系统后台是使用thinkphp 开发这是时候 我发现 明明开启了防止下载 sql文件 但是我访问  http://demo.com/1.sql 是无法触发拦截规则的  伪静态如下:

location / {

if (!-e $request_filename){

rewrite ^(.*)$ /index.php?s=$1 last; break;

}

}

#问题出此案在 if这个判断 !-e $request_filename 这句代表如果不存在文件的话会直接 执行 rewrite规则 也就是说我访问的是 http://demo.php/1.sql 因为目录下没有 1.sql 其实域名实际访问的是 http://demo.php/index.php?s=1.sql 所以没有触发下载限制 但当 目录下存在 1.sql 就会出现警告 没有的话 报的404 是thinphp返回的 所以虽然没有触发 但对于安全还是有用的

7、请求访问顺序

Nginx Rewrite -> VeryNginx Rewrite -> Nginx aceess -> VeryNginx Access

8、有兴趣的小伙伴可以给我留言一起探讨 nginx waf防火墙  lua是天生适合做nginx waf语言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FFS Firewall是一款基于PHP编写的,轻量级的,免费的,开源的,应用程序防火墙,能够为您的网站提供抵抗DDOS攻击的能力。 FFS Firewall的处理核心仅3KB不到,对整站系统的负担微乎其微。 FFS Firewall一共有两层防御机制: 其一是代理隔绝,可以抵抗由代理服务器发起的攻击请求(绝大部分的CC攻击就是如此),不过需要注意的是,如果您的网站使用了CDN加速服务,请不要开启代理隔绝,否则CDN节点的同步请求也会被阻断。 其二是用户行为过滤,主要是依靠session对来访用户进行过滤,过滤规则由网站管理员制定,因此防御策略是灵活多变的。 PS:很多人说软防无用,其实这是很错误的观点。即使是在今天,DDOS攻击仍然是无法彻底解决的老问题。不管是硬件防火墙还是软件防火墙,都只能降低DDOS攻击对服务的影响。FFS Firewall也许无法解决大规模的DDOS攻击,但是还是可以有效地降低DDOS攻击对站点的影响。研发这个防火墙,也是因为本人的站点受到某蛋疼人士的长期攻击,对站点服务造成了巨大的影响。FFS Firewall已经率先在本人的站点应用,上线1天,拦截攻击达万次。 由此可见还是发挥了一些作用。 PS2:其实这个东西还有个作用就是打击恶意用户,从某种角度上说,一个蛋疼的人一直刷新网站页面也是一种攻击,通过设定过滤规则揪出恶意用户,关进小黑屋,就能确保对其他正常用户提供稳定服务。 FFS Firewall由FFS-Dev开发,永久免费开源,同时也欢迎各位完善这个小程序。 使用本程序之前请务必阅读使用说明和使用协议。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值