AS/400展望台

Windows XP SP2の新しいファイヤー・ウォール機能を設定してiSeries Accessの問題を解決する方法



マイケル・オティ著

今日のネットワーク世界においては、単純なものなど存在しません。Windows XP Service Pack 2 (XP SP2)もそうした単純ではないものの一つです。XP SP2では基本的なシステム・セキュリティが改善されていますが、一部のアプリケーション、特にiSeries Accessのような外部通信に依存したアプリケーションにとっては問題が発生する場合があるようです。本稿では、XP SP2での変更がiSeries Access機能にどのような混乱をもたらす可能性があるのかを説明し、この問題を回避するためのXP SP2の設定方法を説明します。

壁の中にあるもう一つのレンガ
XP SP2では数多くの変更がなされていますが、iSeries Accessにとって最も問題となるのは、新しいWindows Firewall (WF)です。新しいWFはデフォルトで有効になっており、古いInternet Connection Firewall (ICF) と置き換えられています。ICFにはいくつかの欠点がありました。まず、ICFはデフォルトでは有効になっていません。次に、ICFを集中管理する方法や、対話式かあるいはスクリプトを使ってICFを簡単に設定する方法がありません。WFでは管理が容易になり、スクリプト機能も改良され、ルールも細かな設定ができるようになり、ログ機能も強化されるなど、ICFに比べて大幅に改良されました。しかし、ZoneAlarmやTiny Personal Firewallなどといった他の優れたパーソナル・ファイヤー・ウォールと同様に、WFは要請されていない着信をブロックするので、iSeriesが開始した通信を切断してしまうことになります。WFの機能の概要を図1に示します。

WFも他のファイヤー・ウォールと同様に、主として要請されていない着信をブロックすることで動作します。WFは、ローカル・システムによって発せられたトラフィックについては、双方向のトラフィックを許可します。たとえば、ファイル共有へのアクセスを許可するためには、ローカル・システムが135番ポートをオープンし、ファイル・サーバーと通信します。ローカル・システムが135番ポートをオープンしたため、このポートは通信セッションが終了するまでオープンしたままになり、通信セッションが終了するとポートもクローズされます。同様に、5250エミュレーションでは(5250エミュレーションが使用する)TN5250プロトコルが23番ポートを使用します。5250エミュレーションがiSeriesに接続すると、TCPポート23番上に送信要求を出し、それ以後、WFは23番ポート上の通信チャネルをオープンし、5250エミュレーション・プログラムは通常通り機能します。エミュレーションがシャットダウンされると、WFは23番ポートをクローズします。しかし、ローカル・システムの外で発生したトラフィックをWFが受け付けるように設定しないとWFは外部からのトラフィックをブロックしてしまいます。たとえば、iSeries Accessの着信リモート・コマンド(Incoming Remote Command)は、TCPポート512番を使用しますが、WFはデフォルトでこれをブロックします。

着信トラフィックに対してWFでは、TCP/UDPポートまたはプログラム名を使う二通りの方法でシステムにアクセスできるようになっています。デフォルトでは、リモート・アシスタンス(Remote Assistance)プログラム(つまりsessmgr.exe)だけが有効になっています。Windowsのファイルとプリンタの共有機能を有効にしている場合、WFはTCPポート139番と145番、UDPポート137番と138番を自動的にオープンし、ローカルのサブネットがアクセスできるようにします。さらに、Windows Messenger をインストールしてある場合、WFはmsmsgs.exeプログラムへのリモート・アクセスを自動的に許可します。他のすべてのポートはクローズされており、WFを介して着信トラフィックを送ろうとするアプリケーションは、デフォルトの設定ではすべて失敗します。しかし幸いなことに、iSeries AccessなどのほかのプログラムがシステムにアクセスできるようにWFを設定することができます。

