Linux运维之路-安全防护OpenResty
1 OpenResty简介
OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
2 OpenSty安装
系统环境说明: [root@jranson ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@jranson ~]# uname -r 3.10.0-693.21.1.el7.x86_64 安装步骤: 1、安装依赖包 yum install -y readline-devel pcre-devel openssl-devel openssl-devel gcc 2、下载软件包 wget https://openresty.org/download/ngx_openresty-1.9.3.2.tar.gz --no-check-certificate 3、解压 tar -zxvf ngx_openresty-1.9.3.2.tar.gz 4、进入目录,初始化 cd ngx_openresty-1.9.3.2 ./configure --prefix=/usr/local/openresty --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jit 5、编译安装 gmake gmake install
3 功能列表
- 支持白名单和黑名单功能,直接将黑名单的IP访问拒绝。
- 支持URL白名单,将不需要过滤的URL进行定义。
- 支持User-Agent的过滤,匹配自定义规则中的条目,然后进行处理(返回403)。
- 支持CC攻击防护,单个URL指定时间的访问次数,超过设定值,直接返回403。
- 支持Cookie过滤,匹配自定义规则中的条目,然后进行处理(返回403)。
- 支持URL过滤,匹配自定义规则中的条目,如果用户请求的URL包含这些,返回403。
- 支持URL参数过滤,原理同上。
- 支持日志记录,将所有拒绝的操作,记录到日志中去。
- 日志记录为JSON格式,便于日志分析,例如使用ELKStack进行攻击日志收集、存储、搜索和展示。
4 配置waf规则
1、克隆git项目 git clone https://github.com/unixhot/waf.git 2、拷贝至nginx配置文件目录下 cp -a ./waf/waf /usr/local/openresty/nginx/conf/ 3、编辑nginx配置文件,配置规则 vim /usr/local/openresty/nginx/conf/nginx.conf 4、在http块配置里面添加下列配置 http{ lua_shared_dict limit 50m; lua_package_path "/usr/local/openresty/nginx/conf/waf/?.lua"; init_by_lua_file "/usr/local/openresty/nginx/conf/waf/init.lua"; access_by_lua_file "/usr/local/openresty/nginx/conf/waf/access.lua"; 5、waf/config.lua文件可以自定义规则,错误信息等。 6、检查语法,启动openresty /usr/local/openresty/nginx/sbin/nginx -t /usr/local/openresty/nginx/sbin/nginx
5 测试
在浏览器输入ip/a.sql,如果没有定义规则之前的web服务器,用户浏览器会弹出一个下载文件的页面。定义完规则的web服务器会自动匹配到规则,然后拒绝访问,或者重定向到错误页面等等。
相关推荐
wqiaofujiang 2020-06-16
zllbirdonland 2020-06-16
CSDNMrWang 2020-05-11
陈云佳 2020-04-21
Neptune 2020-04-20
aolishuai 2020-04-15
工作中的点点滴滴 2020-02-15
长安长夜Saint 2020-02-14
liwf 2020-01-10
taoqilin 2020-01-09
始终不够 2019-12-06
byourb 2019-11-29
徐中海C 2019-11-17
hong0 2019-11-17
SZStudy 2016-07-27
oLeiShen 2020-06-25
dahege 2020-06-25
咻咻ing 2020-06-14
liwf 2020-06-10