OpenResty安装使用教程(CentOS 6)

一、安装OpenResty

Linux官方建议直接通过官方提供的预编译包安装:http://openresty.org/cn/linux-packages.html

# 确保yum周边工具已经安装
yum install yum-utils -y
# 添加仓库
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
# 安装openresty
yum install openresty -y

openresty默认安装在/usr/local/openresty,其中已自带nginx。

二、使用安全规则ngx_lua_waf

2.1 ngx_lua_waf介绍

我不明白为什么很多软件不提供默认配置,比较很多暴力破解软件不提供弱口令文件snort有段时间也不提供默认规则,openresty也不提供默认规则。

不过还好有人自己写了规则分享出来:https://github.com/loveshell/ngx_lua_waf

2.2 ngx_lua_waf加载到nginx

下载规则文件:

git clone https://github.com/loveshell/ngx_lua_waf.git
mv ngx_lua_waf/ /usr/local/openresty/nginx/conf/waf

纠正nginx位置。因为规则默认nginx安装在/usr/local/nginx,我们需要编缉config.lua纠正nginx位置,主要是RulePath和logdir两项:

RulePath = "/usr/local/openresty/nginx/conf/waf/wafconf/"
logdir = "/usr/local/openresty/nginx/logs/hack/"

创建拦截日志文件目录。上面我们设置拦截日志文件目录为/usr/local/openresty/nginx/logs/hack/但该目录尚未存在需要事先创建,且需要赋权给nobody不然没法写:

mkdir /usr/local/openresty/nginx/logs/hack/
chown -R nobody:nobody hack/

加载规则。编缉/usr/local/openresty/nginx/conf/nginx.conf,在http{}内server{}前加入:

lua_shared_dict limit 10m;
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/waf.lua;

使用-t确认配置没有错误:

三、拦截效果测试

默认只对.php和.jsp文件进行规则检测,但因为进行规则检测后进行文件是否存在查询,所以虽然当前nginx没有反向代理php和jsp也没有php和jsp文件但这两个都不用管。

但要注意默认对来自本机的请求是不进行规则过滤的,所以不要在安装OpenResty的机器上curl http://127.0.0.1/test.php?id=../etc/passwd半天,然后说规则怎么没生效。

启动nginx后在另外一台机器上访问(192.168.220.133是我安装OpenResty的机器的ip),效果如下:

进入拦截日志目录检看拦截记录如下:

原文地址:https://www.cnblogs.com/lsdb/p/10008414.html

时间: 2024-10-16 13:10:18

OpenResty安装使用教程(CentOS 6)的相关文章

CentOS 6.8 安装图解教程

CentOS 6.8 安装图解教程 CentOS 6.8 安装图解教程 1.安装CentOS 6.8 用光盘成功引导系统,会出现下面的界面 这里选择第一项,安装或升级现有的系统,回车. 界面说明: 界面说明: Install or upgrade an existing system 安装或升级现有的系统 install system with basic video driver 安装过程中采用 基本的显卡驱动 Rescue installed system 进入系统修复模式 Boot fro

Centos安装smokeping教程

Centos安装smokeping教程 一 .安装基本依赖包 ntpdate time.windows.com #64bit rpm -Uhv http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm #32bit #rpm -Uhv http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release

CentOS 7.2 安装图解教程

CentOS  7.2 安装图解教程 1.安装CentOS7.2 1)成功引导系统后,会出现下面的界面,选择第一个,按回车开始安装. 界面说明: Install CentOS 7 安装CentOS 7 Test this media & install CentOS 7 测试安装文件并安装CentOS 7 Troubleshooting 修复故障 2.选择语言:中文-简体中文(中国) 3.进入一站式安装界面,在此界面,只需把所有带内容的感叹号全部消除,便可进行安装 4.选择分区-自定义分区-选择

ceph详细安装部署教程(多监控节点)

一.前期准备安装ceph-deploy工具 所有的服务器都是用root用户登录的 1.安装环境 系统centos-6.5 设备:1台admin-node (ceph-ploy)  1台 monistor 2台 osd 2.关闭所有节点的防火墙及关闭selinux,重启机器. service iptables stop sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config chkconfig iptables off 3.编辑adm

Zabbix3.x安装图解教程

准备知识: Zabbix3.x比较之前的2.0界面有了很大的变化,但是安装部署过程与2.x基本完全一样. 1.Zabbix2.x安装图解教程 http://www.osyunwei.com/archives/7984.html 2.CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 http://www.osyunwei.com/archives/7891.html 3.zabbix软件包下载 zabbix-3.0.1.tar.gz http://hea

安装Nginx 在 CentOS 7

关于 Nginx Nginx的是一款高性能的Web服务器软件.这是一个更加灵活和轻便的程序比Apache HTTP服务器. 本教程将教你如何安装和你的CentOS7服务器上启动Nginx的. 先决条件 在本教程中的步骤需要用户具有root权限. 你可以看到如何设置由下面与CentOS的7教程中的初始服务器设置步骤3和步骤4. 步骤 1-添加 Nginx源[资源库] 要添加的CentOS7 Nginx的yum软件库,打开SSH终端,并使用下面的命令: sudo rpm -Uvh http://ng

基础知识——CentOS7操作系统的安装图文教程

学习了很久的Linux操作系统,也看了不少的资料,对于操作系统的安装,相对来说都在不断的改进,安装的难度也在不断的降低,操作步骤也变得非常的简单了. 有很多CentOS系统的安装教程,但是比较不全面或者存在着一些错误.或者是讲解不详细,太过概括.这里我们对CentOS系统的安装给出了一份详细的安装方案.以图文共用的方式,希望能够解决大家的困惑. CentOS系统是商业版Red Hat Enterprise Linux(RHEL)的免费版,是架构LAMP的理想操作系统,稳定性非常好,和Ubuntu

hg+rhodecode 安装配置教程

  Hg+Rhodecode安装配置教程 公司最近需要搭建hg+rhodecode,于是下来了解了下: 1) rhodecode官网: http://rhodecode.com/ rhodecode 官方文档: https://docs.rhodecode.com/RhodeCode-Enterprise/ rhodecode介绍: http://www.oschina.net/p/rhodecode svn,git,hg比较: http://www.cnblogs.com/likebeta/a

MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmware.com/web/vmware/details?downloadGroup=WKST-1411-WIN&productId=686&rPId=20814 包名:VMware-workstation-full-12.5.7.20721.exe 2)     Windows版本包