博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux运维之路-安全防护OpenResty
阅读量:6784 次
发布时间:2019-06-26

本文共 1663 字,大约阅读时间需要 5 分钟。

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 -r3.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-certificate3、解压tar -zxvf ngx_openresty-1.9.3.2.tar.gz4、进入目录,初始化cd ngx_openresty-1.9.3.2./configure --prefix=/usr/local/openresty --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jit5、编译安装gmakegmake 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.git2、拷贝至nginx配置文件目录下cp -a ./waf/waf /usr/local/openresty/nginx/conf/3、编辑nginx配置文件,配置规则vim /usr/local/openresty/nginx/conf/nginx.conf4、在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服务器会自动匹配到规则,然后拒绝访问,或者重定向到错误页面等等。

转载地址:http://mydgo.baihongyu.com/

你可能感兴趣的文章
混淆js问题
查看>>
vim编辑模式,命令模式
查看>>
Linux日常运维管理技巧-w命令、vmstat 命令、top 命令、sar 命令、nload命令
查看>>
七周二次课(11月28日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包...
查看>>
源码包安装
查看>>
上那些酷炫的数据大屏_你猜是多久搞出来的?
查看>>
3999美元掀价格战,Velodyne宣布16线激光雷达降价50%
查看>>
java.lang.NoSuchMethodError问题分析
查看>>
Spring Ioc的实现----------用idea实现控制反转
查看>>
Java基础——变量
查看>>
跨域获取图片并自行上传保存
查看>>
Junit,Mockito,PowerMockito 进行单元测试
查看>>
要通过面试,Lamdba要了解多少?
查看>>
vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴
查看>>
PHP安装
查看>>
mysql用户管理-常用sql-数据库备份恢复
查看>>
springcloud应用程序上下文层次结构
查看>>
UI2Code智能生成Flutter代码--整体设计篇
查看>>
<java8>Java8 Optional 的使用
查看>>
教你怎样使用Spring Boot开发邮件系统?
查看>>