2016-04-26 11 views
1

私はwebapp用にfail2banを実装したいと思います。問題は、私は正規表現に対処する方法を知らないということです。 当社nginxのログは、このカスタマイズされたnginxログの正規表現を行う方法

[REM-ADD]:"172.16.2.148" - [REQ-TIME]:"26/Apr/2016:12:05:32 +0530" -[STATUS]:"200" - [CLIENTIP]:"125.19.65.202, 54.239.168.59" - [CONNECTION]:"489" - [CONN-REQ]:"6" - [CONTENT-LEN]:"-" - [REQ-LEN]:"673" - [BODY-BYTE]:"1090" - [USER-AGENT]:"-" - [REQ]:"GET /news/api/v1/app_settings/ HTTP/1.1" - [REQ-BODY]:"-" - 
[REM-ADD]:"172.16.0.100" - [REQ-TIME]:"26/Apr/2016:12:05:35 +0530" -[STATUS]:"200" - [CLIENTIP]:"125.19.65.202, 54.239.168.60" - [CONNECTION]:"513" - [CONN-REQ]:"1" - [CONTENT-LEN]:"-" - [REQ-LEN]:"673" - [BODY-BYTE]:"1090" - [USER-AGENT]:"-" - [REQ]:"GET /news/api/v1/app_settings/ HTTP/1.1" - [REQ-BODY]:" 

今fail2banのドキュメントは、例えば言うnginx-noscript.conf

[Definition] 
failregex = ^<HOST> -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\scgi) 
ignoreregex = 

のように見える基本的に私は私のカスタムnginxのログの正規表現をフォーマットする方法をお願いしたいと思います。 私はいくつかの正規表現を試しましたが、それは仕事量と同様に任意のエラーをスローしません。

+2

に対処しやすくなりますApacheの組み合わせ形式

log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' ; 

と互換性のあるログ形式を指定しますか? – rock321987

+0

@ rock321987はこれを参照していましたhttp://snippets.aktagon.com/snippets/554-how-to-secure-an-nginx-server-with-fail2ban – Nagri

答えて

0

は、 `\の.scgi`されるべきではない。

関連する問題