重新打包了tengine,整合了開箱即用的基於lua的web應用防火牆,特別感謝agentzh和loveshell 。
由於lua屬於解釋性的指令碼語言,因此可以不用重啟nginx,就可以方便地修改lua指令碼中的規則。
二進位制軟體包內容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# rpm -qpl tengine-1.5.2-3.waf.el6.x86_64.rpm
/etc/logrotate
.d
/nginx
/etc/nginx
/etc/nginx/browsers
/etc/nginx/conf
.d
/etc/nginx/conf
.d
/default
.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime
.types
/etc/nginx/module_stubs
/etc/nginx/modules
/etc/nginx/nginx
.conf
/etc/nginx/waf/config
.lua
/etc/nginx/waf/init
.lua
/etc/nginx/waf/rules
.d
/etc/nginx/waf/rules
.d
/args
/etc/nginx/waf/rules
.d
/cookie
/etc/nginx/waf/rules
.d
/post
/etc/nginx/waf/rules
.d
/url
/etc/nginx/waf/rules
.d
/user-agent
/etc/nginx/waf/rules
.d
/whiteurl
/etc/nginx/waf/waf
.conf
/etc/nginx/waf/waf
.lua
/etc/nginx/win-utf
/etc/rc
.d
/init
.d
/nginx
/etc/sysconfig/nginx
/usr/sbin/dso-tool
/usr/sbin/nginx
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x
.html
/usr/share/nginx/html/index
.html
/var/cache/nginx
/var/log/nginx
所謂web 應用防火牆,即waf,實際上就是乙個基於正則的黑名單,對於web請求中的不安全行為進行過濾,比如特殊的請求引數,url等。
注意:本文的waf 工作在nginx的http段,而不是server段。
假設訪問乙個不存在的檔案,本應該在server段匹配後,返回404,但是有了waf,非法訪問來不及到server段,就被攔截了,直接返回http 200 。
效果圖如下:
如果你覺得直接返回 「blocked by waf」比較暴力,
1
html=[[document.location =
''
<
/script
><
/html
>]]
(從fedora 19 移植而來)
參考文章
注:附件上傳時直接加了zip字尾,無需解壓。
update 2014-08-07
發現乙個小bug,lua無法寫攻擊日誌,改變/var/log/nginx 目錄許可權即可
1
chown
nginx:nginx
/var/log/nginx
附件:
編譯打包 帶web防火牆的tengine
重新打包了tengine,整合了開箱即用的基於lua的web應用防火牆,特別感謝agentzh和loveshell 由於lua屬於解釋性的指令碼語言,因此可以不用重啟nginx,就可以方便地修改lua指令碼中的規則。二進位制軟體包內容如下 rpm qpl tengine 1.5.2 3.waf.el...
web防火牆和waf防火牆的區別和選擇
首先說下被很多老鳥或小白混要的一些說法,web防火牆和waf防火牆不屬於乙個東西.真的,看我解釋.web應用防火牆,屬於硬體級別防火牆.對 流量進行惡意特徵識別及防護,將正常 安全的流量回源到伺服器。避免 伺服器被惡意入侵,保障業務的核心資料安全,解決因惡意攻擊導致的伺服器效能異常問題。程式的正常,...
web防火牆和waf防火牆的區別和選擇
首先說下被很多老鳥或小白混要的一些說法,web防火牆和waf防火牆不屬於乙個東西 web應用防火牆,屬於硬體級別防火牆 對 流量進行惡意特徵識別及防護,將正常 安全的流量回源到伺服器。避免 伺服器被惡意入侵,保障業務的核心資料安全,解決因惡意攻擊導致的伺服器效能異常問題。程式的正常,強依賴的安全產品...