
나는 다음과 같은 규칙을 가지고 있습니다 iptables
:
-A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
설정된 것으로 분류되지 않은 나가는 연결이 기록됩니다. 때때로 방화벽 송신 로그는 다음과 같은 패킷을 캡처합니다.
09:56:48 DST=a.b.167.208 TTL=64 SPT=80 DPT=25960 WINDOW=119 ACK URGP=0
09:48:48 DST=a.b.166.231 TTL=64 SPT=80 DPT=29861 WINDOW=119 ACK PSH URGP=0
09:29:57 DST=a.b.167.244 TTL=64 SPT=80 DPT=58244 WINDOW=119 ACK URGP=0
추가 조사 결과, 웹 서버 액세스 로그를 보면 75~100초 전에 위의 IP 주소에 해당하는 연결이 들어오는 것으로 나타났습니다.
위의 연결이 conntrack 모듈에 의해 설정된 것으로 분류되지 않은 이유는 무엇입니까? 그리고 소음을 걸러내기 위해 무엇을 할 수 있을까요?
답변1
내 이해에 따르면 TCP 연결은 ESTABLISHED
상태 에만 들어갑니다.~ 후에이 ACK
과정이 진행되었으며 ACK
패키지는 정확히 거기에서 로깅(및 차단)하는 것처럼 보입니다.
http://www.iptables.info/en/connection-state.html#TCPCONNECTIONS
시도해 보셨나요 --ctstate ESTABLISHED,RELATED
?
당신이 말한 것처럼 "가끔" 로깅하는 경우에만: dmesg/syslog는 모든 패킷을 캡처하지 않습니다. 유사한 메시지가 너무 많이 들어오면 로그 범람을 방지하기 위해 삭제됩니다. 이는 구성 가능하지만 이 질문의 범위를 벗어납니다.