iptables는 규칙을 무시합니까?

iptables는 규칙을 무시합니까?

이상한 교통 체증을 발견했습니다 tcpdump(교통 체증이 계속 발생함).

13:00:13.203754 IP 1.2.3.4.1028 > 188.113.188.16.56881: UDP, length 103
13:00:13.204396 IP 1.2.3.4.1028 > 180.183.209.27.29546: UDP, length 103
13:00:13.204972 IP 1.2.3.4.1028 > 95.188.250.39.6881: UDP, length 103
13:00:13.205509 IP 1.2.3.4.1028 > 125.39.30.33.5493: UDP, length 103
13:00:13.206048 IP 1.2.3.4.1028 > 46.194.14.254.32232: UDP, length 103
13:00:13.206526 IP 1.2.3.4.1028 > 151.52.30.111.6881: UDP, length 103
13:00:13.207097 IP 1.2.3.4.1028 > 70.27.63.150.64389: UDP, length 103
13:00:13.207555 IP 1.2.3.4.1028 > 108.12.215.184.42880: UDP, length 103
13:00:13.208082 IP 1.2.3.4.1028 > 37.105.27.136.54752: UDP, length 103
13:00:13.209671 IP 1.2.3.4.1028 > 61.53.14.223.6881: UDP, length 106
13:00:13.266142 IP 46.35.235.75.10995 > 1.2.3.4.1028: UDP, length 289
13:00:13.276353 IP 86.162.78.254.20206 > 1.2.3.4.1028: UDP, length 289
13:00:13.345021 IP 108.12.215.184.42880 > 1.2.3.4.1028: UDP, length 289
13:00:13.349955 IP 46.194.14.254.32232 > 1.2.3.4.1028: UDP, length 289
13:00:13.357145 IP 70.27.63.150.64389 > 1.2.3.4.1028: UDP, length 289
13:00:13.373275 IP 37.105.27.136.54752 > 1.2.3.4.1028: UDP, length 289
13:00:13.785877 IP 61.53.14.223.6881 > 1.2.3.4.1028: UDP, length 311
13:00:13.880421 IP 1.2.3.4.1028 > 86.38.202.92.63287: UDP, length 1438
13:00:13.913168 IP 122.174.79.84.34858 > 1.2.3.4.1028: UDP, length 289
13:00:14.057212 IP 86.38.202.92.63287 > 1.2.3.4.1028: UDP, length 20
... many more lines with same or different hosts

1.2.3.4는 내 WAN 주소입니다(개인용으로 변경됨). 포트 1028은 내 방화벽에서 열리지 않습니다. 심지어 제거하려고 시도했습니다.

$IPT -I INPUT -p udp --sport 1028 -j DROP
$IPT -I INPUT -p udp --dport 1028 -j DROP
$IPT -I FORWARD -p udp --sport 1028 -j DROP
$IPT -I FORWARD -p udp --dport 1028 -j DROP
$IPT -I OUTPUT -p udp --sport 1028 -j DROP
$IPT -I OUTPUT -p udp --dport 1028 -j DROP

$IPT -A INPUT -p udp --sport 1028 -j DROP
$IPT -A INPUT -p udp --dport 1028 -j DROP
$IPT -A FORWARD -p udp --sport 1028 -j DROP
$IPT -A FORWARD -p udp --dport 1028 -j DROP
$IPT -A OUTPUT -p udp --sport 1028 -j DROP
$IPT -A OUTPUT -p udp --dport 1028 -j DROP

규칙은 다음과 같습니다.

root@server-14:/# iptables -n -L
Chain INPUT (policy DROP)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
ACCEPT     all  --  127.0.0.1            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 67,68
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:221 state NEW,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21 state ESTABLISHED
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

lsof -p 1028아무것도 보여주지 않고 netstat -antlpu보여주지 않습니다.

using -A, using -I및 심지어 (보시다시피) 두 가지를 모두 사용해 보았습니다. 작동하지 않고 트래픽이 계속 흐르고 있습니다. 때로는 인터넷 연결 속도가 불안정해질 수 있습니다. 심지어 내가 일종의 봇넷 같은 것에 빠졌다는 생각도 들기 시작했습니다...

답변1

lsof -p 1028필터 프로세스 ID 1028.

다음을 시도해 보세요.

# lsof -Pnl +M -i4

열려 있는 IPv4 포트 목록과 해당 포트가 속한 프로세스를 봅니다. 이는 -Pnl선택 사항이지만 이름 조회와 같은 작업을 수행하지 않으므로 약간 더 빠릅니다.

또는:

# lsof -i :1028

포트 1028에서 수신 대기 중인 모든 항목을 나열합니다.

이상한 일이 발생하면 단순히 규칙으로 트래픽을 차단하기보다는 원인을 파악해야 합니다 iptables.

답변2

tcpdump인터페이스가 보는 것을 보여줍니다. 분명히 패킷은 Netfilter( iptables)가 패킷을 죽이기 전에 인터페이스에 도달해야 합니다 . 따라서 iptables들어오는 트래픽을 보는 것이 결코 방해받지 않습니다. 이는 이 트래픽이 영향을 미치는 것을 방지할 뿐입니다(대역폭 낭비 제외...).

하지만 더 이상 나가는 패킷이 있어서는 안 됩니다.

방화벽이 때때로 재부팅됩니까?

귀하의 규칙 세트를 보기 전에는 연결이 이미 설정되어 있다는 것이 문제라고 생각했습니다. 하지만 당신의 DROP규칙은 더 일찍옵니다. 일반적으로 방화벽을 변경한 후 알려진 연결을 새로 고치는 것이 도움이 될 수 있습니다.conntrack flush

관련 정보