Sun Management Center 3.6 ユーザーガイド

第 18 章 Sun Management Center のセキュリティ

この章では、セキュリティ機能、ユーザとグループ、およびその権限について説明します。この章の内容は次のとおりです。

Sun Management Center のセキュリティの概念

Sun Management Center ソフトウェアのセキュリティは、JavaTM セキュリティクラスと SNMPv2 usec (SNMPバージョン 2、ユーザベースのセキュリティモデル) のセキュリティ規格に基づいています。

ソフトウェアが提供するセキュリティレイヤを次に示します。

アクセス制御カテゴリ

次の項目は、ソフトウェアが提供する ACL カテゴリです。

ACL カテゴリを理解するためには、まず Sun Management Center ソフトウェアのユーザとグループについて理解する必要があります。次の項目では、ユーザとグループについて説明します。

Sun Management Center のユーザ

Sun Management Center ユーザは、サーバホスト上で有効な UNIX ユーザです。そのため、システム管理者は、有効ユーザを /var/opt/SUNWsymon/cfg/esusers ファイルに追加しなければなりません。このファイルにユーザ名がないと、そのユーザは Sun Management Center ソフトウェアにログインできません。

一般ユーザ

管理者は、Sun Management Center ソフトウェアにログインする必要のあるすべてのユーザの ID をユーザリストに追加する必要があります。このファイルの全ユーザは、デフォルトで一般的なアクセス権を持っています。ただし、追加の権限を付与されたユーザは除きます。詳細は、「ユーザに esadm, esops または esdomadm 権限を付与する」を参照してください。

esusers ファイルに含まれるユーザは、すべて一般ユーザとして認識されます。Sun Management Center の一般ユーザは、デフォルトで次の機能を実行できます。

Sun Management Center のスーパーユーザ

Sun Management Center のスーパーユーザは、以降で説明するすべてのグループに自動的に所属し、管理者権限 (「Sun Management Center の管理者 (esadm)」 を参照) を持ちます。

Sun Management Center のグループ

次に示すグループは、Sun Management Center サーバの設定中に、サーバホスト上にデフォルトで作成されます。

また、仮想グループに属する Sun Management Center の全ユーザを ANYGROUP と呼びます。

これらのグループは、Sun Management Center のサーバレイヤが動作するマシン上で定義する必要がありますが、他のマシンで定義する必要はありません。次の項目では、これらのグループの詳細について説明します。


注 –

前述のグループは、/etc/group ファイルに定義されます。


Sun Management Center のオペレーター (esops)

グループ esops に所属する Sun Management Center ソフトウェアのユーザは、通常オペレーターユーザとして管理システムの実行、監視、ある値度のパラメータの設定などを行います。esops の実行可能な操作には、一般ユーザに許可される操作の一部が含まれます。

Sun Management Center の管理者 (esadm)

グループ esadm に所属するユーザは管理者操作を実行できます。管理者操作は、オペレーターユーザが実行可能な操作のスーパーセット(上位集合)です (「Sun Management Center のオペレーター (esops)」を参照)。さらに、管理者ユーザ (esadm) は、オペレーターユーザ (esops) が実行可能な全操作のほかに次の操作を実行できます。

Sun Management Center のドメイン管理者 (esdomadm)

esdomadm に所属するユーザは、次のドメイン管理者操作を実行できます。


注 –

前述の権限を除けば、esdomadm に所属するユーザは、別の設定がないかぎり一般ユーザと変わりません。


管理者、オペレーター、および一般機能

次の表に、ユーザがデフォルトで実行できる各種機能を示します。各機能ごとに実行可能なユーザが X 印で示されています。

この表は、すべてのモジュールに適用されます。ただし、各モジュールが自ら制御する固有の制限を持つ場合もあります。

表 18–1 ドメイン管理者、管理者、オペレーター、および一般機能

機能 

ドメイン管理者 

管理者 

オペレーター 

一般 

モジュールの読み込み 

 

 

 

モジュールの読み込み解除 

 

 

 

管理ドメインの作成 

 

 

 

管理ドメイン内でのグループの作成 

 

 

 

グループまたは管理ドメインへのオブジェクトの追加 

 

 

 

管理ドメイン、ホスト、モジュールの表示 

ACL ユーザまたはグループの設定 

 

 

 

