add syslog client
parent
a2b218ab0e
commit
f7e2e7c58d
55
waf.lua
55
waf.lua
|
@ -1,16 +1,67 @@
|
||||||
|
function syslog(msg)
|
||||||
|
ngx.header.content_type = "text/html"
|
||||||
|
kern = 0
|
||||||
|
user = 1
|
||||||
|
mail = 2
|
||||||
|
daemon = 3
|
||||||
|
auth = 4
|
||||||
|
syslog = 5
|
||||||
|
lpr = 6
|
||||||
|
news = 7
|
||||||
|
uucp = 8
|
||||||
|
cron = 9
|
||||||
|
authpriv = 10
|
||||||
|
ftp = 11
|
||||||
|
local0 = 16
|
||||||
|
local1 = 17
|
||||||
|
local2 = 18
|
||||||
|
local3 = 19
|
||||||
|
local4 = 20
|
||||||
|
local5 = 21
|
||||||
|
local6 = 22
|
||||||
|
local7 = 23
|
||||||
|
|
||||||
|
emerg = 0
|
||||||
|
alert = 1
|
||||||
|
crit = 2
|
||||||
|
err = 3
|
||||||
|
warning = 4
|
||||||
|
notice = 5
|
||||||
|
info = 6
|
||||||
|
debug = 7
|
||||||
|
|
||||||
|
|
||||||
|
local sock = ngx.socket.udp()
|
||||||
|
local ok, err = sock:setpeername('127.0.0.1', 514)
|
||||||
|
if not ok then
|
||||||
|
ngx.say("failed to connect to syslog server: ", err)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
level=info
|
||||||
|
facility=daemon
|
||||||
|
sign=level+facility*8
|
||||||
|
ok, err = sock:send('<'..sign..'>'..msg)
|
||||||
|
sock:close()
|
||||||
|
end
|
||||||
|
|
||||||
function log(method,url,data)
|
function log(method,url,data)
|
||||||
|
|
||||||
file=assert(io.open("/data/logs/hack/"..ngx.var.server_name.."_sec.log","a"))
|
file=assert(io.open("/data/logs/hack/"..ngx.var.server_name.."_sec.log","a"))
|
||||||
if data then
|
if data then
|
||||||
if ngx.var.http_user_agent then
|
if ngx.var.http_user_agent then
|
||||||
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \""..ngx.status.."\" \""..ngx.var.http_user_agent.."\"\n")
|
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \""..ngx.status.."\" \""..ngx.var.http_user_agent.."\"\n")
|
||||||
|
syslog(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \""..ngx.status.."\" \""..ngx.var.http_user_agent.."\"\n")
|
||||||
else
|
else
|
||||||
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \"-\"\n")
|
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \""..ngx.status.."\" \""..ngx.var.http_user_agent.."\"\n")
|
||||||
|
syslog(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \""..ngx.status.."\" \""..ngx.var.http_user_agent.."\"\n")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if ngx.var.http_user_agent then
|
if ngx.var.http_user_agent then
|
||||||
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \""..ngx.var.http_user_agent.."\"\n")
|
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \""..ngx.var.http_user_agent.."\"\n")
|
||||||
|
syslog(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \""..ngx.var.http_user_agent.."\"\n")
|
||||||
else
|
else
|
||||||
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \"".."-\"\n")
|
file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \"".."-\"\n")
|
||||||
|
syslog(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \"".."-\"\n")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
file:close()
|
file:close()
|
||||||
|
@ -21,7 +72,7 @@ function check()
|
||||||
ngx.exit(200)
|
ngx.exit(200)
|
||||||
end
|
end
|
||||||
function read_rule(var)
|
function read_rule(var)
|
||||||
file = io.open("/usr/local/nginx/conf/wafconf/"..var,"r")
|
file = io.open("/usr/local/openresty/nginx/conf/wafconf/"..var,"r")
|
||||||
t = {}
|
t = {}
|
||||||
for line in file:lines() do
|
for line in file:lines() do
|
||||||
table.insert(t,line)
|
table.insert(t,line)
|
||||||
|
|
Loading…
Reference in New Issue