壁を崩す
通信を開始するのが常にローカル・システムであるという方法ですべてのプログラムが動作するのであれば、何も問題はありません。しかし、現実世界はそのような完璧な世界ではありません。iSeries Accessでは三つの関数でホスト側で開始される通信を使用しています。

着信リモート・コマンド:着信リモート・コマンドはXPシステム上でサービスを開始し、このサービスはiSeriesからのコマンドを待ちます。着信リモート・コマンドは新たに加わった実に便利なバッチ・プロシージャで、さまざまなPCシステムに定期的にダウンロードする必要のあるファイルを生成します。iSeriesは512番ポート上の着信リモート・コマンド・サービスにリクエストを出します。

操作コンソール:操作コンソールを使用すると、PCをiSeriesのリモート・コンソールとして機能させることができます。操作コンソールは、iSeriesのシステムを操作するためにPCからiSeriesにアクセスする必要があるときには便利ですが、システムとiSeries Accessは利用できません。操作コンソールは67番ポートと2122番ポートを使用します。

管理セントラル: iSeries Navigatorの一部である管理セントラルを使用すると、iSeriesのさまざまな機能を管理できます。たとえば、iSeries上でコマンドを実行したり、ジョブやメッセージをスケジューリングして監視したり、ファイルを交換したりすることができます。管理セントラルは、iSeries上で5544番ポートとその他のポートを若干使用します。管理セントラルとファイヤー・ウォールを併用するための設定情報については、IBM Experience Reportの「ファイヤー・ウォール環境下での管理セントラル接続の設定(Configuring Management Central Connections for Firewall Environments)」
publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/info/experience/mcfirewall.pdf) を参照してください。

このようなアプリケーションはすべてiSeriesから発せられた着信要求に依存しているため、WFはこの機能をデフォルトでブロックします。このようなアプリケーションを意図通りに動作させるための一つの方法は、WFを無効にすることです。WFを無効にするには、まず[スタート]ボタンをクリックして[プログラム]メニューから[アクセサリ]を選択します。次に、[通信]をクリックして[ネットワークとダイヤルアップ接続]をクリックし[ローカルエリア接続]を選択します。Windowsファイヤー・ウォールの設定変更をクリックしてWFをオフにするオプションを選択します。

ただしWFをオフにするとシステムのセキュリティが低下し、オープン状態にあるポートを攻撃するワームやウィルスなどに対してシステムが脆弱な状態になってしまいます。ローカル・ネットワーク環境を管理しているデスクトップ・システムではこれでも構わないかもしれません。しかし、いろいろなネットワークからアクセスするローミングユーザーのモバイル・ラップトップでは何らかのファイヤー・ウォールを常に有効にしておかなければなりません。いずれの場合も、パーソナル・ファイヤー・ウォールの保護を使用したほうが賢明です。幸いなことに、WFの設定を変更して、外部から発せられた通信に依存する前述のようなアプリケーションを稼動させることができます。この設定方法について次に説明します。

WFの例外を設定する
WFの例外は、選択されたトラフィックが妨害されずにファイヤー・ウォールを通過できるようにします。このセクションでは、iSeries Accessの着信リモート・コマンド・コンポーネントがWFを通過して機能するようにするための、例外の追加のしかたについて説明します。WFの例外を設定する方法は、対話型のWF設定ダイアログを使用するか、HETSHコマンドを使用するかの二通りです。

WFの例外を対話型のダイアログで設定するには、[スタート]ボタンをクリックし、[プログラム]-[アクセサリ]-[通信]-[ネットワークとダイヤルアップ接続]を選択します。[ネットワークとダイヤルアップ接続]ウィンドウの[ネットワーク・タスク]ボックスで[Windowsファイヤー・ウォールの設定の変更]というリンクをクリックし、図2に示す[Windowsファイヤー・ウォール]ダイアログ・ボックスを表示させます。

このダイアログ・ボックスでWFの有効/無効を切り替え、対話式でWFの例外を設定することができます。WFに例外を追加するには、図3に示す[例外]タブをクリックします。