モジュールの無効化と有効化 

 

 

モジュールの使用可能スケジュールの設定 

 

 

アラーム制限の設定 

 

 

規則パラメータの設定 

 

 

アラーム処理の実行 

 

 

任意コマンドの実行 

 

 

再表示間隔の設定 

 

 

手動再表示の開始 

履歴ログの有効化と無効化 

 

 

履歴ログパラメータの設定 

 

 

イベントの肯定応答、削除、対処 

 

 

イベントの表示 

Sun Management Center ソフトウェアの上記カテゴリは、包括関係を維持します。つまり、esadm 権限を持つユーザは、esops 権限を持つユーザとまったく同じ操作を実行することができます。管理者は、esops ユーザが esadm ユーザより多くの操作を実行できるように、デフォルト権限を変更することが可能です。包括関係とは、esopsesadm および esdomadm の各権限が同等であることを意味します。

デフォルト権限を無効にする方法については、「デフォルトのエージェント権限を無効にする」を参照してください。

デフォルト権限

管理ドメインは、トポロジマネージャで操作します。ここでは、トポロジマネージャおよびその他のエージェントとモジュールのデフォルト権限について説明します。

トポロジマネージャのデフォルト権限

次の表に、管理ドメインを維持するトポロジマネージャのデフォルト権限を示しま す。

表 18–2 トポロジマネージャのデフォルト権限

トポロジマネージャ 

デフォルト権限 

管理者ユーザのリスト 

 

オペレーターユーザのリスト 

 

一般ユーザのリスト 

 

管理者 SNMP コミュニティのリスト 

 

オペレーター SNMP コミュニティのリスト 

 

一般 SNMP コミュニティのリスト 

public

管理者グループのリスト 

esdomadm

オペレーターグループのリスト 

esops

一般グループのリスト 

ANYGROUP

その他の Sun Management Center のコンポーネントとモジュールのデフォルト権限

次の表に、トポロジマネージャ以外のコンポーネントとモジュールのデフォルト権限を示します。

表 18–3 Sun Management Center のコンポーネントとモジュールのデフォルト権限

コンポーネントとモジュール 

デフォルト権限 

管理者ユーザのリスト 

 

オペレーターユーザのリスト 

 

一般ユーザのリスト 

 

管理者グループのリスト 

esadm

オペレーターグループのリスト 

esops

一般グループのリスト 

ANYGROUP

管理者 SNMP コミュニティのリスト 

 

オペレーター SNMP コミュニティのリスト 

 

一般 SNMP コミュニティのリスト 

public

ANYGROUP は真の UNIX グループではありませんが、Sun Management Center ソフトウェアにログイン可能なすべてのユーザが、オブジェクトへの一般的なアクセス権を付与されることを意味する、特別なキーワードです。

アクセス制御の定義と制限

esadm グループは、ユーザとグループに対して ACL 機能を指定することができます。対象となるコンポーネントは次のとおりです。

管理者、オペレーター、および一般的なアクセス

ACL 仕様は次のいずれか 1 つまたは複数のパラメータで確立、定義されます。

Sun Management Center の遠隔サーバアクセス

ユーザは、Sun Management Center の遠隔サーバ上で実行中のセッションから、データにアクセスして情報を表示することができます。この場合、ユーザには一般ユーザの読み取り専用のアクセス権が付与されます。異なるサーバ上で起動する Sun Management Center セッションの動作は、各セッションのサーバコンテキストで定義されます。詳細は、「Sun Management Center のサーバコンテキストとセキュリティ」を参照してください。

ユーザとして異なるサーバコンテキストにアクセスして、さまざまな設定を行うことができます。

異なるサーバコンテキストにリンクして、ほかのサーバコンテキストのオブジェクトの最上位状態を表示することができます。

Sun Management Center のサーバコンテキストとセキュリティ

サーバコンテキストは、Sun Management Center エージェントとそれらエージェントが接続されている特定のサーバレイヤの集合です。ーバコンテキスト内のエージェントとホストは、次の主要コンポーネントを共有します。

