
私のデスクトップサーバーDebian Jessieコンピュータはテスト目的で19時間しか実行されていません。上記のように、いくつかのルールを設定しました。しかし、私はネットワーキングにあまり興味がありません。だから少し変更が必要です。
これは私のものですiptables -L -v
:
Chain INPUT (policy DROP 1429 packets, 233K bytes)
pkts bytes target prot opt in out source destination
1360 61482 DROP all -- any any anywhere anywhere ctstate INVALID
25079 2528K DROP icmp -- any any anywhere anywhere
15 480 DROP igmp -- any any anywhere anywhere
14353 7379K ACCEPT all -- lo any anywhere anywhere
5848K 1157M ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
1632 86441 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:8333
9 472 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:33211
13801 804K ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:56874
58386 5659K ACCEPT udp -- eth0 any anywhere anywhere udp dpt:56874
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:63547
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:https
マシンは主にWebサーバーとして使用されるため、他の必要な受信プロトコル(HTTP(S)など)をすべて削除するにはどうすればよいですか?
Etherapeを実行すると、ファイアウォールを介して接続しようとする(または侵入した可能性がある)プロトコルがたくさん表示されます。
答え1
上記のiptables設定は、TCPおよびUDPパケットのみがファイアウォールを通過することを可能にします(ループバックで発生しない限り)。 INPUTチェーンのデフォルトルールはDROPに設定されています。これは、明示的に許可されていないすべてのパケットが破棄されることを意味します。ループバックには奇妙なパケットがあってはならないため、TCP / UDPパケットのみが許可されます。
プロトコルについて明確にする必要がある重要なことが1つあります。ネットワーク通信は以下から発生します。多数(実際には7階)各層には独自のプロトコルセットがあります。たとえば、トランスポート層プロトコル(TCPやUDPなど)とアプリケーション層プロトコル(SMBなど)の目的には根本的な違いがあります。 iptablesの範囲はトランスポート層以下に制限されます。アプリケーション層プロトコルのパケットを分析するには、詳細なパケット検査が必要であり、計算コストがはるかに高くなります。
また、プロトコルとサービス名を混同しないように注意する必要があります。人気のあるサービスは次のとおりです。特定のポートに割り当てられた。 FTPサービスは通常ポート21で利用可能ですが、Webサーバーはポート80でリッスンします。ヒントポート21のトラフィックに使用されるプロトコルは通常FTPであり、ポート80のトラフィックに使用されるプロトコルは通常FTPです。ただし、そのポートからのトラフィックは、サービスに関連するプロトコルを使用するために必要ではありません。ポート80のトラフィックはSSHまたは完全に歪む可能性があります。