博客
关于我
WAF安全应用防火墙(nginx+lua)
阅读量:87 次
发布时间:2019-02-26

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

Nginx 403 ? 404 ?????? WAF ????

Nginx ??????? HTTP ?????????????????? web ???????? Nginx????????? 403 ? 404 ??????????Nginx ??????? Lua ????????? web ??????WAF???????????????? Nginx ? 403 ? 404 ????????? Nginx ?? Lua ????? WAF ??????


Nginx ?? 403 ???

??? Nginx ?? 403 ?????????????????????????????????????

set $block_user_agent 0;if ($http_user_agent ~ "Wget|AgentBench") {    set $block_user_agent 1;}if ($block_user_agent = 1) {    return 403;}

??????????? "Wget" ? "AgentBench" ?????????? 403 ????


Nginx ?? 404 ???

??? Nginx ?? 404 ????????? Nginx ???????????????????????????????

location ~* "\.(sql|bak|zip|tgz|tar.gz)" {    return 404;}

??????????? .sql?.bak?.zip?.tgz ? .tar.gz ???????????? 404 ????


Nginx ?? Lua ???? WAF ??

Nginx ?????????????????? WAF ????????? Nginx ? Lua ??????????????

????

??????? Nginx ? PCRE ???????????

# ?? Nginx ??wget http://nginx.org/download/nginx-1.9.4.tar.gz# ?? PCRE ??wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz# ?? LuaJIT ? Nginx ??????NDK?wget http://luajit.org/download/LuaJIT-2.0.3.tar.gzwget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gzwget https://github.com/openresty/lua-nginx-module/archive/v0.9.16.tar.gz# ?? Nginx ???????useradd -s /sbin/nologin -M www

????? LuaJIT ? Nginx ??

????? LuaJIT ??????

# ?? LuaJIT ??tar -zxvf LuaJIT-2.0.3.tar.gz# ?? Nginx ?????? Lua ??tar -zxvf ngx_devel_kit-0.2.19.tar.gztar -zxvf lua-nginx-module-0.9.16.tar.gz

?? LuaJIT ? Nginx

?? LuaJIT ? Nginx?

# ?? PCREtar -zxvf pcre-8.40.tar.gz# ?? Nginxtar -zxvf nginx-1.9.4.tar.gz# ?? Nginx ????cd nginx-1.9.4# ?? Nginx ????????export LUAJIT_LIB=/usr/local/libexport LUAJIT_INC=/usr/local/include/luajit-2.0# ?? Nginx ??????./configure --prefix=/usr/local/nginx --user=www --group=www \    --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-http_dav_module \    --add-module=../ngx_devel_kit-0.2.19/ --add-module=../lua-nginx-module-0.9.16/ \    --with-pcre=/usr/local/src/pcre-8.40# ????? Nginxmake -j2 && make install

??????

???? LuaJIT ??????

ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

????

???????????? Nginx ??????????????

location /hello {    default_type 'text/plain';    content_by_lua 'ngx.say("hello, lua")';}

???????? Nginx ???

/usr/local/nginx-1.9.4/sbin/nginx -t/usr/local/nginx-1.9.4/sbin/nginx

??????????????? Nginx ? 403 ? 404 ??????????????? Lua ????????? WAF ??????????? WAF ???????????????????

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

你可能感兴趣的文章
Python中*args和**kwargs的使用
查看>>
python中0、1、True、False、if条件
查看>>
python中argparse模块关于 parse_args() 函数详解(全)
查看>>
python中base64编码与解码
查看>>
python中break怎么用_详解Python中break语句的用法
查看>>
python中del函数的垃圾回收
查看>>
Python中DrissionPage的详细解析与实战
查看>>
python中enumerate、变量类型转换
查看>>
python中execute是啥_python – 为什么“c.execute(…)”打破循环?
查看>>
python中exit和break区别_Python中exit()和sys.exit()之间的区别
查看>>
python中h5的用法
查看>>
python中http协议编程_HTTP编程
查看>>
python中import os_Python:相对导入与绝对导入(import)、os.path、__file__
查看>>
python中is和==操作符
查看>>
Python中range对象的使用以及打印九九乘法表
查看>>
Python中set.discard和set.remove方法之间的运行时差异?
查看>>
python中tkinter中value_输入字段中的python Tkinter get()值
查看>>
Python中wx.FlexGridSizer
查看>>
Python中xPath技术和BeautifulSoup的使用
查看>>
python中yield的用法详解——最简单,最清晰的解释
查看>>