AS400をWebサーバーとして使用する場合の、セキュリティに関して
ウィルス、トロイの木馬、その他異質なもの
ウィルスは、PCはおろか、UNIXやメインフレームでさえも、その対象としています。
こういったシステムは何らかの形式でシステムプログラミングが可能になっているため、
ウィルスに感染しやすいといえます。
システムへの感染は、ウィルスが自分自身を2進機械語レベルの実行可能コードにコピーしたり
自分自身でコードの一部として入り込むことで起こります。
AS400では、コードが実行されること自体が階層構造化しており、内部構造が殆ど見えないので
AS400のウィルスを作成することは殆ど不可能といえます。
わずかに残されている可能性は、AS400の内部構造に非常に詳しい技術者による犯行がありますが、
これもAS400のOSレベルで装備されている機密保護機能により回避策が打てます。
万が一、ハッカーがHTTPプロトコル経由でAS400に進入しても、ハッカーはAS400内で
ジョブを起動する際に使用できるユーザープロファイルは限定されており、これらのプロファイルで
不正な実行可能プログラムを生成したり変更したりする権限は与えられていません。
(AS400の機密保護管理者は意図的に権限を与えれば別ですが・・・)
PCやUNIXシステムと異なり、外部よりの異質なものからAS400を保護する方法は
既に出荷時にシステムの装備されています。
さらに、ユーザーの状況に合わせて、機密保護機能を設定することにより、ほんの少しの考慮と
計画で、AS400は確実に非常に安全性の高いシステムとなります。
セキュアWebサーバー
AS400に対して外部からhttp要求が発生した場合、必ずQTMHHTTPという
ユーザープロファイルの元でジョブが実行されます。
このルールを変更しようとしても、AS400内の実行管理プログラム/コマンドおよびジョブ記述は
共通権限が*USE(使用可だが変更はできない)であるため外部からは不可能です。
このユーザープロファイルに関して、出荷時の設定では権限がかなり限定されており、
AS400内で不正な実行コードの作成などは全く出来ません。
CGI要求を処理する場合、使用するユーザープロファイルは、さらに権限レベルの低いQTMHHTP1に
切り替わります。
インターネットからのアクセスに関しては、この2つのユーザープロファイルに限定することが出来、
これらのユーザーと参照可能なオブジェクトの関係を定義することによって、
インターネットからアクセス可能なオブジェクトを限定できます。
QTMHHTTPとQTMHHTP1の権限の設定をし分けることにより
オブジェクトを直接の参照を不可能にし、プログラムによるアクセスのみ可能することも出来ます。
(これまでの説明にあったように)外部からのプログラム作成が不可能の場合、
外部からのAS400への不正なアクセスは非常に困難になります。
DMZを設ける必要性
TCP/IPのネットワークでは、グローバル・アドレスを持つクライアントは
ローカル・アドレスのクライアントへは絶対にアクセスできません。
これは、LANの中にあるAS400やPCクライアントを外部から守る自然の障壁になっています。
しかし、もしLANの中にあるクライアントに一つがハッカーに『乗っ取られ』てしまった場合、
そのクライアントを『踏み台』にして、LAN内の全てのクライアントにアクセス出来る可能性が生じます。
このため、外部からアクセスされる可能性の有るサーバーはLANの外において、『踏み台攻撃』の
可能性をなくすことがセキュリティ上重要な対策になります。
ただ、この対策の必要性と内容に関しては、
『クライアントが乗っ取られ、ハッカーに制御されてしまう』可能性と
相関して考えられるべき問題といえます。
外部からの実行コードを受け入れてしまう可能性の有るPCやUNIXサーバーと
その可能性の極めて低いAS400とは違った角度から対策を考えたほうが合理的といえます。
たとえば、ルーターやファイアウォールなどで、AS400に到達するパケットの種類を限定し
それらのパケットに対して反応しうるAS400の挙動に対して、適切な対策を講ずるといった
ことが必要になるかも知れません。