NetWareは、NCPTM (NetWare Core ProtocolTM)サービスを使ってサーバとクライアントを保護するNCPパケットシグネチャという機能を備えています。
NCPパケットシグネチャでは、サーバとクライアントに各NCPパケットへのシグネチャを要求することによって、パケットの偽造を防いでいます。パケットシグネチャは、すべてのパケットで異なります。
NCPパケットシグネチャがインストールされていない場合は、ユーザは特権ユーザを装って、偽造したNCP要求をNetWareサーバに送信できます。適当なNCP要求パケットを偽造することで、侵入者はサーバオブジェクトに対するスーパバイザ権を得て、すべてのネットワークリソースにアクセスできます。
正しくないシグネチャを持つNCPパケットは、クライアントとサーバの接続を切断することなく破棄されます。ただし、不当なパケットに関する警告メッセージが、エラーログ、関係するクライアント、およびサーバコンソールに送られます。アラートメッセージには、関係するクライアントのログイン名とステーションアドレスが含まれます。
サーバとそのすべてのワークステーションにNCPパケットシグネチャがインストールされている場合は、正当なNCPパケットを偽造することは実質的に不可能です。
パケットシグネチャの詳細については、次のセクションを参照してください。
パケットシグネチャを実装するには、「NCPパケットシグネチャの実装」を参照してください。
次のようなセキュリティ上のリスクに対処するために、NCPパケットシグネチャを使用することが推奨されます。
NCPパケットシグネチャは、すべてのサーバインストールで必要なわけではありません。次のような状況でセキュリティ上のリスクに対応できる場合は、NCPパケットシグネチャは使用しなくてもかまいません。
パケットシグネチャプロセスはCPUリソースを消費するので、クライアントとNetWareサーバの両方のパフォーマンスを低下します。このため、NCPパケットシグネチャはあくまでもオプションです。
NCPパケットに署名しないというオプションから、NCPパケットに常に署名するというオプションまで、さまざまなシグネチャオプションを使用できます。NetWareサーバとNovellクライアントに設定できるシグネチャレベルは、それぞれ4種類あります。
サーバとクライアントのシグネチャオプションの組み合わせで、ネットワーク上のNCPパケットシグネチャのレベルが決まります。
システムパフォーマンスの要望とネットワークセキュリティの要件の両方にとって最適なパケットシグネチャレベルを選択できます。
注: サーバとクライアントのパケットシグネチャレベルの組み合わせによっては、パフォーマンスが低下します。ただし、CPUの需要が低いシステムでは、パフォーマンスの低下は見られません。
サーバとクライアントのNCPパケットシグネチャレベルが相互に作用して、ネットワークにとって有効なパケットシグネチャが作成されます。サーバとクライアントのレベルの組み合わせによっては、ログインできません。
次の図は、サーバパケットシグネチャレベルとクライアントシグネチャレベルの相互関係を示しています。
デフォルトのNCPパケットシグネチャレベルは、クライアントの場合は1で、サーバの場合も1です。一般には、この設定で、偽造パケットの侵入を防ぎながら最大限の柔軟性が提供されます。異なるシグネチャレベルが必要ないくつかの状況の例を、次に示します。
NCPパケットシグネチャの実装の詳細については、「NCPパケットシグネチャの実装」を参照してください。
NCPパケットシグネチャを実装するには、次の操作を実行します。
SET NCP Packet Signature Option
SET NCP Packet Signature Option = number
numberには、0、1、2、または3を指定します。デフォルト値は1です。 次に例を示します。 SET NCP Packet Signature Option = 2
サーバが起動するたびにシグネチャレベルを設定するには、このSETコマンドをSTARTUP.NCFファイルに追加します。
SETパラメータコマンドを使用すると、下位のシグネチャレベルを上位のレベルに変更できます。または、NetWare Remote Managerを使用できます。
サーバを再起動しない限り、上位レベルから下位レベルに変更することはできません。たとえば、現在のシグネチャレベルが2の場合、コンソールでSETコマンドを使ってシグネチャレベルを1に設定することはできません。シグネチャレベルを2から1に変更するには、SETコマンドをSTARTUP.NCFファイルに追加して、サーバを再起動する必要があります。
クライアントシグネチャレベルを0、1、2、または3に設定します。デフォルト値は1です。値を増加するとセキュリティは増加しますが、パフォーマンスは低下します。
DOSまたはMS Windowsのクライアントシグネチャレベルを設定するには、次のパラメータをワークステーションのNET.CFGファイルに追加します。
signature level = number
ワークステーションごとにWindows 95またはWindows NTのクライアントシグネチャレベルを設定するには、次に示すように、[Novell NetWare Client Properties]の[Advanced Settings]タブでパラメータの設定を変更します。
システムトレイで[N]を右クリックします。
[Novell Client Properties]>[Advanced Settings]の順にクリックします。
スクロールリストからシグネチャレベルを選択します。
クライアントをインストールするときに、設定ファイルにシグネチャレベルを追加することによって、複数のクライアントに一度にシグネチャレベルを設定できます。Windowsクライアントの設定の詳細については、Novell Clientのオンラインマニュアルを参照してください。
Novellランタイムライブリを使用するNLMプログラムには、サーバの現在のシグネチャレベルに対応する、デフォルトのNCPパケットシグネチャレベルが割り当てられます。
1つのNLMのパケットシグネチャレベルを変更するには、NLMをロードするときに次のコマンド構文を使用します。
[LOAD] NLM [CLIB_OPT]/L number
numberには、0、1、2、または3を指定します。
ジョブサーバは、タスクを実行し、完了したタスクを返すサーバです。ジョブサーバの多くは、サードパーティの製品です。
ジョブサーバによってはNCPパケットシグネチャをサポートしないので、注意が必要です。次のいずれかの条件が該当する場合、ジョブサーバはシグネチャのないセッションを作成します。
ジョブサーバに関連するセキュリティリスクを最小化するには、次の操作を実行します。
ジョブサーバがクライアントの権利を変更できないようにするには、次のSETコマンドをサーバのSTARTUP.NCFファイルに追加します。
SET Allow Change to Client Rights = OFF
ジョブサーバとサードパーティアプリケーションは、クライアントの権利を変更しないと機能できないので、デフォルト値はOnです。ジョブサーバがクライアントの権利がなくても機能できるかどうかを判別するには、ジョブサーバに付属しているマニュアルを参照してください。