運用常時接続時代のパーソナル・セキュリティ対策(第4回)4.インターネット接続共有におけるNPFW(2) デジタルアドバンテージ |
||
■DNSプロトコル
DNSプロトコルは、ホスト名やドメイン名からIPアドレスを求めたり、その逆を行ったりするためのプロトコルである。インターネット接続共有環境では、接続共有を実行しているマシン自体が代理DNSサーバとなってクライアントからのDNS要求に応えている。このプロトコルもデフォルトでは禁止されているので、通過するようにセットしなければならない。
設定項目 | 設定値 |
ルール名 | RULE12-DNS |
サービス | DNSプロトコル |
処理 | 許可 |
方向 | インバウンドとアウトバウンドの両方 |
プロトコル | UDP |
カテゴリ | 一般 |
アプリケーション | svchost.exe |
リモートサービス | サービス範囲:1024〜65535 |
ローカルサービス | 単一のサービス:domain (53) |
リモートアドレス | ネットワークアドレス:192.168.0.0/255.255.255.0 |
ローカルアドレス | ホストアドレス:myserver |
DNSプロトコルのフィルタ・ルール | |
クライアントからのDNS(domain)要求を処理するためのフィルタ・ルール。さきほどと同じく、「myserver」には自分の環境におけるローカル接続側のホスト名を入れること。svchost.exeは、接続共有の代理DNS機能を実現しているモジュール名(実際にはsvchostを経由してさらに別のプログラムが動作しているようである)。 |
■IPスプーフィング(IP Spoofing)の禁止
以上で名前解決までできるようになったので、次は接続共有でアプリケーションのプロトコルが通るようにしよう。ただしその前にIPスプーフィング(IP Spoofing、IPアドレス詐称などと訳される)をブロックするためのルールを追加しておく。これは、次のRULE13-PASS-ICSのための下準備でもある。
IPスプーフィングとは、IPアドレスを詐称して、ネットワーク上のノードに侵入するというクラッキング手法の1つである。この場合は、「192.168.0.*」というローカルIPアドレスをソース・アドレスとして持つパケットがインターネット接続側から届いたら、それは不正なパケットであるとみなして、ブロックすることにする(そうしないと、このようなパケットはローカルLAN側から発信されたパケットであるとみなして、受け付けてしまう可能性がある)。
設定項目 | 設定値 |
ルール名 | RULE01-IPSPOOF1 |
サービス | 192.168.0.* IPスプーフィングのブロック |
処理 | ブロック |
方向 | インバウンド |
プロトコル | TCPまたはUDP |
カテゴリ | 一般 |
アプリケーション | (任意のアプリケーション) |
リモートサービス | (任意のサービス) |
ローカルサービス | (任意のサービス) |
リモートアドレス | ネットワークアドレス:192.168.0.0/255.255.0.0 |
ローカルアドレス | ホストアドレス:myserver-i1 |
IPスプーフィングのブロックのためのルール | |
インターネット側から入ってくる、プライベートIPアドレスをソース・アドレスとするパケットのブロック。ローカルアドレスには「myserver-i1」というふうに、インターネット接続側のインターフェイスのアドレスを指定すること(ローカル接続側ではないので注意)。このルールは最上位に置いて、最優先にすること。 |
■インターネット接続共有のためのルールの追加――その1
次はインターネットの接続共有のためのルールを定義する。これがないとLAN上のクライアントからインターネット上のアプリケーションを利用することができない。許可するルールの方針としては、ローカルのLAN上のノード(192.168.0.0/255.255.255.0のIPアドレスを持つ)から、インターネット側へ向けて送信されたパケットの通過を許可すればよい。
設定項目 | 設定値 |
ルール名 | RULE13-PASS-ICS1 |
サービス | LAN側からの接続共有経由の送信 |
処理 | 許可 |
方向 | インバウンド |
プロトコル | TCPまたはUDP |
カテゴリ | 一般 |
アプリケーション | (任意のアプリケーション) |
リモートサービス | (任意のサービス) |
ローカルサービス | (任意のサービス) |
リモートアドレス | ネットワークアドレス:192.168.0.0/255.255.255.0 |
ローカルアドレス | (任意のアドレス) |
LAN上のノードからの接続共有経由の送信許可のルール | |
LAN上のノード(192.168.0.0〜192.168.0.255)から送信されたパケットの、インターネット宛(およびmyserver宛)の送信許可のルール。方向は「インバウンド」のみでよい。このルールは先のRULE12-DNSの次にすること。 |
このルールでは、192.168.0.0からのパケットをすべて許可するという設定にしているが(NATの宛先パケットはインターネット上のホストを指しているので、具体的なアドレスに限定することはできない)、これではIPスプーフィングのパケットも通してしまう可能性がある。そのため、先ほどのRULE01-IPSPOOF1を使って、インターネット側からの不正なパケットは、(このルールを適用する前に)あらかじめブロックしておく必要がある。
■インターネット接続共有のためのルールの追加――その2
ルールRULE13-PASS-ICS1では、内部のローカルネット上のノードから、インターネット上のサービスを利用するためのルールを定義したが、場合によっては、これだけではアプリケーションが動作しないことも考えられる(インターネット方向へTCPコネクションを開設するだけのアプリケーション、例えばメールとかWebブラウザなどしか動かない)。FTPのように逆方向からデータ転送用の接続を確立しようとするアプリケーションや(FTPでもPASVモードのみなら利用可能)、UDPを使ったアプリケーションでは逆向きのルールも追加しなければ動作しない。この問題に対する措置をいちいち記述していてはキリがないので、ここでは方針だけ示しておくので、あとは各自でトライしていただきたい。基本的には、アプリケーションが使用しているプロトコルを詳細に調査してフィルタ・ルールを追加するか、既存のルールを修正して接続共有用に変更するという方法がある。
使用しているプロトコルを調査するためには、Windows 2000 Serverに用意されている「ネットワークモニタ」のようなツールを使うのが一番簡単で、手っ取り早いのであるが、利用できない場合はNPFW自身を使って調査するという手もある。あらゆるパケットを通過させるルールを1つ作成して(アドレスやサービスなどはすべて「任意」とする)、フィルタによる「処理」を「許可」とするのである。このルールを最優先にして(最上位において)、ログを残すように設定しておくと、まったく制限のないネットワーク接続共有環境ができ上がる。これを使ってアプリケーションがどのようなプロトコルを使っているかを調査し、ルールを追加すればよいだろう。なお、調査が終わったらこのルールをすぐに破棄することを忘れないようにしていただきたい。
もう1つの方法としては、接続共有を実行しているWindows 2000 Professionalマシン上でまったく同じアプリケーションを実行し、自動でも手動でもよいから、フィルタリング・ルールを作成して追加することである。いったんルールができてしまえば、それらのルールにおける「アプリケーション」の指定を、例えば「FTP.EXE」から「任意のアプリケーション」に変更すればよい。これにより、必要なポートだけをオープンにするような接続共有用のルールが簡単に得られる。
最後に
今回は、市販のファイアウォール製品として、シマンテックのNorton Personal Firewall 2001という製品を取り上げ、パーソナル・レベルでも利用可能なファイアウォール・システムについて解説した。これ以外にもファイアウォールとして利用可能な製品はいくつかあるが、機能的にはそう大きな違いはないといえる。ただしいずれの製品も、いったん導入すればあとはまったく何もしなくても、ずっと安全にセキュリティレベルが保たれている、というものではないことは肝に銘じておく必要がある。当たり前であるが、LANの内部に侵入してしまった未知のウイルスによるバックドアは防ぎようがないので、それを避けるためにもファイアウォール・ルールの定期的なアップデートは欠かせないからだ。このあたりの事情は、ウイルスチェック・ソフトウェアでも同じだろうし、必要なら上位のウイルス・チェック機能付き製品の導入も検討した方がよいかもしれない。また、新しいアプリケーション(プロトコル)を使うたびにポップアップで表示されるルール・ウィザードにしても、通信を妨げないようにと、表示されている意味もわからずに「許可」、「許可」、「許可」、……などと連続してボタンをクリックしてしまっては、せっかくのファイアウォール機能もまったく役に立たない。前回までの素っ気ないコマンドライン・インターフェイスによるパケット・フィルタリングの設定とくらべると、非常に高機能であるし、管理も楽になっているので、ぜひとも活用していただきたい。
INDEX | ||
[運用]インターネット常時接続時代のパーソナル・セキュリティ対策(第4回) | ||
1.NPFWの内部アーキテクチャ | ||
2.ファイアウォール・ルールの追加設定 | ||
3.インターネット接続共有におけるNPFW(1) | ||
4.インターネット接続共有におけるNPFW(2) | ||
運用 |
- 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をインストールしてみる
|
|