本文作者:不许人间见白头

Linux下Tengine结合lua防御cc攻击

不许人间见白头 2个月前 ( 12-15 ) 77

下载和安装 tengine 与 luajit

tengine下载地址 http://tengine.taobao.org/   选择稳定的安装包下载编译安装即可。这里用的包是 tengine-2.1.1.tar.gz。

luajit 下载地址 http://luajit.org/download.html  选择稳定的安装包下载编译安装即可。这里用的包是LuaJIT-2.0.4.tar.gz。

安装的步骤如下:

1、安装环境需要的基础文件

[root@ahao01 ~]# yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel -y

2、下载和安装 LuaJIT-2.0.4.tar.gz

[root@ahao01 src]# wget  LuaJIT-2.0.4.tar.gz

[root@ahao01 src]# tar -zxvf LuaJIT-2.0.5.tar.gz

[root@ahao01 src]# cd LuaJIT-2.0.5

[root@ahao01 LuaJIT-2.0.5]# make

注意:make[1]: Leaving directory `/usr/local/src/LuaJIT-2.0.5/src'

==== Successfully built LuaJIT 2.0.5 ====

出现这个表示make成功,接着下一步

[root@ahao01 LuaJIT-2.0.5]# make install PREFIX=/usr/local/luajit

3、下载和安装 tengine-2.1.1.tar.gz

[root@ahao01 ~]# cd /usr/local/src/

[root@ahao01 src]# wget http://tengine.taobao.org/download/tengine-2.1.1.tar.gz 

[root@ahao01 src]# tar -zxvf tengine-2.1.1.tar.gz 

[root@ahao01 src]# cd tengine-2.1.1

# ./configure --prefix=/usr/local/nginx --with-http_lua_module --with-luajit-lib=/usr/local/luajit/lib/ --with-luajit-inc=/usr/local/luajit/include/luajit-2.0/ --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib

[root@ahao01 tengine-2.1.1]# make && make install

下载和配置 ngx_lua_waf

nginx下常见的开源 waf 有 mod_security、naxsi、ngx_lua_waf 这三个,ngx_lua_waf 性能高和易用性强,基本上零配置,而且常见的攻击类型都能防御,是比较省心的选择。

下载配置文件

[root@ahao01 ~]# cd /usr/local/src/

[root@ahao01 src]# wget  

[root@ahao01 src]# unzip ngx_lua_waf-master.zip

3. 移动到nginx的目录下

[root@ahao01 src]# mv ngx_lua_waf-master /usr/local/nginx/conf/waf

4. 修改 ngx_lua_waf 配置文件适应当前的 nginx 环境。修改以下文件的三行即可(修改/usr/local/nginx/conf/waf下的config.lua文件,将RulePath和logdir改为实际的目录:

RulePath = "/usr/local/nginx/conf/waf/wafconf/"attacklog = "on"logdir = "/usr/local/nginx/logs/waf"

修改 tengine 的配置文件应用 ngx_lua_waf

在 nginx.conf 的 http 段添加

lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;init_by_lua_file 
/usr/local/nginx/conf/waf/init.lua;
access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

启动 tengine--nginx 服务

[root@ahao01 conf]# /usr/local/nginx/sbin/nginx  

-tthe configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@ahao01 conf]# /usr/local/nginx/sbin/nginx  -s reload

测试攻防的效果

任意文件读取测试示例输出:

2. sql 注入测试示例输出:

文章版权及转载声明

作者:不许人间见白头本文地址:https://www.ahaoyw.com/article/168.html发布于 2个月前 ( 12-15 )
文章转载或复制请以超链接形式并注明出处阿豪运维笔记

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