INPUTチェーンから不要なUDPトラフィックをすべて削除する方法は?

INPUTチェーンから不要なUDPトラフィックをすべて削除する方法は?

約2週間前、私はTCPでのみ実行されるTorリレーの実行を始めました。

したがって、不要なすべてのUDPパケットを破棄したいと思います。

しかし、実際に必要なものが何であるかはわかりません。

私のファイアウォールは通常の動作から約1日後に次のように見えます。私のTCP保護規則に代わってコメントや返信をしないように注意してください。、先ほど個人的な調査をしてみました。

iptables -L -v --line-numbers

Chain INPUT (policy DROP 17862 packets, 1945K bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 DROP       icmp --  any    any     anywhere             anywhere             u32 ! "0x4&0x3fff=0x0" /* ICMP fragmented packets */
2        0     0 DROP       icmp --  any    any     anywhere             anywhere             length 1492:65535 /* ICMP oversized unfragmented packets */
3        1  1500 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/NONE /* NULL scan */
4        0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG /* Xmas scan */
5        0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,PSH,URG /* stealth scan */
6        0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,ACK,URG /* pscan 1 */
7        0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN/FIN,SYN /* pscan 2 */
8        0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,RST/FIN,RST /* pscan 3 */
9        2   104 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:SYN,RST/SYN,RST /* SYN-RST scan */
10       0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:ACK,URG/URG /* URG scan */
11       0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN /* SYN-FIN scan */
12       0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,PSH,URG /* nmap Xmas scan */
13       0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN /* FIN scan */
14       0     0 DROP       tcp  --  any    any     anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,PSH,URG /* nmap-id scan */
15       0     0 DROP       all  -f  any    any     anywhere             anywhere             /* fragmented packets */
16    5049 1668K DROP       all  --  any    any     anywhere             anywhere             ctstate INVALID /* invalid packets */
17    1358  795K REJECT     tcp  --  any    any     anywhere             anywhere             ctstate NEW tcp flags:!FIN,SYN,RST,ACK/SYN /* new non-syn packets */ reject-with tcp-reset
18      52  2600 ACCEPT     all  --  lo     any     anywhere             anywhere             /* loopback: compulsory */
19    2588  303K ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-request limit: avg 2/sec burst 5 /* ICMP: ping only */
20   15482  932K ACCEPT     tcp  --  any    any     anywhere             anywhere             ctstate NEW,ESTABLISHED tcp dpt:57329 /* SSH: global obfuscated */
21     97M   54G ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:9001 /* Tor: OR */
22   54303 4010K ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:9030 /* Tor: Dir */
23     95M   93G ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED /* Tor: traffic */

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 182M packets, 160G bytes)
num   pkts bytes target     prot opt in     out     source               destination         

私にはおそらくDHCPパケットが浮かんでいますが、私はそれについて知っていることがあまりありません...

私は個人的にネットワーキング作業をしていないので、もし助けていただける方がいらっしゃるなら感謝します。ありがとうございます。


編集する:

  • #1: 私のサーバーはDHCPクライアント

  • #2: ICMP ポリシーを REJECT(reject-with) に変更しました。ICMP管理禁止)、および(再起動後)静的リースを受けるサーバーには影響しません。

ベストアンサー1

すべてのDHCPクライアントは、DHCPサーバーから実際のIPアドレスを取得するまで、ソースアドレス(通常は許可されていません)に0.0.0.0を含むパケットを送信する必要があるため、LinuxではRAWソケットを使用する必要があります。

副作用としてiptablesフィルタを完全にバイパスします。もしフィルタリングを実行しているシステムでDHCPクライアントを実行します。システムが他のホストのブリッジまたはルーターとして機能しない場合は、DHCPのUDP要件を無視できます。

ただし、注意事項または他のファイアウォールソリューションを使用している場合:DHCPクライアントの場合は、ポート68から着信UDPパケットを受け入れる必要があります。理論的には、これらのパケットの送信元ポート番号は67でなければなりません。 DHCP サーバーは IP アドレスを ping しようとすることもあります。

DHCPを使用する際の注意点は、有効なIPアドレスがなくても、ローカルネットワークのブロードキャストアドレスまたは255.255.255.255を宛先アドレスとして使用してパケットが到着できることです。初期DHCPリースを取得した後、更新は通常のユニキャストで行うことができます。

DHCPサーバーの場合は、着信UDPパケットにポート67を許可する必要があります。

UDPのもう一つの可能​​なユーザーはDNSです。速度を向上させるためにUDPを使用してDNSクエリを送信できますが、応答が大きすぎて単一のUDPパケットに収まらない場合、DNSサーバーは属性が追加されたUDPパケットに収まるほど多くの応答を送信します。完全な回答が必要な場合は、TCP経由でクエリを再送信してください。」

NTP(Network Time Protocol)もUDP(ポート番号123)を使用します。メッセージの内容が本質的に「このパケットが送信されたときの時間はxx:xx:xx.xxxxxx ...でした。私が知っているのと同じくらい正確です」意味がありません。送信中に時間信号が失われた場合は、古い信号の再送信を要求せずに、代わりに新しい信号を要求(または待機)します。

おすすめ記事