WFには、ポート例外とプログラム例外という二つのタイプの例外があります。アプリケーションが使用する特定のポートに対する例外を作成することができますが、ポート例外はプログラム例外ほどセキュアではありません。ポートによる例外を作成すると、そのポートを使用しようとするすべてのアプリケーションに対してそのポートをオープンします。たとえば、着信リモート・コマンドは512番ポートを使用しますが、このポートはUnix/LinuxのREXECユーティリティが使用することでよく知られたポートでもあります。512番ポートを明示的にオープンすると、着信リモート・コマンド機能が有効になりますが、これは512番ポートを使用しようとする他のアプリケーションも有効にしてしまう可能性があります。

一般的に、プログラム名に基づいてアクセスを有効にするのが賢明です。着信リモート・コマンドの場合、cwbrxd.exeがローカルなXPプログラムで、512番ポートを介してiSeriesと通信します。iSeries Accessの着信リモート・コマンド・プログラム用に新しい例外を作成するには、[例外]タブの[プログラムの追加]ボタンをクリックして、図4に示す[プログラムの追加]ダイアログ・ボックスを表示させます。

[プログラムの追加]ダイアログ・ボックスでは、登録されているプログラム(すなわちWindowsのレジストリが認識しているプログラム)の一覧の中から、例外を作成する対象プログラムを選択することができます。iSeries Accessの着信リモート・コマンド・プログラムの場合のように、探しているプログラム名が一覧の中に見つからない場合は、[パス名]ボックスにプログラムのパス名を手で入力するか、[参照]ボタンをクリックして目的のプログラムまでたどることもできます。着信リモート・コマンド・サービス・プログラムのデフォルトのパス名はC:\Windows\cwbrxd.exeです。

次に[OK]ボタンをクリックすると、Windowsがcwbrxd.exeをWF例外リストに追加します。これで、着信リモート・コマンド・サービス(すなわちcwbrxd.exeプログラム)への着信要求がWFを通過することができるようになります。512番ポートを使用しようとするその他のプログラムは依然としてブロックされます。

WF例外を設定するもうひとつの方法は、XPに組み込まれているNETSHコマンドを使用する方法です。コマンド・ラインからNETSHコマンドを使用してWFを設定する方法は、複数のシステムの設定を自動化する必要のある場合には重要な機能です。システムの設定を対話式で行うのは、数台のシステムを設定すればよいという場合には問題ありませんが、数十台あるいは数百台のシステムを設定する必要がある場合には現実的ではありません。コマンド・ラインの設定機能をリモートから起動したり、システムへのログイン・スクリプトに組み込んだりしてネットワーク上の大量の設定の変更を自動化することができます。

たとえば、NETSHコマンドを使用して着信リモート・コマンド・サービスの例外を作成するには、次のコマンドを入力します。

netsh firewall add allowedprogram c:\windows\cwbrxd.exe "iSeries Access Incoming Remote Command"

firewallサブコマンドはWFを設定するようNETSHへ指示します。allowedprogramサブコマンドを追加するということはプログラム例外を追加しようとしていることで、このサブコマンドに続くパラメータでプログラムの位置を指定します。最後のパラメータはオプションの記述です。

事前警告は事前準備
XP SP2には価値のある機能強化がいくつかなされていますが、組み込まれているファイヤー・ウォール機能はiSeries Access機能の一部を混乱させる可能性もあります。しかし、WF例外を作成しこれらの問題を修正する方法に関する知識で武装しておけば、XP SP2の新しい機能を利用しながら、頼りにしているiSeries Access機能のすべてを引き続き使用することができます。

マイケル・オティ氏は、ベル・データ鰍フ業務提携先、米Penton Media, Inc.の発行するiSeries NEWS誌のシニア・テクニカル・エディタです




↑このページのトップへ
TOPPAGE

BELLDATA, Inc. Copyright reserved.