openresty搭建网站防火墙

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
简介: openresty搭建网站防火墙

在上一篇文章(diy 你的nginx-OpenResty)中,已经提到了如何安装一个openresty,现在我们可以通过开源项目 https://github.com/loveshell/ngx_lua_waf

实现一个简单的防火墙,例如:

当我提交一个 select * from 疑似 sql注入的参数时,则会直接被拦截

下载waf配置:

wget https://github.com/loveshell/ngx\_lua\_waf/archive/v0.7.2.tar.gz

解压文件并将

./config.lua,

./init.lua,

./waf.lua,

./wafconf/*

文件移动到你的项目目录

例如在上篇文章中的openrestyTest/config 目录:

\[root@tioncico-server openrestyTest\]# tree 
.
├── client\_body\_temp
├── conf
│   ├── nginx.conf
│   └── waf
│       ├── config.lua
│       ├── init.lua
│       ├── wafconf
│       │   ├── args
│       │   ├── cookie
│       │   ├── post
│       │   ├── url
│       │   ├── user-agent
│       │   └── whiteurl
│       └── waf.lua
├── index.php
├── logs
│   ├── access.log
│   ├── error.log
│   └── hack
│       └── xxx.easyswoole.cn\_2020-11-23\_sec.log

新增./log/hack/目录,并且将 ./conf/waf/config.lua里面的RulePath,logdir路径修改为正确路径

image.png

在nginx.conf中的http块中新增代码:

lua\_package\_path "/usr/local/openresty/lualib/?.lua;/www/wwwroot/homeTest/openrestyTest/conf/waf/?.lua";
lua\_shared\_dict limit 10m;
access\_by\_lua_file /www/wwwroot/homeTest/openrestyTest/conf/waf/waf.lua;
init\_by\_lua_file  /www/wwwroot/homeTest/openrestyTest/conf/waf/init.lua;

注意:lua_package_path,必须引入openresty安装目录的lualib,然后增加一个分号,引入当前项目的waf/?.lua,否则将会报错:

nginx: [alert] failed to load the 'resty.core' module (https://github.com/openresty/lua-resty-core); ensure you are using an OpenResty release from https://openresty.org/en/download.html (reason: module 'resty.core' not found:

直接启动项目,在项目后面增加:  ?id=select%20*%20from%20information_schema

即可触发waf防护

目录
相关文章
|
缓存 应用服务中间件 网络安全
Nginx + Lua 搭建网站WAF防火墙
Nginx + Lua 搭建网站WAF防火墙目录: 前言1.在线安装1.1.修改yum源地址1.2.在线安装Nginx1.3.端口放行1.4.验证安装2.知识拓展2.1.编译参数2.2.安装目录2.3.
3052 0
|
5天前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
4月前
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
|
3月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
242 73
|
1月前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
47 0
|
4月前
|
Linux 网络安全
linux关闭方防火墙的命令
linux关闭方防火墙的命令
91 2
|
5月前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
4月前
|
Linux 网络安全
在Linux中,如何设置防火墙规则?
在Linux中,如何设置防火墙规则?
|
4月前
|
Linux 网络安全
在Linux中,iptables和firewalld两种防火墙如何使用?
在Linux中,iptables和firewalld两种防火墙如何使用?
|
4月前
|
安全 Linux 测试技术
在Linux中,如何配置防火墙和安全规则?
在Linux中,如何配置防火墙和安全规则?

热门文章

最新文章