セキュリティ対策の要点解説

第 5 回 誰も来なければ安全 ~ Windows ファイアウォール ~

公開日: 2006年5月25日

マイクロソフト株式会社
セキュリティ レスポンス チーム
小野寺 匠 著
小野寺 匠 著

前回前々回と、半分時事ねたとして、アプリケーションの実行を制限する方法を 2 つ紹介しました。今回は、外部からの攻撃のリスクを抑える方法として Windows ファイアウォールをとりあげます。

Windows XP 以降の OS には ファイアウォール機能が標準で提供されています。しかし、Windows XP 初期出荷版、Windows XP Service Pack 1、および Windows Server 2003 初期出荷版の ファイアウォール機能は決して使い勝手の良いものではなく、また、ほとんど認知されていませんでした。そのため、過去の大規模なウイルス感染被害を防止することはできませんでした。その経験を踏まえて Windows XP Service Pack 2 および Windows Server 2003 Service Pack 1 では、ファイアウォール機能を大幅に強化し Windows ファイアウォールとして生まれ今に至ります。

この機能も個人では高い割合で使用されているようですが、企業内では余り有効に活用されていないようです。理由は、1) インターネットと LAN の境界にファイアウォールがあるから、 2) アプリケーションが動作しないかもしれない 等があるようです。

しかし、 1) については、的確な理由のようでそうではありません。このファイアウォールは、社内に持ち込まれたウイルスや社内からの攻撃に対しては完全に無力です。 2) については、ファイアウォールによってアプリケーションが動作しない事が確かにあります。特に RPC や DCOM を使ったアプリケーションでは、その問題が発生しやすいといえます。理由は、ポートが固定されていなかったり、アプリケーションのつくりによっては非常に多くのポートを使うためですが、設定方法がないわけではありません。

例外 (通信許可)の設定

Windows ファイアウォールは、設定を行わないと全ての外部 (自身のPC以外) からの通信を拒否します。通信を許可する設定を例外と呼んでいます。 (例外的に、通信を認めるという意味です)

この例外の設定方法には、以下の2種類があります。

  • ポート番号とプロトコル (TCP/UDP) を指定して通信を許可する

  • アプリケーションを指定して通信を許可する

ここで、通常は、ポート番号を指定して通信を許可していきます。たとえば、ファイル共有であれば、TCP 139/445、UDP 137/138 の 4 つを例外として設定します。Web サーバーを公開したい場合には、TCP 80/443 を例外として設定する必要があります。このようにポートが固定され、明確なものはポートを指定することで通信が可能になります。しかし、実際には、どのポートを使うのか明確ではないアプリケーションもあり、その場合には、アプリケーション自体を例外として登録します。この場合、アプリケーションが実行されている間だけ、そのアプリケーションが受信することを自動的に許可するようになっています。

この 2 つをうまく組み合わせる事で、たいていのアプリケーションは動作するようになりますが、残念ながら、それでも動作しないことは実際にあります。理由は、ここでは省略しますが、その場合、ファイアウォールを無効にするか、多くのポート範囲を例外にすることになりますが、それでも、ファイアウォールを完全に無効にする必要はありません。

スコープ

Windows ファイアウォールには、スコープという機能があります。この機能は、通信する相手を選択する機能で、以下の 3 つが選択できます。

  • 任意のコンピュータ (制限なし)

  • ユーザーのネットワークのみ (同じサブネット)

  • カスタム一覧 (明示的に通信相手を指定)

アプリケーションのために広範囲のポートを例外指定する場合は、「カスタム一覧」を使用し、通信相手のサーバーを設定することで、互換性と安全性のバランスを保つことができます。

プロファイル:

スコープを指定する方法も困難な場合は、ファイアウォールを無効にすることになりますが、プロファイルと呼ばれる機能 (グループ ポリシー) を使うことで「社内」でのみ無効にすることができます。プロファイルは、「ドメイン プロファイル」 (ドメイン サーバーと通信可能な環境) と「標準プロファイル」 (それ以外) を設定することで、特にノート PC で、社内は緩めの設定または、無効状態にし、社内のネットワークから切り離した後は、しっかりと防御するという選択ができます。

このプロファイルは、グループ ポリシー エディタで [コンピュータの構成] - [管理用テンプレート] - [ネットワーク] - [ネットワーク接続] - [Windows ファイアウォール] で行うことが可能です。

色々な設定で、互換性を保つことは可能ですが、原因が不明瞭な場合は、Windows ファイアウォールの [詳細設定] – [セキュリティのログ] を設定し、[ドロップされたパケットのログをとる] を有効にすると、どのような通信がファイアウォールにブロックされたかを知ることができますので、この情報を基にできるだけ最小限の例外を設定するようにすることが重要です。

また、Windows ファイアウォールも、Windows Vistaでは、また大きく改善される予定です。受信だけではなく、送信の制限や、IPSec と協調した設定をより簡単にできるような UI (ユーザー インターフェイス) などが提供される予定です。

次回は、外部からの侵入対策として IPSec について取り上げてみます。

関連サイト:


この記事は、マイクロソフト セキュリティ ニュースレターで配信しました。

ページのトップへ

バックナンバー

ページのトップへ