web-dev-qa-db-ja.com

具体的には、Windowsファイアウォールは何をしますか?

私の状況を理解すると、Windowsファイアウォールがオフの場合、コンピューターのすべてのポート(それらのすべての65535)が完全に開いています。これは、コンピューター上で実行されているすべてのアプリケーションが、コンピューターから任意のポートを介してネットワークまたはインターネット上の任意のデバイスにトラフィックを送信できることを意味します。これは、ネットワークまたはインターネット上の任意のデバイスがコンピューター上の任意のポートを介してトラフィックを送信できることも意味します。

ファイアウォールがオンに切り替わると、ユーザーが明示的に開くか、Windows UACがユーザーにファイアウォールの特定のポートをアプリケーション用に開く必要があることをユーザーに通知しない限り、すべてのポートが閉じられます(すべてのポートのインバウンドおよびアウトバウンドトラフィックがブロックされます)。 (これは通常、アプリケーションがインストールされているときに発生します)。このシナリオでは、ユーザーがyesをクリックし、Windowsがファイアウォールを構成して、アプリケーションが適切に機能するようにします。

だから我々はそれを持っています。ファイアウォールがオフの場合、すべてのポートが開いており、コンピューターで実行されているすべてのアプリケーションは、ポートを介してデータを送受信できるように設計されています。また、コンピュータに接続できるすべてのデバイス(原則として、コンピュータにpingを実行できるすべてのデバイス)は、任意のポートを介してデータを送信できます。また、ファイアウォールを有効にすると、すべてが美しく安全になります。

まず、Windowsファイアウォールにはこれより多くの機能があると確信しているため、何が欠けていますか?第二に、ファイアウォールがどのように機能するかについて、私は何を誤解したか、または明らかに誤解しましたか?第三に、ファイアウォールを常にオンにしておくことと同じくらい重要ですか(それは非常に重要だと思います)、最後に、ファイアウォールは私が思っているのと同じくらい効果的です(私は現在、非常に効果的)。

ありがとう

3
JMK

これは、コンピューター上で実行されているすべてのアプリケーションが、コンピューターから任意のポートを介してネットワークまたはインターネット上の任意のデバイスにトラフィックを送信できることを意味します。これは、ネットワークまたはインターネット上の任意のデバイスがコンピューター上の任意のポートを介してトラフィックを送信できることも意味します。

最初にその概念を扱いましょう...

TCP/IPを介してインターネット上のトラフィックを取得することは、アパートブロックに(いくつかの不整合がある)ポストを送信するようなものです。 IPアドレスは、アパートメントブロックのアドレスと、TCPポートが建物内のアパートメント番号に対応しています。

このアドレスにパケットを送信するには、最初に実際のアパートを所有している必要があります。これにより、返信先アドレスがわかります。次に、小包を投稿してみます。

そのアパートに誰も住んでいない場合、パッケージは受け取れません。ポーターと一緒にロビーに残され、おそらく見捨てられます。 TCP portsの場合も同様です。ポートをリッスンしている(または「バインドされている」)アプリケーションがない場合、OSはそれをアプリケーションに渡しません。ただし、ポーター(OS )ほんの少しでも、確かにそのパケットを処理します。ポーターのバグは非常に深刻です。

さて、実際には、ポストの場合と同様に、パケットをポストに入れるほど単純ではなく、もう一方の端から出てきます。パケットを投稿すると、ローカルの郵便サービスがそれを受け取り、いくつかの情報を調べて、どの郵便サービスに渡すかを決定します(国際郵便を考えてください)。

ここで、少し複雑にする必要があります。投稿したい人がキャンパスの大学の建物で働いているとします。郵便局はそこに配達しません。代わりに、彼らは本館のポーターに配達します。次に、そのパッケージをどこに向けるかをデバイスに指示します。これは、私が上で触れたルーティング状況の縮図であり、NATに類似しています。

これまでのところ、常に必要なアドレスにパッケージを取得できるとは限らず、そもそもパッケージを受け取るためにそこに誰かが必要であることを学びました。

ファイアウォールがオンに切り替わると、ユーザーが明示的に開くか、Windows UACがユーザーにファイアウォールの特定のポートをアプリケーション用に開く必要があることをユーザーに通知しない限り、すべてのポートが閉じられます(すべてのポートのインバウンドおよびアウトバウンドトラフィックがブロックされます)。 (これは通常、アプリケーションがインストールされているときに発生します)。このシナリオでは、ユーザーが[はい]をクリックすると、Windowsがファイアウォールを構成し、アプリケーションが適切に機能するようにします。

