iptables-permanent를 사용한 fall2ban

iptables-permanent를 사용한 fall2ban

저는 한동안 Fail2ban을 실행하다가 최근에 설치해서 iptables-persistent블랙리스트와 함께 사용하고 있습니다 ipset(이 컴퓨터에는 항상 공격하는 특정 IP가 있습니다). ipset/ iptablesPersistence는 우분투에서 약간의 작업을 했는데 이 부분은 먹히는 것 같습니다. 지금 내 문제는 다음과 같습니다.

머신을 재부팅하면 내 (관련 부분) iptables는 다음과 같습니다.

Chain INPUT (policy ACCEPT 682 packets, 84744 bytes)
 pkts bytes target     prot opt in     out     source               destination
  347 23254 f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set blacklist src
  347 23254 f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22

Chain f2b-sshd (2 references)
 pkts bytes target     prot opt in     out     source               destination
  694 46508 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

netfilter-persistent.service이를 통해 명확 하게 규칙 파일을 로드했음에도 불구하고 "loaded failed failed". systemctlnetfilter-percious 이후에 로드하기 위해 failure2ban 서비스를 편집하려고 시도했는데 이제 netfilter-persist가 "loaded active exited"...로 표시되었지만 규칙은 여전히 ​​중복됩니다(분명히 f2b는 규칙이 이미 존재하는지 여부에 관계없이 규칙을 생성합니다).

실행할 때마다 f2b 항목을 삭제하기 위해 이 파일을 수동으로 편집하는 iptables-save것은 허용 가능한 옵션일 수 있습니다(특히 이 작업을 잊어버린 경우 결과가 그다지 심각하지 않다는 점을 고려하면). 하지만 더 나은 옵션이 있는지 궁금합니다.

답변1

해결책을 생각해 봤지만 제 생각엔... 좀 이상하네요. 다음 파일을 생성하고 실행해 보세요. 다른 항목이 아닌 f2b 항목에 의존하고 모든 항목에 "f2b"가 있으며 스크립트가 iptables-save직접 실행되는 대신 ...

~/bin£ cat saveFilteredIptables.sh
#!/usr/bin/zsh
sudo iptables-save | perl -ne 'print if !/f2b/'
~/bin£

관련 정보