すべての Sun Management Center コンポーネントとエージェントは、インストール時に、それぞれのトラップハンドラとイベントマネージャの位置を認識するよう設定されます。Sun Management Center ソフトウェアは、IP アドレスとポートアドレスによってトラップハンドラとイベントマネージャを特定します。ユーザは、自分のサーバコンテキスト内にいるかどうかを判断するために、アクセスするサーバの IP アドレスとポートアドレスを知っておく必要があります。サーバコンテキストは、それぞれ個別のポート番号を持っています。

遠隔サーバコンテキストは、遠隔エージェントと関連するサーバレイヤの集合です。

エージェントはサーバレイヤからセキュリティ設定情報を受け取ります。このセキュリティ情報によって、エージェントは受け取った管理要求を認証し、管理要求の一部として要求された操作に対してアクセス制御を行えます。

サーバ間の制限

一部のセキュリティ制限は、ユーザがサーバコンテキスト間で通信する場合に適用されます。

現在の Sun Management Center 環境では、ほかのサーバからの情報アクセスに関していくつか制限があります。


注 –

コンソールでは、実際に異なるサーバコンテキストにアクセスしているかどうかはっきりしない場合があります。この場合は、「詳細」ウィンドウの「情報」タブでサーバの IP ポート番号またはアドレスを確認してください。


アクセス制御の使用

ここでは、次の主要なアクセス制御機能の実行方法について説明します。

ProcedureSun Management Center のユーザを追加する

手順
  1. Sun Management Center サーバホスト上でスーパーユーザになります。


    % su -
    
  2. /var/opt/SUNWsymon/cfg/esusers ファイルを編集します。

  3. 新規の行にユーザ名を追加します。

    ザ名が有効な UNIX ユーザであるかどうか確認してください。

  4. ファイルを保存して、エディタを終了します。

    ユーザリストに追加されたユーザは、デフォルト権限を有します。詳細は、「デフォルト権限」および 「デフォルトのエージェント権限を無効にする」を参照してください。

Procedureモジュールへのアクセスを制御する

手順
  1. 次のいずれかの方法で属性エディタにアクセスします。

    • 選択したオブジェクト上でマウスボタン 3 を押して、ポップアップメニューから「属性エディタ」を選択します。

    • メインコンソールウィドウの「ツール」メニューから「属性エディタ」を選択します。

    「属性エディタ」が表示されます。ウィンドウ下のボタンは、「取消し」と「ヘルプ」を除いて選択不可の状態です。ウィンドウのフィールドを変更すると、すべてのボタンが選択可能になります。

  2. 「属性エディタ」ウィンドウの「セキュリティ」タブを選択します。

  3. 必要に応じて値を変更します。

    次に、各フィールドのデータの説明と値の例を示します。

    管理者ユーザ

    ユーザのリスト。jim は、管理者操作が可能なユーザです。

    オペレーターユーザ

    オペレーターのリスト。john などは、オペレーター操作が可能なユーザです。複数のエントリの場合は、1 つまたは複数の空白で区切ります。

    一般ユーザ

    一般ユーザのリスト。nick および richie は、一般操作が可能なユーザです。

    管理者グループ

    管理者グループに属する全ユーザは、管理者操作を実行できます。デフォルトでは、必要に応じて、これらのユーザは esadm または esdomadm になります。

    オペレーターグループ

    esops に属する全ユーザは、オペレーター操作を実行できます。

    一般ユーザグループ

    ANYGROUP は、一般操作を実行できる仮想グループです。Sun Management Center の全ユーザは、仮想グループに属します。

    管理者のコミュニティ

    このフィールドは空で、SNMP を使用する管理者操作を実行できる SNMP コミュニティがないことを意味します。

    オペレーターのコミュニティ

    このフィールドは空で、SNMP を使用するオペレーター操作を実行できる SNMP コミュニティがないことを意味します。

    一般ユーザのコミュニティ

    デフォルトでは、public は、SNMP を使用する一般操作を実行できる SNMP コミュニティです。

    前述したとおり、「ユーザ」の下に「オペレーター」を複数エントリする場合などは、空白またはコンマで区切ります。

    セキュリティ権限の詳細は、「アクセス制御カテゴリ」を参照してください。

Procedureユーザ定義のグループを ACL に追加する

