この章では、セキュリティ機能、ユーザとグループ、およびその権限について説明します。この章の内容は次のとおりです。
Sun Management Center ソフトウェアのセキュリティは、JavaTM セキュリティクラスと SNMPv2 usec (SNMPバージョン 2、ユーザベースのセキュリティモデル) のセキュリティ規格に基づいています。
有効な Sun Management Center ユーザのみが操作可能。
セキュリティ (アクセス権) やアクセス制御 (ACL) カテゴリの設定が可能。管理ドメイン、グループ、ホスト、モジュールの各レベルでの制御を提供するセキュリティ機能。
ユーザの認証と管理プロパティごとのアクセス制御。
UNIX のスーパーユーザ (root) などの管理者
システムを実行、監視するオペレーター
読み取り専用のアクセス権を持つゲストなどの一般
ACL カテゴリを理解するためには、まず 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 の管理者 (esadm)」 を参照) を持ちます。
次に示すグループは、Sun Management Center サーバの設定中に、サーバホスト上にデフォルトで作成されます。
また、仮想グループに属する Sun Management Center の全ユーザを ANYGROUP と呼びます。
これらのグループは、Sun Management Center のサーバレイヤが動作するマシン上で定義する必要がありますが、他のマシンで定義する必要はありません。次の項目では、これらのグループの詳細について説明します。
前述のグループは、/etc/group ファイルに定義されます。
グループ esops に所属する Sun Management Center ソフトウェアのユーザは、通常オペレーターユーザとして管理システムの実行、監視、ある値度のパラメータの設定などを行います。esops の実行可能な操作には、一般ユーザに許可される操作の一部が含まれます。
モジュールの無効化と有効化
アラーム制限の設定
規則パラメータの設定
アラーム処理の実行
任意コマンドの実行
再表示間隔の設定
イベントの肯定応答、削除、対処
履歴ログの有効化と無効化
履歴ログパラメータの設定
グループ esadm に所属するユーザは管理者操作を実行できます。管理者操作は、オペレーターユーザが実行可能な操作のスーパーセット(上位集合)です (「Sun Management Center のオペレーター (esops)」を参照)。さらに、管理者ユーザ (esadm) は、オペレーターユーザ (esops) が実行可能な全操作のほかに次の操作を実行できます。
モジュールの読み込みと読み込み解除
ACL ユーザとグループの設定
管理ドメイン、ホスト、モジュールの表示
esdomadm に所属するユーザは、次のドメイン管理者操作を実行できます。
管理ドメインの作成
管理ドメイン内でのグループの作成
グループまたは管理ドメインへのオブジェクトの追加
管理ドメイン、ホスト、モジュールの表示
前述の権限を除けば、esdomadm に所属するユーザは、別の設定がないかぎり一般ユーザと変わりません。
次の表に、ユーザがデフォルトで実行できる各種機能を示します。各機能ごとに実行可能なユーザが X 印で示されています。
この表は、すべてのモジュールに適用されます。ただし、各モジュールが自ら制御する固有の制限を持つ場合もあります。
表 18–1 ドメイン管理者、管理者、オペレーター、および一般機能
機能 |
ドメイン管理者 |
管理者 |
オペレーター |
一般 |
---|---|---|---|---|
モジュールの読み込み |
|
x |
|
|
モジュールの読み込み解除 |
|
x |
|
|
管理ドメインの作成 |
x |
|
|
|
管理ドメイン内でのグループの作成 |
x |
|
|
|
グループまたは管理ドメインへのオブジェクトの追加 |
x |
|
|
|
管理ドメイン、ホスト、モジュールの表示 |
x |
x |
x |
x |
ACL ユーザまたはグループの設定 |
|
x |
|
|
モジュールの無効化と有効化 |
|
x |
x |
|
モジュールの使用可能スケジュールの設定 |
|
x |
x |
|
アラーム制限の設定 |
|
x |
x |
|
規則パラメータの設定 |
|
x |
x |
|
アラーム処理の実行 |
|
x |
x |
|
任意コマンドの実行 |
|
x |
x |
|
再表示間隔の設定 |
|
x |
x |
|
手動再表示の開始 |
x |
x |
x |
x |
履歴ログの有効化と無効化 |
|
x |
x |
|
履歴ログパラメータの設定 |
|
x |
x |
|
イベントの肯定応答、削除、対処 |
|
x |
x |
|
イベントの表示 |
x |
x |
x |
x |
Sun Management Center ソフトウェアの上記カテゴリは、包括関係を維持します。つまり、esadm 権限を持つユーザは、esops 権限を持つユーザとまったく同じ操作を実行することができます。管理者は、esops ユーザが esadm ユーザより多くの操作を実行できるように、デフォルト権限を変更することが可能です。包括関係とは、esops、esadm および esdomadm の各権限が同等であることを意味します。
デフォルト権限を無効にする方法については、「デフォルトのエージェント権限を無効にする」を参照してください。
管理ドメインは、トポロジマネージャで操作します。ここでは、トポロジマネージャおよびその他のエージェントとモジュールのデフォルト権限について説明します。
次の表に、管理ドメインを維持するトポロジマネージャのデフォルト権限を示しま す。
表 18–2 トポロジマネージャのデフォルト権限
トポロジマネージャ |
デフォルト権限 |
---|---|
管理者ユーザのリスト |
|
オペレーターユーザのリスト |
|
一般ユーザのリスト |
|
管理者 SNMP コミュニティのリスト |
|
オペレーター SNMP コミュニティのリスト |
|
一般 SNMP コミュニティのリスト |
public |
管理者グループのリスト |
esdomadm |
オペレーターグループのリスト |
esops |
一般グループのリスト |
ANYGROUP |
次の表に、トポロジマネージャ以外のコンポーネントとモジュールのデフォルト権限を示します。
表 18–3 Sun Management Center のコンポーネントとモジュールのデフォルト権限
コンポーネントとモジュール |
デフォルト権限 |
---|---|
管理者ユーザのリスト |
|
オペレーターユーザのリスト |
|
一般ユーザのリスト |
|
管理者グループのリスト |
esadm |
オペレーターグループのリスト |
esops |
一般グループのリスト |
ANYGROUP |
管理者 SNMP コミュニティのリスト |
|
オペレーター SNMP コミュニティのリスト |
|
一般 SNMP コミュニティのリスト |
public |
ANYGROUP は真の UNIX グループではありませんが、Sun Management Center ソフトウェアにログイン可能なすべてのユーザが、オブジェクトへの一般的なアクセス権を付与されることを意味する、特別なキーワードです。
esadm グループは、ユーザとグループに対して ACL 機能を指定することができます。対象となるコンポーネントは次のとおりです。
管理ドメイン
管理ドメイン内のグループ
ホスト
モジュール
ACL 仕様は次のいずれか 1 つまたは複数のパラメータで確立、定義されます。
管理者ユーザと管理者グループ – 管理者操作を実行可能なユーザとグループのリスト。デフォルトでは、必要に応じて、これらのユーザは esadm または esdomadm になります。
オペレーターユーザとオペレーターグループ – オペレーター操作を実行可能なユーザとグループのリスト。デフォルトでは、これらのユーザは esops です。
一般ユーザと一般グループ – 一般操作を実行可能なユーザとグループのリスト。デフォルトでは、ANYGROUP と呼ばれる仮想グループになります。
管理者 (SNMP) のコミュニティ – SNMP を使用する管理者操作を実行可能な SNMP コミュニティのリスト。
オペレーター (SNMP) のコミュニティ – SNMP を使用するオペレーター操作を実行可能な SNMP コミュニティのリスト。
一般 (SNMP) のコミュニティ – SNMP を使用する一般操作を実行可能な SNMP コミュニティ。
ユーザは、Sun Management Center の遠隔サーバ上で実行中のセッションから、データにアクセスして情報を表示することができます。この場合、ユーザには一般ユーザの読み取り専用のアクセス権が付与されます。異なるサーバ上で起動する Sun Management Center セッションの動作は、各セッションのサーバコンテキストで定義されます。詳細は、「Sun Management Center のサーバコンテキストとセキュリティ」を参照してください。
ユーザとして異なるサーバコンテキストにアクセスして、さまざまな設定を行うことができます。
各サーバコンテキストがそれぞれユーザと管理者を所有し、互いにアクセス可能な状態を維持する。
広域ネットワーク (WAN) のコンテキストとして、要素間を物理的に分離する。
多くのホストを一組の主要コンポーネントで操作することにより、性能を向上させる。
異なるサーバコンテキストにリンクして、ほかのサーバコンテキストのオブジェクトの最上位状態を表示することができます。
サーバコンテキストは、Sun Management Center エージェントとそれらエージェントが接続されている特定のサーバレイヤの集合です。ーバコンテキスト内のエージェントとホストは、次の主要コンポーネントを共有します。
Sun Management Center サーバ
トポロジマネージャ
イベントマネージャ
トラップハンドラ
構成マネージャ
すべての Sun Management Center コンポーネントとエージェントは、インストール時に、それぞれのトラップハンドラとイベントマネージャの位置を認識するよう設定されます。Sun Management Center ソフトウェアは、IP アドレスとポートアドレスによってトラップハンドラとイベントマネージャを特定します。ユーザは、自分のサーバコンテキスト内にいるかどうかを判断するために、アクセスするサーバの IP アドレスとポートアドレスを知っておく必要があります。サーバコンテキストは、それぞれ個別のポート番号を持っています。
遠隔サーバコンテキストは、遠隔エージェントと関連するサーバレイヤの集合です。
エージェントはサーバレイヤからセキュリティ設定情報を受け取ります。このセキュリティ情報によって、エージェントは受け取った管理要求を認証し、管理要求の一部として要求された操作に対してアクセス制御を行えます。
一部のセキュリティ制限は、ユーザがサーバコンテキスト間で通信する場合に適用されます。
現在の Sun Management Center 環境では、ほかのサーバからの情報アクセスに関していくつか制限があります。
遠隔サーバコンテキストからアクセスする場合、一般ユーザのアクセス権が付与されます。したがって、データへのアクセスは可能ですが、別のサーバ内でオブジェクトを変更したり使用することはできません。ユーザの操作は、遠隔サーバのオブジェクトの表示のみに限定されます。
編集機能は、遠隔サーバでは異なる動作をします。たとえば、コンテキスト間のコピー&ペーストは可能ですが、カット&ペーストはできません。
コンソールでは、実際に異なるサーバコンテキストにアクセスしているかどうかはっきりしない場合があります。この場合は、「詳細」ウィンドウの「情報」タブでサーバの IP ポート番号またはアドレスを確認してください。
ここでは、次の主要なアクセス制御機能の実行方法について説明します。
Sun Management Center サーバホスト上でスーパーユーザになります。
% su - |
/var/opt/SUNWsymon/cfg/esusers ファイルを編集します。
新規の行にユーザ名を追加します。
ザ名が有効な UNIX ユーザであるかどうか確認してください。
ファイルを保存して、エディタを終了します。
ユーザリストに追加されたユーザは、デフォルト権限を有します。詳細は、「デフォルト権限」および 「デフォルトのエージェント権限を無効にする」を参照してください。
次のいずれかの方法で属性エディタにアクセスします。
選択したオブジェクト上でマウスボタン 3 を押して、ポップアップメニューから「属性エディタ」を選択します。
メインコンソールウィドウの「ツール」メニューから「属性エディタ」を選択します。
「属性エディタ」が表示されます。ウィンドウ下のボタンは、「取消し」と「ヘルプ」を除いて選択不可の状態です。ウィンドウのフィールドを変更すると、すべてのボタンが選択可能になります。
「属性エディタ」ウィンドウの「セキュリティ」タブを選択します。
必要に応じて値を変更します。
次に、各フィールドのデータの説明と値の例を示します。
ユーザのリスト。jim は、管理者操作が可能なユーザです。
オペレーターのリスト。john などは、オペレーター操作が可能なユーザです。複数のエントリの場合は、1 つまたは複数の空白で区切ります。
一般ユーザのリスト。nick および richie は、一般操作が可能なユーザです。
管理者グループに属する全ユーザは、管理者操作を実行できます。デフォルトでは、必要に応じて、これらのユーザは esadm または esdomadm になります。
esops に属する全ユーザは、オペレーター操作を実行できます。
ANYGROUP は、一般操作を実行できる仮想グループです。Sun Management Center の全ユーザは、仮想グループに属します。
このフィールドは空で、SNMP を使用する管理者操作を実行できる SNMP コミュニティがないことを意味します。
このフィールドは空で、SNMP を使用するオペレーター操作を実行できる SNMP コミュニティがないことを意味します。
デフォルトでは、public は、SNMP を使用する一般操作を実行できる SNMP コミュニティです。
前述したとおり、「ユーザ」の下に「オペレーター」を複数エントリする場合などは、空白またはコンマで区切ります。
セキュリティ権限の詳細は、「アクセス制御カテゴリ」を参照してください。
Sun Management Center サーバホスト上でスーパーユーザになります。
groupadd コマンドを使用してグループを作成します。
# /usr/sbin/groupadd groupname |
作成したグループにユーザを追加します。
新規グループを ACL に追加します。
詳細は、「モジュールへのアクセスを制御する」を参照してください。
Sun Management Center サーバホスト上でスーパーユーザになります。
必要に応じて、/var/opt/SUNWsymon/cfg/esusers ファイルにユーザ名を追加します。
/etc/group ファイルで、次のいずれかの行にユーザを追加します。esadm、 esops、または esdomadm。
ファイルを保存して、エディタを終了します。
Sun Management Center サーバホスト上でスーパーユーザになります。
/var/opt/SUNWsymon/cfg/esusers ファイルで、削除するユーザ名の行を削除します。
ファイルを保存して、エディタを終了します。
Sun Management Center のグループからユーザ名を削除します。
Sun Management Center のユーザリストから削除されたユーザは、以後 Sun Management Center サーバにログインすることはできません。ユーザを削除する場合は、必ずすべての ACL から削除してください。
Sun Management Center ソフトウェアでは、管理者だけが、属性エディタを使用してデフォルト権限を無効にし、特定オブジェクトの ACL リストを変更することができます。
権限を変更する必要のある管理オブジェクトの属性エディタにアクセスします。
セキュリティ情報を表示して変更するには、「属性エディタ」ウィンドウの「セキュリティ」タブをクリックします。
必要に応じて情報を変更します。
セキュリティの変更を適用して「属性エディタ」ウィンドウを閉じる場合は、「了解」をクリックします。
「属性エディタ」ウィンドウを開いたままセキュリティの変更を適用する場合は、「適用」をクリックします。
Sun Management Center は、そのサーバとエージェントコンポーネントとの間の SNMP 通信の暗号化をサポートしています。SNMP 暗号化サポートでは、CBC-DES 対称暗号化アルゴリズムが使用されています。
Sun Management Center 上での SNMP 暗号化は、 es-config スクリプトを使用して有効にできます。このスクリプトを使用することによって、自動ネゴシエーション機能をオンまたはオフに設定できます。詳細は、「SNMP 暗号化の有効化」を参照してください。
Solaris 9 以前が動作するシステムの場合、暗号化は、 SUNWcry パッケージに基づいて行われます。
Solaris 9 が動作するシステムの場合は、次のことに注意してください。
Sun Management Center サーバおよびエージェントホスト両方での SNMP 暗号化は、/usr/lib/libcrypt_d.so 暗号化ライブラリの入っている SUNWcry パッケージに依存します。このパッケージは個別にインストールしてください。
SUNWcry がインストールされていても、Sun Management Center 3.5 以前のサーバとエージェントは SNMP 暗号化をサポートしません。
サーバまたはエージェントの設定中に SUNWcry パッケージが検出されると、SNMP 暗号化のサポートが自動的に構成されます。
Solaris 10 が動作するシステムの場合、暗号化は Public Key Cryptographic Standard (PKCS#11) に基づいて行われます。
PKCS#11 は、暗号化情報を保持し、暗号化機能を実行するデバイスに API (Cryptoki という) を指定します。RSA 定義の PKCS#11 の詳細は、http://www.rsasecurity.com/rsalabs を参照してください。
Solaris 10 が動作するシステムの場合は、次のような条件があります。
Sun Management Center サーバおよびエージェントホスト両方での SNMP 暗号化は、/usr/lib/libpkcs11.so 暗号化ライブラリの入っている SUNWcsl パッケージに依存します。このパッケージはデフォルトでインストールされます。
SUNWcsl がインストールされていても、Sun Management Center 3.5 以前のサーバとエージェントは SNMP 暗号化をサポートしません。
サーバまたはエージェントの設定中に SUNWcsl パッケージが検出されると、SNMP 暗号化のサポートは自動的に構成されます。
Linux が動作するシステムの場合、暗号化は Public Key Cryptographic Standard (PKCS#11) に基づいて行われます。
SNMP 暗号化は、PKCS11_API.so 暗号化ライブラリに基づいて行われます。このライブラリはデフォルトではインストールされません。 /usr/lib/pkcs11 にあるこのライブラリを準備して、pkcs_slot デーモンが暗号化を有効にできるようにする必要があります。
暗号化をサポートする Sun Management Center 3.6 は、エージェントが暗号化をサポートするかどうかにかかわらず、エージェントを動的にサポートするように設定できます。この機能のことを「自動ネゴシエーション機能」と呼び、オンまたはオフに設定できます。
自動ネゴシエーション機能をオフに設定している場合、サーバは常に、エージェントとの通信を開始するときに暗号化を使用します。厳密なセキュリティポリシーを使用する環境では、この設定のほうがよいと考えられます。自動ネゴシエーション機能をオフに設定している場合、エージェントは次のように動作します。
エージェントが暗号化をサポートする場合、エージェントは暗号化された SNMP メッセージを理解します。
エージェントが暗号化をサポートしない場合、エージェントは暗号化された SNMP メッセージを理解しません。このため、タイムアウトが発生し、「エージェントから応答がありません」というエラーメッセージが返されます。エージェントログにはタイムアウトが記録されます。
自動ネゴシエーション機能をオンに設定している場合、サーバがエージェントとの SNMP 通信を暗号化するのは、エージェントが暗号化をサポートしているときだけです。結果として、次のイベントのいずれかが発生します。
エージェントが暗号化をサポートする場合、エージェントは暗号化された SNMP メッセージを理解します。
エージェントが暗号化をサポートしない場合、SNMP メッセージの認証だけが行われ、暗号化は行われません。
SNMP 暗号化の現在の状態を表示するには、 コマンドを引数なしで実行します。
パッケージがインストールされているかどうかを確認します。
(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 デーモンを有効にします。
サーバホストからスーパーユーザとして、次のコマンドを実行します。
# es-config -r |
適切なパッケージが存在することが検出され、すべての Sun Management Center コンポーネントが自動的に停止されて、セキュリティシードの入力が求められます。
セキュリティシードを入力します。
次に、 SNMPv1 コミュニティ文字列の入力が求められます。
暗号化された通信を開始するかどうかの問い合わせがあります。暗号化された通信を開始する場合は y、開始しない場合は n を入力します。
自動ネゴシエーション機能を有効にするかどうかの問い合わせがあります。自動ネゴシエーション機能を有効にする場合は y、無効にする場合は n を入力します。
自動ネゴシエーション機能の詳細は、「ネゴシエーション機能」を参照してください。
Sun Management Center エージェントは、サーバと SNMPv1、SNMPv2c、および SNMPv2usec 通信できます。デフォルトでは、これらの通信は有効ですが、SNMPv1 および SNMPv2c 通信は、domain-config.x ファイルを編集することによって無効にできます。ただし、SNMPv2usec 通信を無効にすることはできません。
Sun Management Center エージェントでスーパーユーザになります。
% su -
/var/opt/SUNWsymon/cfg/domain-config.x ファイルを開きます。
このファイルに次の行を追加します。
agent = { agentServer = "agentHostName" snmpPort = "161" SNMPv1 = off } |
agentHostName は、エージェントがインストールされているホストの名前です。
Sun Management Center エージェントでスーパーユーザになります。
% su -
/var/opt/SUNWsymon/cfg/domain-config.x ファイルを開きます。
このファイルに次の行を追加します。
agent = { agentServer = "agentHostName" snmpPort = "161" SNMPv2c = off } |
agentHostName は、エージェントがインストールされているホストの名前です。
SNMPv3 は、SNMPv2usec の限界を克服するために導入された業界標準のプロトコルです。SNMP バージョン 3 のユーザセキュリティモデル (SNMPv3 usm) によって生成される SNMP メッセージは、SNMPv2usec の生成するメッセージに比較してより構造化されています。
Sun Management Center 3.6 ソフトウェアは SNMPv3 をサポートしています。SNMPv3 により、Sun Management Center エージェントは、他社製の管理アプリケーションと安全に通信することができます。