특정 이벤트를 캡처하기 위해 Fail2ban NGNIX 로그에 대한 사용자 정의 로그 파일을 생성하려고 합니다. 정규식은 나에게 아직 상대적으로 새로운 것이므로 개선하기 위해 노력하고 있습니다. 이것은 사용자 정의 필터에 들어가지만 지금은 Fail2ban-regex를 사용하겠습니다.
다음은 로그의 예입니다.
1.1.1.1 - - [05/Feb/2021:11:19:48 +0000] "GET /images.php?id=bXlzcWwgLS11c2VyPWFuZ2VscyAtLXBhc3N3b3JkPXNjb690ZXJzCg== HTTP/1.1" 200 31 "-" "curl/7.58.0"
저는 "bXlzcWwg"를 일치시키고 싶습니다. 그 이유는 이것이 일관성이 있고 이와 비슷하게 보일 것이라고 믿기 때문입니다.
^<HOST>.*bXlzcWwg
테스트를 실행하면 항목이 괜찮은 것 같지만 오류가 발생합니다.
sudo fail2ban-regex "^<HOST>.*bXlzcWwg" /var/log/nginx/access.log
Running tests
=============
Use failregex file : /var/log/nginx/access.log
Wrong config file: File contains no section headers.
file: '/var/log/nginx/access.log', line: 1
'192.168.6.254 - - [05/Feb/2021:10:54:55 +0000] "GET / HTTP/1.1" 200 241 "-" "curl/7.58.0"\n'
ERROR: failed to load filter /var/log/nginx/access.log
테스트에서 날짜 형식을 지원하는 것으로 알고 있습니다.
sudo failure2ban - 정규식 "05/2월/2021:11:33:25 +0000"
Running tests
=============
Use failregex line : <HOST>
Use single line : 05/Feb/2021:11:33:25 +0000
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [1] {^LN-BEG}Day(?P<_sep>[-/])MON(?P=_sep)ExYear[ :]?24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
`-
Lines: 1 lines, 0 ignored, 0 matched, 1 missed
[processed in 0.01 sec]
|- Missed line(s):
| 05/Feb/2021:11:33:25 +0000
답변1
sudo fail2ban-regex /var/log/nginx/access.log "^<HOST>.*bXlzcWwg"
Regex and log options were reversed..
Running tests
=============
Use failregex line : ^<HOST>.*bXlzcWwg
Use log file : /var/log/nginx/access.log
Use encoding : UTF-8
Results
=======
Failregex: 268 total
|- #) [# of hits] regular expression
| 1) [268] ^<HOST>.*bXlzcWwg
`-
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [841] Day(?P<_sep>[-/])MON(?P=_sep)ExYear[ :]?24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
`-
Lines: 841 lines, 0 ignored, 268 matched, 573 missed
[processed in 0.06 sec]
Missed line(s): too many to print. Use --print-all-missed to print all 573 lines
이 기사는 다른 사람이 벽에 머리를 부딪히는 데 도움이 될 수 있습니다.