![IPtables 체인 번호 지속성 - 첫 번째 규칙을 맨 위에 어떻게 유지할 수 있습니까?](https://rvso.com/image/1646009/IPtables%20%EC%B2%B4%EC%9D%B8%20%EB%B2%88%ED%98%B8%20%EC%A7%80%EC%86%8D%EC%84%B1%20-%20%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EA%B7%9C%EC%B9%99%EC%9D%84%20%EB%A7%A8%20%EC%9C%84%EC%97%90%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9C%A0%EC%A7%80%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
요약
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
따라서 이를 수행할 수 있는 가능성은 두 가지가 있습니다.
- 다른 체인(예: )을 생성하고
F2B
INPUT의 첫 번째 체인 뒤에 추가한 다음 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이 기본값)를 지정합니다. 따라서 체인을 로 설정하는 대신 로컬 공통 구성에서
F2B
사용하거나 다음과 같이 사용하십시오 .chain = INPUT 2
jail.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은 변경이 이미 이루어진 후에 시작됩니다.)