부적절한 단어가 포함된 모든 네트워크 요청을 거부하도록 시스템을 구성하고 싶습니다.(여기서는 실제 문자열을 사용하지 않고 명백한 이유로 구현을 나타내는 예제 문자열을 사용합니다).
나는 다음과 같은 구성을 가지고 있습니다/etc/fail2ban/jail.local
[DEFAULT]
bantime = 1d
[sshd]
enabled = true
filter = sshd
banaction = iptables
backend = systemd
maxretry = 5
findtime = 1d
bantime = 2d
ignoreip = 127.0.0.1/8
[word-filter]
enabled = true
filter = word-filter
maxretry = 0
bantime = 1m
그리고 같은 패턴의 구성(그러나 다른 말로는)존재하다/etc/fail2ban/filter.d/word-filter.conf
[Definition]
failregex = .*Hello.*World|.*test.*
Fail2ban을 다시 로드하려고 하면 오류가 발생 systemctl status fail2ban
하고 실행하려고 하면 fail2ban-regex /example/file
/etc/fail2ban/filter.d/word-filter.conf
오류가 발생합니다.ERROR: No failure-id group in '.*Hello.*World.*|.*test.*
이 문제를 어떻게 해결할 수 있나요?
답변1
오류는 No failure-id group in
정규 표현식에 ID(예 <ADDR>
: <HOST>
, <CIDR>
, , <SUBET>
등 )가 포함되어 있지 않음을 의미합니다. 따라서 정규 표현식이 일치하면 fall2ban은 위반자를 식별하는 방법과 차단해야 할 사람이 누구인지 정확히 알 수 없습니다( ID에 도달한 <F-ID>...</F-ID>
경우) . IP 기반 처리의 경우 일반적으로 .maxretry
<ADDR>