您好,登錄后才能下訂單哦!
ngx_lua_waf是一個基于lua-nginx-module(openresty)的web應用防火墻,對于中小企業或不愿購置硬件防火墻的企業的首選,能有效保證網站的安全性。
源碼:https://github.com/loveshell/ngx_lua_waf
0x1 安裝部署
系統版本:Centos7 x86_64
安裝依賴包
yum install -y readline-devel pcre-devel openssl-devel
1、openresty的安裝配置
cd /usr/local/src
wget https://openresty.org/download/openresty-1.9.15.1.tar.gz
tar -zxvf openresty-1.9.15.1.tar.gz
cd openresty-1.9.15.1
./configure --prefix=/usr/local/openresty-1.9.15.1 --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jit
gmake && gmake install
ln -s /usr/local/openresty-1.9.15.1/ /usr/local/openresty
測試啟動nginx
/usr/local/openresty/nginx/sbin/nginx -t
成功啟動nginx顯示如下
nginx: the configuration file /usr/local/openresty-1.9.15.1/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/openresty-1.9.15.1/nginx/conf/nginx.conf test is successful
啟動nginx
/usr/local/openresty/nginx/sbin/nginx
2、配置nginx_lua_waf
git clone https://github.com/loveshell/ngx_lua_waf.git
將git獲取的文件放到nginx的conf目錄下
在nginx.conf的http段添加
lua_package_path "/usr/local/openresty/nginx/conf/ngx_lua_waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /usr/local/openresty/nginx/conf/ngx_lua_waf/init.lua;
access_by_lua_file /usr/local/openresty/nginx/conf/ngx_lua_waf/waf.lua;
配置config.lua里的waf規則目錄(一般在ngx_lua_waf/wafconf/目錄下)
RulePath = "/usr/local/openresty/nginx/conf/ngx_lua_waf/wafconf"
attacklog = "on"
logdir = "/usr/local/nginx/logs/waf"
3、waf日志配置
#將nginx.conf首行的”# user nobody;”的”#”注釋去掉,重新啟動nginx服務
user nobody
#將防護日志目錄所屬user和group修改為nobody,目錄權限可設為700也可以寫入,當然也可以默認
cd /usr/local/nginx/conf
//chown -R nobay.nobady waf
//chmod 700 waf
因為nginx、php模塊等是單獨安裝的,所以每次重啟服務器都需要重啟相應的服務
啟動nginx
cd /usr/local/openresty/nginx/sbin
./nginx (不關閉nginx而重新加載配置文件 ./nginx -t)
0x2 nginx_lua_waf測試
啟動php
直接執行/usr/sbin/php-fpm
測試SQL注入漏洞
測試結果
測試任意文件讀取
進行CC***測試
通過查看waf_logs可以看到waf攔截的所有的***操作
通過waf_logs可以看到無論是sql注入、任意文件讀取還是CC***都被成功的攔截,waf的部署是成功可靠的!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。