この章では、セキュリティー機能、ユーザーとグループ、およびその権限について説明します。この章の内容は次のとおりです。
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.1 は、エージェントが暗号化をサポートするかどうかにかかわらず、エージェントを動的にサポートするように設定できます。この機能のことを「自動ネゴシエーション機能」と呼び、オンまたはオフに設定できます。
自動ネゴシエーション機能をオフに設定している場合、サーバーは常に、エージェントとの通信を開始するときに暗号化を使用します。厳密なセキュリティーポリシーを使用する環境では、この設定のほうがよいと考えられます。自動ネゴシエーション機能をオフに設定している場合、エージェントは次のように動作します。
エージェントが暗号化をサポートする場合、エージェントは暗号化された 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.1 ソフトウェアは SNMPv3 をサポートしています。SNMPv3 を使用すると、Sun Management Center エージェントは他社製の管理アプリケーションと安全に通信できます。