저는 nftables를 처음 접했고 이전에 Fail2ban을 사용해 본 적이 없기 때문에 틀릴 수도 있지만, Fail2ban에서 버그를 발견했을 수도 있다고 생각합니다.
나는 nftables를 사용하여 다음과 같은 방화벽 규칙 세트를 만들었습니다.
table ip filter {
chain input {
type filter hook input priority filter; policy drop;
.
my rules including a rule to allow access to port 22
.
}
}
하지만 실패2반을 설치하고 클라이언트를 사용하여 이 명령을 사용하여 설정 테스트로 특정 IP를 금지하면
Fail2ban-클라이언트 설정 sshd banip 1.2.3.4
Fail2ban 서버는 이 2개의 기본 체인을 내 "필터" 테이블에 추가합니다.
chain f2b-sshd {
ip saddr 1.2.3.4 counter reject
counter return
}
chain INPUT {
type filter hook input priority filter; policy accept;
meta l4proto tcp tcp dport 22 counter jump f2b-sshd
}
이것은 문제가 있는 것 같습니다. 왜냐하면 제 "입력" 체인과 fall2ban에 의해 생성된 "입력" 체인이 모두 동일한 후크 우선순위를 갖고 있고 nftables 문서에 따르면 적용되는 순서를 예측할 수 없기 때문입니다.
OTOH, 문서에는 내 "입력" 체인의 우선 순위가 낮아 먼저 평가되고 연결을 수락하는 것으로 판정되었음에도 불구하고 Fail2ban "입력" 체인이 이후에 적용되므로 그렇지 않을 수도 있습니다. 우선순위가 무엇이든 상관없습니다.
fall2ban에 의해 생성된 "INPUT" 체인이 내 "입력" 체인과 동일한 우선순위를 갖는다는 사실로 인해 금지가 무시되는지 누가 말해 줄 수 있습니까?