送信トラフィックをブロックする必要がある理由について、別の良い質問がありました: ファイアウォールで送信ネットワークトラフィックをブロックする理由
しかし、着信ポートまたは一般的なポートをブロックすることがなぜ良いのかについての答えを得たいと思っていました。
特に、マシンのポートでトラフィックをリッスンしているアプリケーションを管理することと、ファイアウォールでそのポートをブロックすることの違いについて考えていました。
表面上、それはかなりばかげています:特定のポートでトラフィックを受信したくない場合は、そのポートでlistenしないでください。そのため、ホストベースのファイアウォールは伝統的に大部分が組み込まれてきました。しかし、最近(過去20年間など)、この習慣はかなり増えてきました。一般的な理由は次のとおりです。
コンピュータでリッスンしているものを制御できないため
ホストベースのファイアウォールは、ポート135や445などのMicrosoftコアサービスの動作を制御するための従来のメカニズムでした。シンプルさと使いやすさの観点から、Microsoftは従来、これらのサービスにつまり、ファイアウォールがアクセスを制御する唯一の方法だったということです。
アクセスを制限したいが禁止したくないため
ファイアウォールを使用すると、リスニングポート番号だけでなく、それに基づいてトラフィックをフィルタリングできます。つまり、特定の範囲のIPまたは他の基準からのアクセスのみを許可するなど、さまざまなことができます。完全なセキュリティ対策ではありませんが、悪意のあるトラフィックの大部分を排除し、より高度な攻撃者に注意を向けることができます。
すでに危険にさらされている可能性があるため
これはおそらく最も一般的に引用される理由ですが、おそらく最も価値のある理由でもありません。アイデアは、予想以上の追加のポートへのアクセスをブロックすると、攻撃者が最初の妥協を利用してサーバーへのより完全なアクセスを取得することがより困難になるということです(たとえば、リモートシェルを追加のポートにバインドすることにより) )。これが実際に困難をもたらすことは事実ですが、平均的なスキルを持つ攻撃者はこの制限を回避できるため、それによって提供される増分セキュリティは軽微です。
ポリシーを実施するには
ここでの考え方は、セキュリティポリシーに従ってネットワークでリッスンすることが許可されている特定のアプリケーションセットがあり、管理者がそのリストに追加することを望まないということです。悪意のある管理者がソフトウェアをインストールする方法を知っているが、ファイアウォールを再構成する方法を知らない可能性は低いシナリオでは、これは彼を止めます。
このリストを見ると、これらのシナリオのall(おそらく最初のものを除く)は、Edgeファイアウォールを使用して最適に満たされていることが明らかです。 Hostファイアウォールとは対照的です。ゲートウェイでのフィルタリングは、ホストの管理者権限を持つユーザーが簡単に変更できないためです。
それでも、エッジで実行する方が良いからといって、ホストでまた実行してはならないという意味ではありません。真に安全なネットワークとは、境界を保護しなくても安全なネットワークであることを忘れないでください。防御を重ねることで、防御の一部が失敗した場合でも保護を維持できます。
発信トラフィックと同じ理由で。攻撃者は、特定のポートにバインドするサービスの実行を開始する可能性があります。着信トラフィックを許可すると、どのリモートサーバーもこのサービスに接続できます。攻撃者の場合、これはいわゆる " bind Shell "である可能性があります。
これは、セキュリティの詳細なアプローチの一部でもあります。 mDNSやRPCなどのデフォルトの実行サービスを検討してください。これらのサービスをネットでアドバタイズしたくないので、それらを無効にします。受信ファイアウォールルールを使用すると、追加の防御メカニズムを導入して、誰かが誤ってこのサービスを有効にした場合に情報が漏洩しないようにすることができます。
着信ファイアウォールルールの良い点は、ホワイトリストアプローチを実装するのが非常に簡単なことです。特定のプロトコルを使用して、特定のIPで到達可能なポートを決定できます。一度に特定の量のパケットのみを許可することで、これをさらに微調整することもできます(レート制限)。これにより、より多くの制御が可能になり、不要なサービスを無効にする際の「汚い言葉」を減らすことができます。
多くの理由ですが、おそらく私にとって最大のものの1つは、マルウェアが対処する最大の脅威の1つであり、ポートを開くとマルウェアがこれらのポートでサービスを実行できるようになることです。
ポートを閉じると、ユーザーが自分のサーバーを実行することもできなくなります。これは、ファイル共有やゲームなど、ネットワーク上で実行してはならないことですが、とにかくやりたいことです。