日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

朋友的一個(gè) wordPress/ target=_blank class=infotextkey>WordPress 站經(jīng)常訪問慢??戳艘幌氯罩荆l(fā)現(xiàn)整天被掃描網(wǎng)站目錄,如phpmyadmin 或者 SQL 文件,和被 CC攻擊。

找了一下,發(fā)現(xiàn) ngx_lua_waf 是個(gè)不錯(cuò)的方案,但是太久不更新了,而且代碼我看不懂,猝

最后找到 oneinstack 一鍵包內(nèi)置的 ngx_lua_waf,基于之前的代碼,不過重構(gòu) 了,這下我能看懂了,以后要修改也能簡單一些

介紹

ngx_lua_waf 是一個(gè)高性能的輕量級 web 應(yīng)用防火墻,基于 lua-Nginx-module。

給你的Nginx加個(gè)防火墻

 

它具有以下功能:

防止sql注入,本地包含,部分溢出,fuzzing測試,xss,SSRF等web攻擊
防止svn/備份之類文件泄漏
防止ApacheBench之類壓力測試工具的攻擊
屏蔽常見的掃描黑客工具,掃描器
屏蔽異常的網(wǎng)絡(luò)請求
屏蔽圖片附件類目錄php執(zhí)行權(quán)限
防止webshell上傳

經(jīng)過 unixhot 的修改和重構(gòu),擁有了以下功能:

支持IP白名單和黑名單功能,直接將黑名單的IP訪問拒絕
支持URL白名單,將不需要過濾的URL進(jìn)行定義
支持User-Agent的過濾,匹配自定義規(guī)則中的條目,然后進(jìn)行處理(返回403)
支持CC攻擊防護(hù),單個(gè)URL指定時(shí)間的訪問次數(shù),超過設(shè)定值,直接返回403
支持Cookie過濾,匹配自定義規(guī)則中的條目,然后進(jìn)行處理(返回403)
支持URL過濾,匹配自定義規(guī)則中的條目,如果用戶請求的URL包含這些,返回403
支持URL參數(shù)過濾,原理同上
支持日志記錄,將所有拒絕的操作,記錄到日志中去
日志記錄為JSON格式,便于日志分析,例如使用ELKStack進(jìn)行攻擊日志收集、存儲、搜索和展示

這些功能剛好能滿足我朋友的需求

安裝

安裝起來也是相當(dāng)容易,說白了就是給 nginx 增加 ngx_devel_kit、lua-nginx-module 這兩個(gè)模塊,然后再修改 nginx 配置來運(yùn)行 ngx_lua_waf。

一鍵安裝

一鍵命令我已經(jīng)給你們準(zhǔn)備好了,一鍵命令會編譯 nginx-1.15.6,編譯的詳細(xì)模塊可以看我的這篇帖子 https://zhih.me/make-your-website-support-tls1-3 ,當(dāng)然你也可以直接看腳本的代碼

sh -c "$(curl -kfsSl https://raw.githubusercontent.com/xzhih/nginx-compile/master/install.sh)"

手動安裝

下載 ngx_lua_waf 防火墻的各種依賴及模塊

cd /usr/src/
wget https://github.com/openresty/luajit2/archive/v2.1-20181029.tar.gz
tar xzvf v2.1-20181029.tar.gz
mv luajit2-2.1-20181029 luajit-2.1

wget https://github.com/openresty/lua-cjson/archive/2.1.0.6.tar.gz
tar xzvf 2.1.0.6.tar.gz
mv lua-cjson-2.1.0.6 lua-cjson

wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1rc1.tar.gz
tar xzvf v0.3.1rc1.tar.gz
mv ngx_devel_kit-0.3.1rc1 ngx_devel_kit

wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz
tar xzvf v0.10.13.tar.gz  
mv lua-nginx-module-0.10.13 lua-nginx-module

編譯安裝 luajit

cd luajit-2.1
make -j2 && make install
echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf
ldconfig

編譯安裝 lua-cjson

cd /usr/src/lua-cjson
export LUA_INCLUDE_DIR=/usr/local/include/luajit-2.1 
make -j2 && make install

設(shè)置 LUAJIT 環(huán)境變量

export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.1

編譯 nginx 的時(shí)候加上以下兩個(gè)模塊

--add-module=../lua-nginx-module
--add-module=../ngx_devel_kit

下載配置 ngx_lua_waf

cd /usr/local/nginx/conf/
git clone https://github.com/xzhih/ngx_lua_waf.git waf 

cat > /usr/local/nginx/conf/waf.conf << EOF
lua_shared_dict limit 20m;
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
init_by_lua_file "/usr/local/nginx/conf/waf/init.lua";
access_by_lua_file "/usr/local/nginx/conf/waf/access.lua";
EOF

mkdir -p /usr/local/nginx/logs/waf 
chown www-data:www-data /usr/local/nginx/logs/waf

你可以在 /usr/local/nginx/logs/waf 找到防火墻日志

在 nginx.conf 里 include waf.conf

include waf.conf;

啟動 nginx 并訪問 http://你的IP/?a=a.sql

就可以看到防火墻提示了

Copyright

https://github.com/lj2007331/ngx_lua_waf

https://github.com/loveshell/ngx_lua_waf

https://github.com/unixhot/waf

分享到:
標(biāo)簽:防火墻 Nginx
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定