いいえ。家にライトが付いている人がいる場合にのみ開いています。それ以外の場合、ポーターはパッケージを見て、「誰ですか?」と言います。すぐにそれをビニングする前に(あなたがアメリカ人ならそれをゴミ箱に入れる)。

だから我々はそれを持っています。ファイアウォールがオフの場合、すべてのポートが開いており、コンピューターで実行されているすべてのアプリケーションは、ポートを介してデータを送受信できるように設計されています。また、コンピュータに接続できるすべてのデバイス(原則として、コンピュータにpingを実行できるすべてのデバイス)は、任意のポートを介してデータを送信できます。また、ファイアウォールを有効にすると、すべてが美しく安全になります。

ええと...とても単純な方法で.

確かに、あなたが投稿しているアドレスに住んでいる人があなたをあまり好きではない可能性があります。それは個人的なものではなく、彼らはあなたに会ったことがないだけです。そのため、送信者をざっと覗いても、パッケージは開かれません。多くのアプリケーション、例えばWebサーバーは、受信パラメーターに基づいてトラフィックを転送できます。一般的な例はHTTP Host:ヘッダー。

それでは、Windowsファイアウォールを私たちの例えに当てはめてみましょう。 Windowsファイアウォールは基本的に、MITの学位を持つポーターです。彼は入ってくる荷物を見て、さまざまなアパートに住んでいる人々について知っています。彼は、受信者をチェックできるルールのリストを持っています。たとえば、フレッドが自分の街路や町の誰からでもパッケージを受け取ることを許可するかもしれませんが、フランスからはできません。彼がこれをどの程度正確に行うかは、建物を所有する人からどのように指示されたかに依存します。

つまり、本質的に、ファイアウォールのしくみです。開いているポートと閉じているポートを制御し、パケットの宛先、送信元、ポート、さらにはコンテンツに基づいて追加のフィルタリングを実行できます。ただし、オン/オフのアイデアは完全にはありません。それはそれほど単純ではありません。

説明のために、フレッドとジョージが同じ通りに住んでいると仮定しましょう。フレッドはMacを使用しているため、ジョージはフレッドをあまり好きではありません(または、ここであなたが選択した愚かな理由です。私はMacが好きではありません)。ジョージはフレッドに悪臭爆弾を送ることにしました。

フレッドのポーターには、誰かが何かを送信したい場合、彼らが同じ通りに住んでいる場合、フレッドにパケットを送信する必要があるというルールがあります。ジョージがパッケージを投稿すると、フレッドのアパートに腐った卵の匂いがあることがわかります。

それはIT専門家が話すようなものではないことを理解しているので、言い換えれば、ファイアウォールは、許可したルールに従ってのみ保護します。ただし、これらの許可されたルールのいずれかが攻撃者にシステムを悪用する方法を提供し、攻撃者がそうする場合、ファイアウォールの存在は役に立ちません。これは、他のファイアウォールと同様に、Windowsファイアウォールにも当てはまります。

11
user2213

ファイアウォールは、信頼されたネットワークを信頼されていないネットワークから保護するために使用されるメカニズムであり、通常は2つの間のトラフィックを許可します。それらは、パケット、回線、アプリケーション、またはプロキシなど、動作するレイヤーによって定義されます。

ファイアウォールは、すべてのトラフィック(着信と発信の両方)を検査し、ルールに基づいて許可または拒否します。

ファイアウォールはすべて、単にポートに基づいてトラフィックを拒否するだけでなく、ほとんどがパケットフィルタリングも実行し、NAT(ネットワークアドレス変換)を実行できます。

2
goblinbox

他の人が言ったように、「オープン」の使用を再定義する必要があります。

1)Withoutホストファイアウォール(質問で参照していると思います)、任意のサービス(プログラム)がコンピュータの任意のポートを使用でき、外部のホストは、接続の確立を試みることができます。 ホストファイアウォールを使用すると、これらのポートへのアクセスを禁止または許可することができます。これがファイアウォールの機能であり、それがWindowsファイアウォールの機能です。

2)「オープン」の使用を変更した場合、ファイアウォールの理解は「基本的に」正しい

3)ファイアウォールを常にオンにしておくことは非常に重要です。完全または完全な保護は提供しませんが、オンにする必要がある最低限の要素の一部です(さらに重要なことに、正しく構成されている)。

4)ファイアウォールは、指示されていることを実行します。それらの基本的な機能はシンプルで効果的ですが、それがあなたをどのように保護するかということは、構成や期待などの多くの要因に依存します。プログラムが、使用が予期されていない「許可された」ポート(ポート80など)を使用する可能性があります。

あなたの質問の背後にある質問に答えた人が他にもいます。質問に直接回答して、より深い回答をより十分に検討できるようにしたいと思います。

2
schroeder