나는 현재 다음을 가지고 있습니다꼭두각시 방화벽설정:
firewall { '100 drop insecure outgoing HTTP traffic':
chain => 'OUTPUT',
dport => 80,
proto => tcp,
action => reject,
}
결과적으로 다음과 같은 규칙이 발생합니다.
$ sudo iptables --list-rules OUTPUT | grep ^-A
-A OUTPUT -p tcp -m multiport --dports 80 -m comment --comment "100 drop insecure outgoing HTTP traffic" -j REJECT --reject-with icmp-port-unreachable
패킷 로깅에 대한 일반적인 솔루션은 각 소스 체인에 대해 별도의 로그 체인을 생성하고 해당 체인으로 점프하는 것 같지만, 이는 최소한 규칙 세트의 복잡성을 두 배로 늘리고 논리를 따르기가 더 어렵게 만듭니다. 그러므로:패킷을 삭제한 동일한 규칙으로 패킷을 기록할 수 있습니까?
답변1
iptables "LOG" 확장자를 사용하는 해결 방법이 있습니다. 에서 man 8 iptables-extensions
:
이는 "비종료 대상"입니다. 즉, 규칙 순회는 다음 규칙에서 계속됩니다. 따라서 거부한 패킷을 기록하려면 동일한 일치 기준을 가진 두 개의 별도 규칙을 사용하십시오. 먼저 대상 LOG와 DROP(또는 REJECT)을 사용하십시오.
꼭두각시에서:
firewall { '100 log insecure outgoing HTTP traffic':
chain => 'OUTPUT',
dport => 80,
proto => tcp,
jump => 'LOG',
} ->
firewall { '101 drop insecure outgoing HTTP traffic':
chain => 'OUTPUT',
dport => 80,
proto => tcp,
action => reject,
}
아니면 간단하게 iptables
:
$ sudo iptables --list-rules OUTPUT | grep ^-A
-A OUTPUT -p tcp -m multiport --dports 80 -m comment --comment "100 log insecure outgoing HTTP traffic" -j LOG
-A OUTPUT -p tcp -m multiport --dports 80 -m comment --comment "101 drop insecure outgoing HTTP traffic" -j REJECT --reject-with icmp-port-unreachable
매우 깨끗하지는 않지만 최소한 단순합니다.