この例では、encUtilCmd のコマンド ライン ユーティリティ ファイル定義を使用して認可ルールを説明しますが、これは DSM エクスプローラでも似ており、ルール セットはほぼ同様のものです。
以下で説明するような、encUtilCmd ユーティリティおよびその 'create' コマンドを使用して、簡単なルール セットを生成することができます。 このユーティリティでは、ルールを実行するためのテスト スクリプトも同時に生成できます。
この例では、以下の領域が使用されます。
これは、すべてのインフラストラクチャ ノード(マネージャ、サーバ、ルータなど)を含めるのに使用される領域です。 ENC インフラストラクチャは、Forward, Inc. によって管理されています。ここでの例では、領域名を目立つようにかっこで囲んでいますが、すべての領域名は等しく扱われるので、かっこで囲む必要はありません。 すべてのインフラストラクチャ コンピュータは、DC=forwardinc,DC=com という共通の RDN (Relative Distinguished Name)を使用した証明書名を持っています。
これは、DSM インフラストラクチャを構成するすべてのコンピュータを保持している領域の例です。 領域同士をよりはっきりと描写するために、ENC インフラストラクチャと DSM インフラストラクチャは文脈上区別されます。 すべての DSM コンピュータは、DC=forward-dsm,DC=com という RDN を使用した証明書名を持っています。
これは、'east' 会社のすべてのコンピュータを保持している領域の例です。 すべての east コンピュータは、DC=east,DC=com という RDN を使用した証明書を持っています。
これは、'west' 会社のすべてのコンピュータを保持している領域の例です。 すべての west コンピュータは、DC=west,DC=com という RDN を使用した証明書を持っています。
この例では、ENC ノード(最小限の DSM エージェントでもある)が、DSM ノードとは別のスタンドアロン デバイスとして扱われています。 DSM ENC 環境では、DSM 領域ノードが個別領域内のすべてのノードを認識しそれらに接続でき、領域エージェントが DSM 領域内のノードに接続できるけれども、管理対象領域のメンバは別の管理対象領域のメンバを認識することや、それらに接続することができないことが通常の要件になります。
ここでは、インフラストラクチャに通信を許可し、領域コンピュータが仮想ネットワークに接続し、それを利用できるようにもするために、認可ルールの定義を開始する必要があります。 最初のインスタンスでは、領域が使用され、相互参照されるように宣言する必要があります。
以下は、認可ルールファイルの領域セクションから抜粋したものです。 上記の 4 つの領域について定義しています。
realm
{Name "[infrastructure]" Notes "ENC infrastructure realm"}
{Name "[dsm]" Notes "The DSM infrastructure realm"}
{Name "east" Notes "East Inc. Contact is admin@east.com"}
{Name "west" Notes "West Inc. Contact is admin@west.com"}
end
次の手順では、証明書 URI と領域自体とのマッピングを定義します。 この例では、すべてのエントリに対するパターン照合を使用します。
URIMapping
{URI ".*,DC=forwardinc,DC=com" Enabled "1" Type "Pattern" Realm "[infrastructure]"}
{URI ".*,DC=forward-dsm,DC=com" Enabled "1" Type "Pattern" Realm "[dsm]"}
{URI ".*,DC=east,DC=com" Enabled "1" Type "Pattern" Realm "east"}
{URI ".*,DC=west,DC=com" Enabled "1" Type "Pattern" Realm "west"}
end
次に、IP アドレス ホワイト リストを扱います。 この例では、2 つのパブリック IPv4 サブネットが ENC インフラストラクチャにアクセスできるようにします。
IPAddWhiteList
{IPAddress "130\.119\..+" enabled "1" Type "Pattern"}
{IPAddress "141\.202\..+" enabled "1" Type "Pattern"}
{IPAddress "131\.119\..+" enabled "1" Type "Pattern"}
end
個別のアクセス制御エントリに進む前に、アクティブな時間範囲を最後に作成します。 ここでの例のために、時間範囲はすべての曜日に対してアクティブで、1 日のうちの 24 時間すべてをカバーするものとします。
TimeRange
{Name "all-days" enabled "1" Hours "00:00 - 00:00" Type "normal" Weekdays "sunday - saturday"}
end
これで、アクセス ルールに進むために必要な基本要素がそろったので、アクセス制御エントリ自体に集中できます。 この例では、わかりやすくするために、主に個別のアクセス制御エントリを使用します。 実際の現場では、いくつかのルールを単一のルールに組み込んだほうがよりシンプルで効率が良くなる場合があります。
以下は、例示としての目的のみで使用される単一のアクセス制御エントリ ここで議論されるすべてのルールは、TimeACL および終了タグ間で定義されるか、または設定 UI で作成される必要があります。
AC-[infrastructure]-[infrastructure] という名前のこのルールは、インフラストラクチャ領域のすべてのメンバが、インフラストラクチャ領域の他のメンバにアクセスし、それに対して認証を行えるようにするエントリを定義します。 このルールは、以前に定義した 'all-days' 時間範囲を参照するので、毎日、一日中アクティブになります。
TimeACL
{Name "AC-[infrastructure]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[infrastructure]" SecObjType "realm" SecObj "[infrastructure]" Events "AuthenticatedConnection"}
...
end
別の領域にも似たようなルールを追加する必要があります。ここでは、'[dsm]'、'east'、および 'west' です。 ルールは、上記のものと同一ですが、セキュリティ プリンシパルは以下のような別の領域のものに変更されています。
{Name "AC-[dsm]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[dsm]" SecObjType "realm" SecObj "[infrastructure]" Events "AuthenticatedConnection"}
{Name "AC-east-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "east" SecObjType "realm" SecObj "[infrastructure]" Events "AuthenticatedConnection"}
{Name "AC-west-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "west" SecObjType "realm" SecObj "[infrastructure]" Events "AuthenticatedConnection"}
インフラストラクチャ エントリをさらにいくつか定義します。 これらのエントリには、目的を説明するコメントが含まれます。 前述のように、[イベント]フィールドが「ManagerRegisterServer ServerRegisterRouter ManagerRegisterRouter ManagerRegisterAgent」に設定された単一のエントリに、これらのルールすべてを合理化することができます。 ルールを分ける利点としては、ENC サブシステム内部の検証ツールおよび監査ロギングが、操作の許可または拒否の理由を記録する際に、独自のルール名を使用するということが挙げられます。
このエントリによって、すべてのインフラストラクチャ ノートがサーバをマネージャに登録できます。
{Name "MRS-[infrastructure]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[infrastructure]" SecObjType "realm" SecObj "[infrastructure]" Events "ManagerRegisterServer"}
;
このエントリによって、すべてのインフラストラクチャ ノートがルータをサーバに登録できます。
{Name "SRR-[infrastructure]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[infrastructure]" SecObjType "realm" SecObj "[infrastructure]" Events "ServerRegisterRouter"}
;
このエントリによって、すべてのインフラストラクチャ ノートがルータをマネージャに登録できます。
{Name "MRR-[infrastructure]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[infrastructure]" SecObjType "realm" SecObj "[infrastructure]" Events "ManagerRegisterRouter"}
;
このエントリによって、すべてのインフラストラクチャ ノートがクライアントをマネージャに登録できます。
{Name "MRA-[infrastructure]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[infrastructure]" SecObjType "realm" SecObj "[infrastructure]" Events "ManagerRegisterAgent"}
ここで、DSM および管理対象領域用にインフラストラクチャ ノードに登録できるように宣言する必要があります。 以下のエントリは、この設定を行います。
{Name "SRA-[dsm]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[dsm]" SecObjType "realm" SecObj "[infrastructure]" Events "ServerRegisterAgent"}
{Name "SRA-east-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "east" SecObjType "realm" SecObj "[infrastructure]" Events "ServerRegisterAgent"}
{Name "SRA-west-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "west" SecObjType "realm" SecObj "[infrastructure]" Events "ServerRegisterAgent"}
また、ENC ゲートウェイ ルータには、接続先および中継先となるすべてのノードの認可設定も必要です。 以下のエントリによって、このことを定義します。
これらのエントリは、すべての DSM ノードがインフラストラクチャ領域内のルータに接続できるようにします。
{Name "RAC-[dsm]-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[dsm]" SecObjType "realm" SecObj "[infrastructure]" Events "RouterAgentConnect"}
これらのエントリは、名前付き領域のすべてのエージェント ノードがインフラストラクチャ領域内のルータに接続できるようにします。
{Name "RAC-east-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "east" SecObjType "realm" SecObj "[infrastructure]" Events "RouterAgentConnect"}
{Name "RAC-west-[infrastructure]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "west" SecObjType "realm" SecObj "[infrastructure]" Events "RouterAgentConnect"}
以上で、DSM および管理対象領域のすべての ENC ノードが ENC インフラストラクチャ内のすべてのノードに接続し、認証を行い、登録できるようにするための設定データが十分に準備できました。 次の手順では、名前のルックアップおよびエージェント接続の機能を使用できるようにします。 以下のエントリによって、このことを行います。
すべてのノードには、管理対象領域がすべての DSM ENC に接続されたコンピュータの名前をルックアップできるという、ミラー ルールがあります。 さらに、DSM ENC に接続されたコンピュータは、管理対象領域のすべてのメンバを参照できます。 ルールおよびミラー ルールは、以下に示すように明示的に指定する必要があります。
'east' が 'west' を参照できるようにするルール、およびその逆で 'west' が 'east' を参照できるようにするルールはないので、領域間の参照は不可能であることに注意してください。 このネームスペースの分割は、仮想ネットワークが安全に動作するために欠かせないものです。
これらのエントリは、名前付き領域のすべてのエージェント ノードが DSM 領域内で ENC メンバのルックアップを実行できるようにします。
{Name "NL-east-[dsm]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "east" SecObjType "realm" SecObj "[dsm]" Events "ManagerNameLookup"}
{Name "NL-west-[dsm]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "west" SecObjType "realm" SecObj "[dsm]" Events "ManagerNameLookup"}
これらのエントリは、すべての DSM ノードが名前付きの領域内で ENC メンバのルックアップを実行できるようにします。
{Name "NL-[dsm]-east" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[dsm]" SecObjType "realm" SecObj "east" Events "ManagerNameLookup"}
{Name "NL-[dsm]-west" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[dsm]" SecObjType "realm" SecObj "west" Events "ManagerNameLookup"}
以下のエントリは、DSM および管理対象領域と、エージェント間で接続が行えるようにします。 さらに、これらのエントリは、以前のルール セットと組み合わせることができましたが、分割することでルールのより詳細なロギングおよびトラブルシューティングが行えるようになります。
これらのエントリは、名前付き領域のすべてのエージェント ノードが DSM 領域内で ENC メンバに接続できるようにします。
{Name "ACN-east-[dsm]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "east" SecObjType "realm" SecObj "[dsm]" Events "AgentConnect"}
{Name "ACN-west-[dsm]" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "west" SecObjType "realm" SecObj "[dsm]" Events "AgentConnect"}
これらのエントリは、すべての DSM ノードが名前付きの領域内で ENC メンバに接続できるようにします。
{Name "ACN-[dsm]-east" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[dsm]" SecObjType "realm" SecObj "east" Events "AgentConnect"}
{Name "ACN-[dsm]-west" enabled "1" RuleType "allow" TimeRange "all-days" SecPrincType "realm" SecPrinc "[dsm]" SecObjType "realm" SecObj "west" Events "AgentConnect"}
これでルール セットの例は終わりです。
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|