手順
  1. Sun Management Center サーバホスト上でスーパーユーザになります。

  2. groupadd コマンドを使用してグループを作成します。


     # /usr/sbin/groupadd groupname
    
  3. 作成したグループにユーザを追加します。

    1. /etc/group ファイルで、グループにユーザを追加します。

    2. ファイルを保存して、エディタを終了します。

  4. 新規グループを ACL に追加します。

    詳細は、「モジュールへのアクセスを制御する」を参照してください。

Procedureユーザに esadm, esops または esdomadm 権限を付与する

手順
  1. Sun Management Center サーバホスト上でスーパーユーザになります。

  2. 必要に応じて、/var/opt/SUNWsymon/cfg/esusers ファイルにユーザ名を追加します。

  3. /etc/group ファイルで、次のいずれかの行にユーザを追加します。esadm esops、または esdomadm

  4. ファイルを保存して、エディタを終了します。

ProcedureSun Management Center のユーザを削除する

手順
  1. Sun Management Center サーバホスト上でスーパーユーザになります。

  2. /var/opt/SUNWsymon/cfg/esusers ファイルで、削除するユーザ名の行を削除します。

  3. ファイルを保存して、エディタを終了します。

  4. Sun Management Center のグループからユーザ名を削除します。


    注 –

    Sun Management Center のユーザリストから削除されたユーザは、以後 Sun Management Center サーバにログインすることはできません。ユーザを削除する場合は、必ずすべての ACL から削除してください。


Procedureデフォルトのエージェント権限を無効にする

Sun Management Center ソフトウェアでは、管理者だけが、属性エディタを使用してデフォルト権限を無効にし、特定オブジェクトの ACL リストを変更することができます。

手順
  1. 権限を変更する必要のある管理オブジェクトの属性エディタにアクセスします。

  2. セキュリティ情報を表示して変更するには、「属性エディタ」ウィンドウの「セキュリティ」タブをクリックします。

  3. 必要に応じて情報を変更します。

  4. セキュリティの変更を適用して「属性エディタ」ウィンドウを閉じる場合は、「了解」をクリックします。

    「属性エディタ」ウィンドウを開いたままセキュリティの変更を適用する場合は、「適用」をクリックします。

SNMP 暗号化 (プライバシ)

Sun Management Center は、そのサーバとエージェントコンポーネントとの間の SNMP 通信の暗号化をサポートしています。SNMP 暗号化サポートでは、CBC-DES 対称暗号化アルゴリズムが使用されています。

Sun Management Center 上での SNMP 暗号化は、 es-config スクリプトを使用して有効にできます。このスクリプトを使用することによって、自動ネゴシエーション機能をオンまたはオフに設定できます。詳細は、「SNMP 暗号化の有効化」を参照してください。

Solaris 9 以前での暗号化

Solaris 9 以前が動作するシステムの場合、暗号化は、 SUNWcry パッケージに基づいて行われます。

Solaris 9 が動作するシステムの場合は、次のことに注意してください。

Solaris 10 での暗号化

