[Network] | |||||||||||
ファイアウォールの空白時間に注意
|
|||||||||||
|
解説 |
Windows XPやWindows Server 2003には、外部からの不正なネットワーク・アクセスを禁止するために、簡単ながらもファイアウォール機能が備えられている。具体的には、IPやTCP、UDPレベルで外部からのアクセスを拒否する、パケット・フィルタの機能が用意されている。Windows XPでは、これを「ICF(Internet Connection Firewall、インターネット接続ファイアウォール」と呼んでいる。
またWindows Server 2003では、同様の機能として、Windows XPと同様のICFのほか、さらに高度な機能を持った「ベーシック ファイアウォール」機能も持っている。「ベーシック ファイアウォール」は、Server OS用の高度なネットワーク・ルーティング機能である「ルーティングとリモートアクセス(RRAS)」の1つの機能として実装されている。ICFと比較すると、より高度なフィルタリングやルーティング機能などを備えているが、単に外部からのパケットを禁止するという目的からみると、機能にそう大きな違いはない。
ICFやWindows Server 2003のベーシック・ファイアウォールを利用すると、例えばBlasterワームのような、インターネットに接続するだけで感染するワームなどに対して効果があるとされている。実際、外部からの不正なアクセスはすべて禁止できるのだが、ほんの少しだけ注意しなければならない点がある。それは、システム起動時に、わずかではあるが、ファイアウォールが無効になっている期間が存在するのである。
システムの再起動時に注意
これらのファイアウォールは、Windows OSのサービスとして実装されている。具体的には、ICFは「Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS)」というサービスで実装されており、Windows Server 2003のベーシック・ファイアウォールは「Routing and Remote Access」サービスで実装されている。いずれのサービスも、ネットワーク・インターフェイスがアクティブになってから(ネットワーク・インターフェイスに対してIPアドレスなどが割り当てられてから)、ファイアウォール・サービスが開始されるように設計されている。ネットワーク・インターフェイスが先にアクティブになっていないと、ファイアウォールがどのインターフェイスで動作するかなどを決定できないからだろう。
このような事情のため、システム起動時においてファイアウォール・サービスが起動するまでのわずかな時間は、ネットワーク・インターフェイスが有効なものの(IPアドレスが割り当てられているものの)、ファイアウォール機能が無効という期間が存在することになる(注:これはネットワーク・インターフェイスで直接ICFを設定している場合の話である。インターネット接続のためにPPPoE接続を利用する場合は、PPPoE接続のプロパティでICFを設定するので、これが問題になる可能性は少ない。通常PPPoE接続は、システム起動後にユーザー自身でアクティブにするからだ)。
この具体的な空白時間については、システムの構成などに依存するので常に何秒であるとはいえないが、例えばpingコマンドを使えば簡単に測定することができる。
ping -n 10000 192.168.1.123 |
これは、192.168.1.123というホストに対して、pingを連続して実行するというコマンドだ。「-n 10000」は、1万回繰り返せという指示である。これを実行すると、デフォルトでは1秒間隔でping用のパケットを送信し、応答があれば「Reply from ……」というメッセージが戻ってくる。しかしファイアウォールでブロックされていると、「Request timed out.」というメッセージが戻ってくる。実際に実行してみると、次のようになる。通信先の相手は、ICF機能を有効にしたWindows XP Professionalマシンであり、pingの実行直後にシステムを起動させている。ICFを有効にすると、デフォルトではTCPやUDPだけでなく、pingが使用しているICMPもブロックされるので、常に「Request timed out.」となると予測される。
C:\>ping -n 10000 192.168.1.123 |
pingコマンドの最初の十数個は、「Request timed out.」となって、pingが失敗していることが分かる。この間は、システムが起動中であり、ネットワーク・インターフェイスがアクティブになっていない(IPアドレスなどが割り当てられていない)から、当然であろう。
だがその後、22回ほどpingからの応答があり、その後また無応答になっていることが分かる。最後に「Request timed out.」となるのは、ICFが起動したからだが、その前の22回は、ICFが機能していない(実際の期間はシステム構成によって変わる)。つまり、ICFを有効にしているにもかかわらず、外部からの攻撃を受けてしまう可能性がある。
これを同じ実験をWindows Server 2003マシンに対して実行すると、ICFならば約10秒間、ベーシック・ファイアウォールなら約3秒間、同じようにpingに応答する期間が確認された(この値も手元の実験マシンでの結果であり、システムによって変わる可能性があるので注意していただきたい)。
このように、ICFやベーシック・ファイアウォールには、システム起動時(システムの再起動時も含む)に数秒から十数秒間の無効な期間が存在するので、注意する必要がある。いまやインターネット上には常にワーム・パケットが満ちあふれている。そのため、システム起動時のわずかな間でもワーム・パケットを受信すると、ワームに感染してしまうことになる。実際、MSBlastワームが猛威を振るっていたときは、システム再起動の隙に感染してしまうという事例も多くあったようだ(ピーク時には、数秒に1回とか、それ以上の頻度でワーム・パケットが流れていた)。
具体的な対策としては、以下のようなものが考えられる。
■外部ルータでのパケット・フィルタリング
インターネットに接続する場合は、外部のルータで必ずパケット・フィルタリングを行い、不要なパケットを受信しないようにする。特に、各マシンにグローバルIPアドレスを付けてインターネットへ接続しているような環境では、インターネット接続用のルータで必ず不要なパケットをフィルタリングするべきである。
■セキュリティ・パッチの適用の徹底
Blasterなどのワームに対しては、すでにパッチが提供されているので、必ずこれらを適用しておく。そうすれば、たとえファイアウォールが一時的に機能しなくても、システムが感染することはない。ICFやベーシック・ファイアウォールは、ワームを防ぐための万能の手段ではなく、パッチと併用するべきものである。
■システムの再起動時には、インターネットへの接続を一時的に遮断しておく
インターネットへ直接接続されたシステムでは、システムの再起動時には、インターネットへの接続を切断しておけば、ワームの攻撃を回避することができる。ただしイーサネットのネットワーク・カードからケーブルを外してしまうと、ネットワーク・アダプタのアクティブ化そのものが行われなくなるので、さまざまなネットワーク・サービスが起動できなくなってしまう可能性がある。イーサネットのハブへは接続するものの、その先のインターネット接続回線を外すようにする。
■システムのインストールやセキュリティ・パッチの適用はファイアウォール内で行う
例えばインターネット向けのサーバだからといって、インターネットに直接接続して、グローバルIPアドレスを付けたままシステムをインストールしたり、パッチを適用しようとすると、再起動時にワームに感染する可能性がある。必ず、イントラネットの内部で、もしくは、ルータなどのファイアウォールで隔離された環境で、パッチを適用したり、システムをインストールしたり必要がある(要するに、OS自身のファイアウォール機能だけに頼らない、ということ)。
なお、ICFのこのような挙動は、次期Service Pack(Windows XP SP2)で修正される予定となっている。
関連記事(Windows Server Insider) | ||
Windows Tips:イントラネットでファイアウォールを使う(Windows XP編) | ||
関連リンク | ||
サポート技術情報―Windows XP SP1 および Windows Server 2003 では ICF が勝手に送り付けてくるユニキャスト、マルチキャスト、およびブロードキャスト トラフィックをブロックする(マイクロソフト) | ||
この記事と関連性の高い別の記事
- イントラネットでファイアウォールを使う(Windows XP編)(TIPS)
- Windows XPのファイアウォール機能を活用する(1)(TIPS)
- Windowsのpingコマンドでネットワークトラブルの原因を調査する(TIPS)
- インターネット常時接続時の基本セキュリティ設定(TIPS)
- グループポリシーでWindowsファイアウォールをまとめて管理する(ドメイン向け推奨Windowsファイアウォール設定)(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|