패킷과 기타 모든 항목만 허용하면 RELATED
방화벽 규칙이 문제 없이 잘 실행됩니다 .ESTABLISHED
DROP
### VARIANT A
-A INPUT -i wlan0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i wlan0 -j DROP
IP
그러나 나는 한 단계 더 나아가 나에게 전송된 모든 "원치 않는" 패킷을 블랙리스트에 추가 하고 싶습니다 . 규칙을 수정했습니다.
### VARIANT B
-A INPUT -i wlan0 -m recent --name PORTSCAN --update --seconds 3600 -j DROP
-A INPUT -i wlan0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i wlan0 -m recent --name PORTSCAN --set -j DROP
규칙이 작동하는 방식은 다음과 같습니다.
Rule 1: checks whether IP address is already blacklisted and drops it if yes
Rule 2: allows RELATED,ESTABLISHED packets
Rule 3: all other packets which fail RELATED,ESTABLISHED test are blacklisted
이러한 규칙은 99.9% 예상대로 작동하지만 소수의 사이트에만 문제가 있습니다. Stack Exchange 웹사이트가 그러한 예 중 하나입니다. stackexchange.com이 나에게 패킷을 보내는 것 같지만 conntrack
모듈이 해당 패킷을 관련성이 있거나 확립된 것으로 인식하지 못하는 것 같습니다. 따라서 이러한 패킷은 통과하지 못하고 rule 2
블랙리스트에 추가됩니다 rule 3
.
이는 일반적으로 편집 모드에 있을 때 발생합니다(예: 질문을 하거나 기존 질문을 편집하는 경우).
이 경우 블랙리스트를 새로 고쳐야 합니다.
echo / >/proc/net/xt_recent/PORTSCAN
그런 다음 모든 것이 정상으로 돌아갔습니다.
이 문제에 대한 두 가지 가능한 설명이 있습니다.
a) the conntrack module is deficient, in that it does not recognize
legitimate packets as being RELATED/ESTABLISHED
b) SE websites are indeed sending unsolicited packets
b
나는 다음과 같은 추론으로 인해 이것이 옳을 가능성이 더 높다고 생각합니다 .
내 iptables 규칙의 변형 A는 인식하지 못하는 모든 패킷을 삭제합니다 RELATED/ESTABLISHED
. 모든 것이 잘 실행되고 있기 때문에 이러한 패킷은 내 세션에 필요하지 않습니다. 이것은 실제로 원치 않는 패킷이므로 처음부터 나에게 전송되어서는 안 됩니다.
내 iptables 규칙의 변형 B는 한 단계 더 나아가 위반 사항을 "처벌" IP
하고 이를 블랙리스트에 추가합니다.
Q: SE 사이트에도 적용되도록 iptables 규칙을 어떻게 수정합니까?
문제 분석에 대한 의견도 감사하겠습니다.
Meta.unix.stackexchange.com에 대한 내 관련 게시물은 다음과 같습니다. stackexchange.com이 원치 않는 패킷을 보냅니다(따라서 방화벽에 의해 차단됨).