|
管理ガイド 05/21/03 10:02:24 |
この章では、配備データベース、アプリケーションサーバ、およびアプリケーションサーバのクラスタへのアクセスを設定、制限するための方法を説明します。この章を構成する節は次のとおりです。
アクセス制御では、ユーザがオブジェクトおよびリソースで実行できる操作を指定します。
アプリケーションサーバの認証とアクセス制御の設定では、次のアクセスを管理します。
アプリケーションサーバでは、セキュリティ式を使用して、特定のユーザがアクセスを許可されている対象を特定します。
アプリケーションサーバでは、JavaセキュリティのACL (Access Control List (アクセス制御リスト))のAPIをサポートしています。このJavaセキュリティは、SMCおよびアプリケーションサーバの管理サーバAPIによるセキュリティで動作します。
次のリソースに対するアクセスを制御するには、SMCを使用します。
許可のタイプの説明に従ってアクセス許可を設定します。
許可を使用して、さまざまな「管理操作」および「データベースオブジェクト」へのアクセス制御を設定します。
「管理リソース」では、管理設定を表示および変更する権限(および設定にアクセスする許可)を制御します。管理リソースのセキュリティを設定すると、不正なユーザが管理操作を実行することはできなくなります。
注記: 管理設定にアクセスできるのは、管理グループのメンバーのみです。ログインしているユーザ、セッションの情報、ユーザとグループの許可の設定、接続数といったすべての管理情報に、不正なユーザがアクセスすることを防ぐには、この制限を維持することが重要です。
許可のタブと制限するべき管理リソースの内容は、次の表のとおりです。
配備データベースは、ディレクトリとオブジェクト(J2EEアーカイブなど)への許可を設定することによりセキュリティを保護します。アクセスの制限は、ユーザ単位またはグループ単位で設定できます。許可の設定は、ディレクトリ、すべてのサブディレクトリ(または特定のサブディレクトリ)、およびディレクトリ内のオブジェクトに適用されます。階層内の各オブジェクトまたはリソースを保護する必要があります。
詳細については、セキュリティチェックリストの
手順10: 配備データベースの保護を参照してください。
配備データベースでオブジェクトに適用される許可は次のとおりです。
|
許可 |
説明 |
|---|---|
|
Read |
オブジェクトの場合、オブジェクトの設計情報を表示できるユーザを制限します。データベースまたはディレクトリの場合、チャイルドオブジェクトにアクセスできるユーザを制限します。 データベースまたはディレクトリ内のオブジェクトに対して、ユーザが簡単にアクセスできないようにするには、そのユーザのデータベースレベルまたはディレクトリレベルでの読み込みアクセスを拒否します。 注記: サブディレクトリでオブジェクトを実行する必要があるユーザは、そのペアレントディレクトリのすべてに対する読み込みアクセスを持つ必要があります (詳細については、 アプリケーションオブジェクトを実行可能にするを参照してください)。 |
|
Modify |
オブジェクトの場合、オブジェクトを変更できるユーザを制限します。データベースまたはディレクトリの場合、新しいチャイルドオブジェクトを追加できるユーザを制限します。 サーバへの不適切な変更を防ぐには、ディレクトリへの変更許可を持つユーザを慎重に確認します。 |
|
Execute (データベースまたはディレクトリの場合、[Default Execute]) |
選択されたデータベースまたはディレクトリ内で、アプリケーションオブジェクト(J2EEアーカイブなど)を実行できるユーザを制限します。 通常、エンドユーザはオブジェクトに対する実行許可を与えられています。 個々のアプリケーションオブジェクトに設定されている許可は、データベースまたはディレクトリに設定されている許可より優先されます。 |
|
Set Permissions |
オブジェクトに関するアクセス制御の情報を変更できるユーザを制限します。たとえば、管理者のみがオブジェクトのセキュリティプロパティを変更できるように設定することができます。 |
サーバリソースは、そのタイプによって制限できる許可も異なります。
デフォルトでは、「サーバ管理操作とデータベースオブジェクト」へのアクセスは、管理グループのメンバーのみに制限されています( サーバとオブジェクトに対するデフォルトのセキュリティを参照)。
階層内のほとんどの「ディレクトリレベル」では、読み込み、書き込み、実行、および許可の設定といったアクセス権を設定できます。階層内のオブジェクトまたはリソースも同様の方法で保護できます。
「データベースレベル」でアクセス権を設定した場合、すべてのデータベースを表示できますが、展開したり開いたりできるのは、読み込みアクセスを持つデータベースのみです。
名前の付けられた「オブジェクト」のコンテンツに対する要求は、そのオブジェクトに設定された許可に基づいて制限されることがあります。
「セキュリティアクセス権」を変更できるのは、配備データベースのディレクトリまたはオブジェクトに対し、許可を設定する権限を持つ場合のみです。その場合、特定のアクセス式を使用して制限をさらに変更できます。
許可のタブの下部にある[Apply To This Directory And All Descendants]ラジオボタンをオンにすると、「複数のディレクトリの保護」を設定できます。必要に応じて、選択したオブジェクトに対して[Require Login For Access]チェックボックスを有効にできます。
詳細については、
アプリケーションオブジェクトを実行可能にするを参照してください。
オブジェクトのセキュリティは、SMCで許可を設定することにより、サーバまたはクラスタレベル、ディレクトリレベル、またはオブジェクトレベルで変更できます。
注記: SMCでの許可の設定に加え、『機能ガイド』の「SilverCmdリファレンス」という章で説明されている、SilverCmdの セキュリティ設定を使用すると、いくつかのタイプの許可を設定することもできます。
SMCの表示が変わります。SMCで管理されているすべてのクラスタ、サーバ、およびデータベースが展開可能になり、コンテンツをリストで表示して、該当するレベルで許可を設定することができるようになります。
オブジェクトまたはディレクトリを選択し、 許可のタイプの説明に従って、許可を設定します。
複数オブジェクトでの許可の設定 オブジェクトが同じサーバ上で、同じタイプの1つのディレクトリにある場合に限り、一度に1つまたは複数のオブジェクトに対して許可を設定できます。この場合、隣接するエントリの場合、<Shift>キーを押しながらクリックする、または隣接していないエントリの場合、<Ctrl>キーを押しながらクリックし、選択したオブジェクトに許可を設定します。
許可の範囲とログイン要求の設定 [Permissions]パネルの下部に表示されるラジオボタンは、ディレクトリまたはオブジェクトのいずれを選択しているかによって異なります。ボタンで表示されるオプションは、次の表のとおりです。
|
ラジオボタンによるオプション |
説明 |
選択している対象 |
|---|---|---|
|
Apply to this directory only |
選択したディレクトリにのみ許可を適用し、ディレクトリ構造の新しいオブジェクトに対するデフォルトの設定になります。 ディレクトリ内の既存のオブジェクトに対する許可は変更されません。 |
ディレクトリを選択している場合のみ |
|
Apply to this directory and all descendants |
選択したディレクトリ、そのディレクトリにあるすべての既存のオブジェクト(サブオブジェクトを含む)、および新しいオブジェクトに対し、許可を適用します。 既存のオブジェクトに対する既存の設定より優先されます。 |
|
|
Require login for access |
オブジェクトにアクセスしようとしているユーザに対し、クライアント証明書またはログインによって認証を要求します。 認証はオブジェクト単位で設定されます。サーバレベルで認証を要求することもできます( 認証の有効化を参照)。 |
オブジェクトを選択している場合のみ |
フォームの各タブは、選択したディレクトリまたはオブジェクトに適用する許可のタイプを示しています アクセスを制限するには、タブを選択し、[Unrestricted]の選択を解除してから、[Simple List]または[Advanced Expression]のいずれかを選択します。
注意: [Unrestricted]チェックボックスをオフにした場合、[Simple List]または[Advanced Expression]を必ず選択してください。そうしないと、誰もアクセスできなくなります。[Simple List]の以前のエントリがすべてクリアされている場合にも、同じ問題が起こります。サーバに対する読み込みアクセスを持っているユーザがいないことが判明した場合は、コマンドラインオプションを使用してSilverMasterInitを実行することができます (詳細については、 SilverMasterInitプログラムの使用を参照してください)。
[Simple List]では、セキュリティプロバイダによって認識されるユーザとグループを指定したり、プロバイダの設定によるアクセス許可を使用したりすることができます。
[Simple List]はデフォルトの設定です。フォームで、許可を与えるユーザまたはグループを選択し、[>]をクリックします。すべてのユーザまたはグループを選択するには、[>>]をクリックします。 選択したユーザまたはグループが右側のリストボックスに表示されます。
注記: SMCに、グローバルグループを含むローカルグループ(NTユーザマネージャで指定)が、グループ名ではなく、個々のメンバー名で表示されます (詳細については、 NTセキュリティの使用を参照してください)。
ユーザまたはグループから許可を削除するには、該当するユーザまたはグループを選択し、[<]をクリックします。 すべてのユーザまたはグループを削除するには、[<<]を選択します。
特定の条件に基づいたアクセスを指定する式を作成するには、[Advanced Expression]を使用します。詳細な式を使用するには、[Simple List]ではなく、[Advanced Expression]を選択します( 簡潔なリストを使用するを参照)。式には、次のいずれかを含めることができます。
[Unrestricted]が選択されている場合は、オフにします。次に[Advanced Expression]を選択します。
Expression Builderにより、変数、関数および演算子を選択するペインが表示されます。
day()メソッドを使用して、オブジェクトに対する週末のアクセスを禁止します(day()関数により、0から6の数値が返されます。ここでは、0は日曜日、1は月曜日(以降同様)を示します)。
day(now()) >= 1 and day(now())<= 5
同様に、次の式では、月曜日から金曜日における9:00 a.m.から5:00 p.mの間を除き、オブジェクトへのアクセスを禁止します。
(day(now()) >= 1) and (day(now()) <= 5) and (hour(now()) >= 9) and (hour(now()) <= 17)
Expression Builderでは、セキュリティの式に、UUID (Universally Unique Identifiers)をサポートしています。UUIDを使用すると、単純な整数のIDよりもさらに安全なセキュリティシステムを確立できます。UUIDは単純なセキュリティ式でデフォルトで使用されますが、詳細な式でも使用可能です。
UUID式は、Expression Builderに直接入力するか、Expression Builderの[Functions]パネルにある[ID]セクションから選択することができます。
例 UUIDを使用したセキュリティ式の例は、次のとおりです。
この例では、Silver Securityユーザの「administrator」と「bobh」へのアクセスを制限します。
userID() in (userID(\qadministrator\q),userID(\qbobh\q))
この例では、Silver Securityユーザの「bobh」と、NTドメインのDEVAにいるNTユーザの「JWilkins」へのアクセスを制限します。
userID() in (userID(\qbobh\q),userID(\qDEVA\\JWilkins\q))
この例では、Silver Securityユーザの「administrator」と、Silver Securityの開発者グループにいるユーザへのアクセスを制限します。
userID() in (userID(\qadministrator\q)) or userID() userin (groupID(\qDevelopers\q))
この例では、Silver Securityユーザの「administrator」と、NTの経理グループ(DEVAドメインに存在する)にいるユーザへのアクセスを制限します。
userID() in (userID(\qadministrator\q)) or userID() userin (groupID(\qDEVA\\Accounting\q))
配備データベースのセキュリティを保護する場合、ユーザが配備済みのアプリケーション(EAR、WAR、およびEJB JARなど)を実行できるかどうかを確認することも必要です。
J2EEアーカイブは、配備データベースの[Deployed objects]ディレクトリに配備されます。このため、配備するユーザには、そのディレクトリへの「書き込み」許可が必要です。
ユーザが配備済みのアーカイブを実行できるようにするには、通常そのユーザに、制限のないディレクトリレベル(すべての子孫を含む)での「実行」許可を割り当てます。
注記: 前のすべてのタブで、[Apply to this directory and all descendants]チェックボックスをオンにします。
[Read]許可のタブで、[Unrestricted]チェックボックスを選択します。ただし、[Apply to this directory and all descendants]をクリックしないでください。
ユーザがアクセスするアプリケーションの主なディレクトリのすべてに、同じ「読み込み」許可の設定( Step 8のとおり)を適用します。これらの設定により、ユーザにペアレントディレクトリレベルのアクセスが与えられますが、それらのディレクトリ内にある個々のオブジェクトへのアクセスは制限されます。
個々のオブジェクトをチェックし、[Require login for access]オプションを有効にするかどうかを特定します。
インストール時のデフォルトを選択すると、SilverMasterデータベースはアプリケーションサーバにより初期化されます。SilverMasterへのアクセスが制限されている場合、すべてのユーザ(管理グループ所属のユーザは除く)は、管理操作へのアクセス、データベースの追加、およびディレクトリリストの参照ができなくなります。アプリケーションサーバが制限された運用環境で実行されている場合、サーバにアクセスしようとするすべてのユーザに対して認証が要求されます。
インストール時に[Restrict Access to the Novell exteNd Application Server]オプションを選択していない場合、サーバのリソースはロックされません。「アクセスに制限を設定せずに」アプリケーションサーバをインストールすると、許可を設定してアクセスをロックしない限り、不正なユーザが管理操作を実行したり、ディレクトリリストを参照したりすることを可能にしてしまいます。
サーバをロックするための他の方法については、
サーバをロックする方法を参照してください。
オブジェクトに対するデフォルトのセキュリティは次のとおりです。
特定のアクセスを「ディレクトリ」レベルで指定すると、それがそのディレクトリ内で新しく作成されるオブジェクトに対するデフォルトのアクセスになります。ディレクトリは、1つのタイプのオブジェクト(たとえば、[Deployed Objects])のコンテナです。SMCで[Permissions]パネルを選択している場合、ディレクトリを展開してコンテンツを表示することができます(これは、そのディレクトリに対する読み込み許可を持っていることが前提です)。新しく作成されたオブジェクトは、ペアレントオブジェクトのセキュリティアクセスを継承します。
インストールでは、SilverMasterInitにより、2つの定義済みグループ(管理者と開発者)が作成され、両グループに対する許可が設定されます。サーバはすべてのユーザに対してログインを要求します。デフォルトでは、サーバの管理操作へのアクセスは、ロックされているサーバに対するSilver Securityの管理グループのメンバーに限定されます。管理リソースへのアクセス(SMCを使用できるユーザ、セッションや統計情報の表示、またはユーザとグループの追加と削除)は、このグループのメンバーにのみ限定されます。
通常、オブジェクトの読み込みを許可するユーザと、オブジェクトへの書き込みを許可するユーザは別に設定します。実行許可には、別のグループ(エンドユーザなど)を指定することもできます。
定義済みのSilver Securityグループの詳細については、
Silver Securityのユーザおよびグループについてを参照してください。
注記: デフォルトでは、ユーザはSilverMasterデータベースとディレクトリのトップレベルに対する読み込みアクセスを持ち、既存の配備データベースにログインしてアクセスすることができます。
詳細については、
アプリケーションオブジェクトを実行可能にするを参照してください。
配備や配備のプロセスでは、配備データベース、サーバ、またはクラスタ全体、あるいはこれらすべてをロックする必要が生じます。これらをロックすると、適切なアクセス許可の設定を確実にすることによって、運用や配備の環境を保護することができます。
たとえば、アプリケーションを配備する場合、配備データベースをロックして自分以外のアクセスを完全に封鎖し、その後、運用環境で必要に応じて徐々にロックを解除していきます。
注意: インストール時に[Restrict Access to the Novell exteNd Application Server]オプションを選択していない場合、サーバのリソースはロックされません。アプリケーションのロックや配備の準備が整っていない場合でも、サーバを「ロック」する必要があります。
サーバへのアクセスを制限するための方法を説明している節は、次のとおりです。
|
節 |
内容 |
|---|---|
|
アプリケーションサーバのインストールのデフォルト設定を説明 |
|
|
SMCを使用してサーバまたはアプリケーションをロックする方法を説明 |
|
|
SilverCmdを使用してサーバ、アプリケーション、またはクラスタをロックする方法を説明 |
|
|
サーバが保護されているかどうかを確認するための手順のリストを掲載 |
|
|
アプリケーションの開発環境を設定する際の注意事項を説明 |
管理グループのメンバーに対し、「サーバ設定の読み込み」、「サーバ設定の変更」、「ディレクトリリストの読み込み」、「ユーザとグループの読み込み」、および「許可の設定」の許可をサーバまたはクラスタレベルで制限します。
SilverMasterデータベースを選択し、管理グループのメンバーに対して「読み込み」、「変更」、および「許可の設定」の許可を制限し、その制限をすべての子孫に適用します。
SilverMasterデータベースに、制限のない「読み込み」アクセスを設定して、ユーザが(適切な許可で)他のデータベースへアクセスしたり、サーバへログインしたりできるようにします。
詳細については、セキュリティチェックリストの
手順9: SilverMasterデータベースの保護を参照してください。
アプリケーションサーバには、SilverCmd SetSecurityコマンドの入力ファイルである、XMLファイルのサンプルが3つ(サーバのSamples\SilverCmdディレクトリに)含まれています。これらのファイルには、SilverCmdを使用してアプリケーション、サーバ、またはクラスタをロックする方法が示されています。すべてのファイルには、使用方法が詳細に記載されています。
SilverCmdの使用の詳細については、『機能ガイド』の「
SilverCmdリファレンス」を参照してください。
実装するセキュリティのレベルとタイプは、その企業の規模とニーズにより異なります。アプリケーションを配備する段階では(またはすでに配備している場合でも)、ここで説明するセキュリティチェックリストの各手順を実行して、運用環境の保護を確実にする必要があります。
インストール時のデフォルトを選択している場合、SilverMasterデータベースへのアクセスはアプリケーションサーバにより制限されます。SilverMasterへのアクセスが制限されている場合、不正なユーザが管理操作へアクセスしたり、ディレクトリリストを参照したりすることはできません。
アプリケーションの配備中に、特定のアプリケーションやディレクトリに対するアクセスをすでに許可している場合があります。アプリケーションを構築した場合、「すべての」リソースが不正なユーザによるアクセスから保護されているかどうかを確認するのは管理者の役割です。
ヒント: サイトのセキュリティをテストするには、各手順に示されているテストを実行します。
アプリケーションサーバが、企業で使用している「ファイアウォールで保護された状態で」インストールされていることを確認します。
詳細については、
サーバ環境設定を参照してください。
アプリケーションサーバに、各配備データベースへの接続に使用する固有のデータベースアカウントを設定します。
SSLによる通信を使用する場合、サーバ証明書を取得してサーバにインストールします。また、SSLのみを使用する場合は、RSAまたはDSA、あるいはその両方を有効にし、HTTPを無効にする必要があります。
詳細については、
証明書の使用を参照してください。
セキュリティを追加している場合、ランタイムと管理のポートを別に設定します。サーバでは、HTTP、HTTP-RSA、およびHTTPS-DSAのセキュリティプロトコルがサポートされます。設定する各固有ポートでは、関連付けられていないURLと操作は除外されます。別のポートは、サーバの許可の設定と連携して使用するために設定します。
詳細については、
別個のポートのセットアップを参照してください。
ユーザとグループの情報は、Silver Securityを使用して指定するか、外部のセキュリティシステムから取得できます。Silver Securityの場合、情報はすべてSilverMasterデータベースに保存されます。外部セキュリティの場合、情報はすべて外部システムより取得されます。いずれの場合も、ディレクトリとオブジェクトにアクセスを指定します。
詳細については、
Silver Securityのユーザおよびグループの管理を参照してください。
SilverMasterデータベースのすべてのリソースに対する「実行」アクセスを制限する場合、サーバレベルで「ユーザ認証の要求」を有効にする必要があります。それ以外の場合は、ユーザ認証の要求はオプションです。
ユーザがログインせずにまたは証明書を送信せずに、サーバにアクセスできる場合、ユーザは匿名です。通常は、匿名ユーザがサーバに初めてアクセスするときに、証明書またはユーザIDとパスワードのセットを要求して認証を強制することにより、匿名ユーザのアクセスを禁止することが望まれます。ログインはオブジェクト単位で要求することもできます。
匿名ユーザによるサイトへのアクセスの可能性をチェックするには、次のようなアプリケーションへのURLをブラウザに入力します。
http://localhost/
ブラウザに「ログインダイアログボックス」が表示される場合、サイトは匿名ユーザに認証を要求します。
「デフォルトのページ」またはサイトのディレクトリコンテンツの「リスト」(または読み込みアクセス拒否のメッセージ)が表示される場合、サイトは匿名のユーザのアクセスを許可しています。このような場合、次に示すユーザの認証を要求するための手順を実行します。
詳細については、
認証の有効化を参照してください。
ユーザがブラウザから特定のURLを要求すると、アプリケーションサーバはディレクトリのリストを表示します。ディレクトリエントリの表示がサイトの保護上、重要でない場合でも、これらのリストの表示を防ぐ場合があります。
不正なユーザがHTMLのディレクトリリストとHTML以外のディレクトリリストにアクセスできるかどうかを確認するには、次の2つの手順を実行します。
HTMLディレクトリリストが有効かどうかをチェックする(およびオプションで無効にする)
ブラウザで、次のような、サーバのディレクトリのURLを入力します。
http://localhost/SilverStream/Meta/
HTMLディレクトリリストが「保護されている」場合、次のエラーメッセージが表示されます。
You are not allowed to read the specified resource. Additional technical details about this error are available.
HTMLディレクトリリストが表示される場合、次の手順に従って、ディレクトリリストへのアクセスを無効にできます。
HTML以外のディレクトリリストが有効かどうかをチェックする(およびオプションで無効にする)
http://localhost/SilverStream/Meta/?access-mode=text
HTML以外のディレクトリリストが「保護されている」場合、次のエラーメッセージが表示されます。
You are not allowed to read the specified resource. Additional technical details about this error are available.
ディレクトリのコンテンツがプレインテキストで表示される場合、次の手順に従って、ディレクトリリストへのアクセスを無効にできます。
管理リソースのサーバ設定の読み込みに関する設定をチェックするでの説明に従って、「ディレクトリリストの読み込み許可」を設定します。
詳細については、
認証の有効化を参照してください。
「管理リソース」では、管理設定を表示、修正、および変更する権限(および設定にアクセスする許可)を制御します。管理リソースへの許可を制限することにより、サーバオブジェクトを保護できます。管理リソースのセキュリティを設定すると、不正なユーザが管理操作を実行することはできなくなります。
次の2種類のテストを実行して、サーバへのアクセスをチェックします。ただし、テストURLが保護されたサーバの情報にアクセスできない場合でも、管理リソースのセキュリティの設定により、適切なユーザへのアクセスが正しく制限されているかどうかをSMCを使用して確認する必要があります。
匿名ユーザとして、アプリケーションオブジェクトの表示と変更を試します。
「保護された」サーバには、次のメッセージが表示されます。
Read Access Denied. Additional technical details about this error are available.
アプリケーションオブジェクトを表示したり、変更したりできる場合、 管理アクセスを保護するの手順を「直ちに」実行する必要があります。
管理リソースのサーバ設定の読み込みに関する設定をチェックする
http://localhost/SilverStream/Administration/
「保護された」サーバには、次のメッセージが表示されます。
Read Access Denied. Additional technical details about this error are available.
サイトに固有のサーバプロパティが(次のテキストサンプルと類似した)プレインテキストのリストで表示される場合、サイトは保護されていません。
com.sssw.loadbalancer.connect.tryInterval=30 com.sssw.srv.server=exteNd ApplicationServer/5.0 com.sssw.srv.http.ClientPool.minIdle=0 com.sssw.loadbalancer.connect.sleepCount=10 com.sssw.srv.http.ClientPool.minFree=10
サイトの管理リソースが保護されていない場合、 管理アクセスを保護するの手順を「直ちに」実行する必要があります。
注意: 管理リソースへのアクセスが制限されていないことが判明した場合、各データベースに対するユーザ名とパスワードを直ちに変更する必要があります。この手順により、リソースへのアクセスが制限されていなかったときにこの情報にアクセスしていたユーザは、今後アクセスできなくなります。
[Permissions]の各タブで、[Unrestricted]チェックボックスをオフにして、アクセスを制限します。
[Unrestricted]チェックボックスをオフにすることによって「サーバ設定の読み込み」の許可を制限することが特に重要です。
選択したタブで、ユーザとグループを選択するか、許可を割り当てるユーザを指定する式を入力します。5つのタブ( 管理サーバの許可の表を参照)のすべてで、「管理」グループのメンバーにアクセスを制限する必要があります(デフォルトでは、開発者と管理者の両方に与えられています)。
詳細については、
許可のタイプを参照してください。
SilverMasterデータベースを保護する際には、特別な注意が必要です。ユーザやグループの情報といったリソースを保存することに加え、SilverMasterでは、サーバが使用できる他のすべての配備データベースに関するログインのリソースとリファレンスも保存されます。
アプリケーションが適切に制御されていない場合、通常SilverMasterデータベースに対して読み込みの制限を適用しません。SilverMasterデータベースのトップレベルへの読み込みアクセスを許可し、ユーザがサーバ上のすべてにアクセスできるようにする必要があります。メインディレクトリレベル以下のすべてのリソースをロックする場合もあります。
SilverMasterデータベースへの読み込みアクセスを誤って制限してしまった場合、[Server Security]パネルで、[Require user authentication]を有効にします。認証の要求を忘れた場合、-aオプションでSilverMasterInitを実行し、コマンドラインからのユーザ認証を有効にします。認証の変更を有効にするには、サーバを再起動する必要があります。
SilverMasterデータベースへのアクセスをテストする
不正なユーザからの SilverMaster データベースへのアクセスが可能かどうかをチェックするには、 手順10: 配備データベースの保護を実行します。
この中の Step 4で、アクセスを制限したと思われるSilverMasterデータベースを選択します。SilverMasterデータベースのペアレントレベル以下に保存されているオブジェクトを選択し、アクセスをテストします。
メインディレクトリレベル以下のSilverMasterリソースをロックする
「読み込み」、「変更」、および「許可の設定」を管理者グループのメンバーに制限し、[Apply to this directory and all descendants]ラジオボタンをオンにします。許可の設定の詳細については、 管理サーバの許可の表を参照してください。
SilverMasterデータベースを再度選択し、制限のない「読み込み」アクセスを設定します(このとき、[Apply to this directory only]が選択されていることを確認します)。
SilverMasterの下層で展開されているディレクトリとサブディレクトリ(たとえば、[Deployed Objects])で、 Step 6と Step 7を繰り返します。
詳細については、
配備データベースの設定を参照してください。
ディレクトリとオブジェクトへの許可を設定して、配備データベースへのユーザのアクセスを制限する必要があります。
許可の設定の理解 許可の設定は、ディレクトリ、すべてのサブディレクトリ、およびディレクトリ内またはサブディレクトリ内のすべてのオブジェクトに適用されます。各アプリケーションについて、オブジェクトをチェックし、階層の各ディレクトリベルで読み込み、書き込み、デフォルトの実行、および許可の設定のアクセスを許可するユーザを指定します。階層内の各オブジェクトまたはリソースを保護する必要があります。
制限を設定しない限り、すべてのユーザが「オブジェクト」に対する完全なアクセス許可を持つことになります。「ディレクトリ」に特定のアクセスを指定すると、それがそのディレクトリ内で新しく作成されるオブジェクトに対するデフォルトのアクセスになります。SMCで[Permissions]パネルを選択している場合、ディレクトリを展開してコンテンツを表示することができます(これは、そのディレクトリに対する読み込み許可を持っていることが前提です)。許可のタブの下部にある[Apply to this directory and all descendants]ラジオボタンをオンにすると、複数のディレクトリの保護を設定できます。必要に応じて、選択したオブジェクトに対して[Require login for access]チェックボックスを有効にできます。
注記: アプリケーションオブジェクトにEJBが含まれている場合、オブジェクトディレクトリのペアレントディレクトリ(およびすべての子孫)に対する読み込みアクセスが制限されていてはなりません。これは、アプリケーションによって読み込まれる必要のあるクラスがオブジェクトディレクトリに含まれているためです。
データベースオブジェクトへのアクセスをテストする(およびオプションで保護する)
左側のパネルから、ディレクトリ構造のペアレントレベルの下層に保存されている、制限する必要があると思われるオブジェクトを選択します。
各タブをクリックし、このオブジェクトに対するアクセスを持つユーザを確認します。許可の制限が正しく設定されていない場合、次の手順を実行します。
詳細については、
データベースオブジェクトの許可および
アプリケーションオブジェクトを実行可能にするを参照してください。
J2EEアーカイブを配置する際、配備記述子に指定されたセキュリティの役割を運用環境のセキュリティプリンシパルにマップします。たとえば、beanの開発者が3種類のセキュリティの役割を指定している場合、これらの同じ役割がターゲットサーバ上のセキュリティグループまたは個々のユーザにマップされる必要があります。(管理を容易にするため)役割をグループにマップする場合、グループのメンバーシップを確認する必要があります。
ロボットは、検索エンジンやWebクロウラのような、リンクされたページを再帰的に取得することによってWebサイト上のたくさんのページを移動できるプログラムです。アプリケーションサーバでは、一般的に使用されている「ロボット排除プロトコル」がサポートされます。これにより、排除プロトコルに準拠したロボットがWebサイト内のどのファイルとディレクトリにアクセスできるかを指定できます。
注記: ロボット排除プロトコルは完全に任意です。ロボットがプロトコルに準拠するかどうかは確実ではありませんが、ほとんどの場合、準拠しています。
この排除プロトコルでは、ロボットのアクセスポリシーはrobots.txtというファイルに指定されます。robots.txtファイルはアプリケーションサーバに付属しており、ロボットにサーバのルートより下層に進まないように指示します(つまり、排除プロトコルに準拠するすべてのロボットへのアクセスはすべて拒否されます)。したがってデフォルトでは、プロトコルに準拠するロボットによるWebサイトへのアクセスはすべて拒否されます。
robots.txtを変更して、ロボットに許可するアクセスを指定することができます。たとえば、あるディレクトリのみに対する検索エンジン型のアクセスを許可する場合などがあります。
サーバの\Resourcesディレクトリで、robots.txtを編集します。
プロトコルの形式とセマンティック(例を含む)の詳細については、
http://www.robotstxt.org/wc/robots.htmlを参照してください。
プロトコルに準拠しているロボットが、次回にサーバからのアクセスポリシーを要求したとき、更新されたrobots.txtが読み込まれ、情報がルートに返信されます。
|
管理ガイド 05/21/03 10:02:24 |
Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.