Solaris 10 が動作するシステムの場合、暗号化は Public Key Cryptographic Standard (PKCS#11) に基づいて行われます。

PKCS#11 は、暗号化情報を保持し、暗号化機能を実行するデバイスに API (Cryptoki という) を指定します。RSA 定義の PKCS#11 の詳細は、http://www.rsasecurity.com/rsalabs を参照してください。

Solaris 10 が動作するシステムの場合は、次のような条件があります。

Linux での暗号化

Linux が動作するシステムの場合、暗号化は Public Key Cryptographic Standard (PKCS#11) に基づいて行われます。

SNMP 暗号化は、PKCS11_API.so 暗号化ライブラリに基づいて行われます。このライブラリはデフォルトではインストールされません。 /usr/lib/pkcs11 にあるこのライブラリを準備して、pkcs_slot デーモンが暗号化を有効にできるようにする必要があります。

ネゴシエーション機能

暗号化をサポートする Sun Management Center 3.6 は、エージェントが暗号化をサポートするかどうかにかかわらず、エージェントを動的にサポートするように設定できます。この機能のことを「自動ネゴシエーション機能」と呼び、オンまたはオフに設定できます。

自動ネゴシエーション機能をオフに設定している場合、サーバは常に、エージェントとの通信を開始するときに暗号化を使用します。厳密なセキュリティポリシーを使用する環境では、この設定のほうがよいと考えられます。自動ネゴシエーション機能をオフに設定している場合、エージェントは次のように動作します。

自動ネゴシエーション機能をオンに設定している場合、サーバがエージェントとの SNMP 通信を暗号化するのは、エージェントが暗号化をサポートしているときだけです。結果として、次のイベントのいずれかが発生します。

SNMP 暗号化の有効化

SNMP 暗号化の現在の状態を表示するには、 コマンドを引数なしで実行します。

Procedureサーバのインストール時に SNMP 暗号化を有効にする

手順
  1. パッケージがインストールされているかどうかを確認します。

    • (Solaris 9 以前が動作するシステムの場合) 次を入力することによって、/usr/lib/libcrypt_d.so 暗号化ライブラリを含む SUNWcry パッケージがシステムにインストールされていることを確認します。


      % pkginfo | grep SUNWcry
      

      パッケージがインストールされていれば、次のようなメッセージが表示されます。


      application SUNWcry

      注 –

      SUNWcry パッケージは Solaris Encryption Kit の一部です。Solaris Encryption Kit を入手する方法については、Sun の販売代理店に問い合わせてください。セキュアなシステムの管理についての詳細は、Solaris のシステム管理マニュアルを参照してください。


    • (Solaris 10 が動作するシステムの場合) 次を入力することによって、/usr/lib/libpkcs11.so 暗号化ライブラリを含む SUNWcsl パッケージがシステムにインストールされていることを確認します。


      % pkginfo | grep SUNWcsl
      

      パッケージがインストールされていれば、次のようなメッセージが表示されます。


      application SUNWcsl
    • (Linux が動作するシステムの場合) /usr/lib/pkcs11 にある PKCS11_API.so 暗号化ライブラリを用意し、pkcs_slot デーモンを有効にします。

  2. サーバホストからスーパーユーザとして、次のコマンドを実行します。


    # es-config -r
    

    適切なパッケージが存在することが検出され、すべての Sun Management Center コンポーネントが自動的に停止されて、セキュリティシードの入力が求められます。

  3. セキュリティシードを入力します。

    次に、 SNMPv1 コミュニティ文字列の入力が求められます。

  4. 暗号化された通信を開始するかどうかの問い合わせがあります。暗号化された通信を開始する場合は y、開始しない場合は n を入力します。

  5. 自動ネゴシエーション機能を有効にするかどうかの問い合わせがあります。自動ネゴシエーション機能を有効にする場合は y、無効にする場合は n を入力します。

    自動ネゴシエーション機能の詳細は、「ネゴシエーション機能」を参照してください。

SNMP 通信

Sun Management Center エージェントは、サーバと SNMPv1、SNMPv2c、および SNMPv2usec 通信できます。デフォルトでは、これらの通信は有効ですが、SNMPv1 および SNMPv2c 通信は、domain-config.x ファイルを編集することによって無効にできます。ただし、SNMPv2usec 通信を無効にすることはできません。

ProcedureSNMPv1 通信の無効化

手順
  1. Sun Management Center エージェントでスーパーユーザになります。

    % su -

  2. /var/opt/SUNWsymon/cfg/domain-config.x ファイルを開きます。

  3. このファイルに次の行を追加します。


    agent = 
    {
             agentServer = "agentHostName"
             snmpPort = "161"
             SNMPv1 = off
    }

    agentHostName は、エージェントがインストールされているホストの名前です。

ProcedureSNMPv2c 通信の無効化

手順
  1. Sun Management Center エージェントでスーパーユーザになります。

    % su -

  2. /var/opt/SUNWsymon/cfg/domain-config.x ファイルを開きます。

  3. このファイルに次の行を追加します。


    agent = 
    {
             agentServer = "agentHostName"
             snmpPort = "161"
             SNMPv2c = off
    }

    agentHostName は、エージェントがインストールされているホストの名前です。

SNMPv3

SNMPv3 は、SNMPv2usec の限界を克服するために導入された業界標準のプロトコルです。SNMP バージョン 3 のユーザセキュリティモデル (SNMPv3 usm) によって生成される SNMP メッセージは、SNMPv2usec の生成するメッセージに比較してより構造化されています。

Sun Management Center 3.6 ソフトウェアは SNMPv3 をサポートしています。SNMPv3 により、Sun Management Center エージェントは、他社製の管理アプリケーションと安全に通信することができます。