IPtables 체인 번호 지속성 - 첫 번째 규칙을 맨 위에 어떻게 유지할 수 있습니까?

IPtables 체인 번호 지속성 - 첫 번째 규칙을 맨 위에 어떻게 유지할 수 있습니까?

요약

IPtables의 체인 위에 규칙을 유지하는 방법을 이해하려고 합니다. 나는 내 사용자 정의 체인(원칙적으로)을 INPUT 체인 위에, 즉 체인의 첫 번째 규칙으로 유지하고 싶습니다.

설정

  • 사용자 정의 체인(INPUT 체인 상단에 유지하고 싶습니다)
  • 금지 상태에 따라 체인을 생성(생성 및 제거하는 것 같습니다)하는 fall2ban

현재 행동:

커스텀 체인을 설정할 때 이를 규칙 번호 1로 설정할 수 있습니다. 그러나 시간이 지나면서 Fail2ban이 변경되면서 커스텀 체인이 INPUT 체인 아래로 이동하게 됩니다.

도와주셔서 감사합니다!이미 답변이 되었다면 사과드립니다. 아쉽게도 추천 질문에서는 찾을 수 없었습니다.

답변1

Fail2ban으로 인해이것행(예: iptables-multiport)은 체인의 첫 번째 위치에 규칙을 추가하며 INPUT, 이는 일반적으로 이 행에 삽입됩니다(예: 간단한 sshd 감옥, IPv4 등):

# <iptables> -I <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
iptables -I INPUT -p tcp -m multiport --dports ssh -j f2b-sshd

따라서 이를 수행할 수 있는 가능성은 두 가지가 있습니다.

  1. 다른 체인(예: )을 생성하고 F2BINPUT의 첫 번째 체인 뒤에 추가한 다음 INPUT 대신 실패2반 구성에 이름을 지정하세요. 예를 들어 새로 생성/etc/fail2ban/action.d/iptables-common.localchain모든 Fail2ban 체인에 대해 자신의 것으로 덮어쓰십시오 .
[Init]
chain = F2B

jail.local또는 예를 들어 기본 섹션이나 감옥별로 이름을 지정합니다 .

[DEFAULT]
banaction = %(known/banaction)s[chain=F2B]
banaction_allports = %(known/banaction_allports)s[chain=F2B]
  1. 체인에 자체 규칙 번호(1이 기본값)를 지정합니다. 따라서 체인을 로 설정하는 대신 로컬 공통 구성에서 F2B사용하거나 다음과 같이 사용하십시오 .chain = INPUT 2jail.local
[DEFAULT]
banaction = %(known/banaction)s[chain="INPUT 2"]
banaction_allports = %(known/banaction_allports)s[chain="INPUT 2"]

이 경우 Fail2ban은 위에서 언급한 추가 규칙(sshd 감옥의 경우)을 다음과 같이 보간합니다.

- iptables -I INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
+ iptables -I INPUT 2 -p tcp -m multiport --dports ssh -j f2b-sshd

두 경우 모두 체인 F2B과 자신의 체인이 이미 iptables에 추가되었는지 확인하세요(예: 서비스 종속성 사용). (fail2ban은 변경이 이미 이루어진 후에 시작됩니다.)

관련 정보