亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

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

朋友的一個 wordPress/ target=_blank class=infotextkey>WordPress 站經常訪問慢。看了一下日志,發現整天被掃描網站目錄,如phpmyadmin 或者 SQL 文件,和被 CC攻擊。

找了一下,發現 ngx_lua_waf 是個不錯的方案,但是太久不更新了,而且代碼我看不懂,猝

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

介紹

ngx_lua_waf 是一個高性能的輕量級 web 應用防火墻,基于 lua-Nginx-module。

給你的Nginx加個防火墻

 

它具有以下功能:

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

經過 unixhot 的修改和重構,擁有了以下功能:

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

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

安裝

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

一鍵安裝

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

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

設置 LUAJIT 環境變量

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

編譯 nginx 的時候加上以下兩個模塊

--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

分享到:
標簽:防火墻 Nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定