ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (セキュリティサービス) Oracle Solaris 10 8/11 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
13. Oracle Solaris の暗号化フレームワーク (概要)
14. Oracle Solaris の暗号化フレームワーク (手順)
19. Oracle Solaris Secure Shell の使用 (手順)
Solaris 管理コンソールの GUI は、RBAC を管理するための望ましい方法です。
注 - コマンド行インタフェースとグラフィカルユーザーインタフェースを同時に使って、RBAC を管理しないでください。構成に対して矛盾した変更が加えられ、予測していない動作が生じることがあります。両方のツールとも RBAC を管理することができますが、両方を同時に使用することはできません。
始める前に
User Security プロファイルを含んだ役割を引き受けているか、スーパーユーザーに切り替えている必要があります。ある役割のパスワードを変更するには、別の役割を使用する必要があります。使用している役割自体のパスワードを変更することはできません。
$ passwd -r naming-service target-rolename
パスワードの変更を files、 nis、 nisplus、 または ldap のいずれかのリポジトリに適用します。リポジトリを指定しない場合は、files のパスワードが変更されます。
変更する既存の役割の名前です。
コマンドオプションの詳細については、passwd(1) のマニュアルページを参照してください。
コンソールの起動については、「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。
対象の役割ではログインできません。
適用範囲として Files を選択すると、ローカルシステム上の役割のパスワードが変更されます。適用範囲として LDAP を選択すると、LDAP ネームサービス内の役割のパスワードが変更されます。
詳細は、オンラインヘルプを参照してください。
このコマンドは、Solaris 管理コンソールサーバーのクライアントとして動作します。
$ /usr/sadm/bin/smrole -D domain-name -r admin-role -l <Type admin-role password> \ modify -- -n target-rolename -P password
管理対象のドメインの名前です。
対象の役割を変更できる管理役割の名前です。管理役割は solaris.admin.usermgr.pswd 承認を得る必要があります。管理役割と対象の役割は同じではいけません。
admin-role のパスワードに対するプロンプトです。
認証オプションとサブコマンドオプションの間に必要な区切り文字です。
対象の役割の名前です。
target-rolename の新しいパスワードです。
コマンドオプションの一覧については、smrole(1M) のマニュアルページを参照してください。
例 9-13 passwd コマンドによるローカル役割のパスワードの変更
この例では、スーパーユーザーがローカルの operadm 役割のパスワードを変更します。
# passwd -r files operadm New password: Type new password Re-enter new password: Retype new password
例 9-14 LDAP リポジトリ内の役割のパスワードを変更する
この例では、Primary Administrator 役割が LDAP ディレクトリサービス内の operadm 役割のパスワードを変更します。
$ passwd -r ldap operadm New password: Type new password Re-enter new password: Retype new password
例 9-15 smrole modify コマンドによる役割のパスワードの変更
この例では、管理者が Solaris 管理コンソールサーバーに接続し、NIS ドメイン内の operadm のパスワードを変更します。管理者がパスワードを指定せずに Return キーを押すと、「New Password:」プロンプトが表示されます。
$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n operadm -P Press the Return key New Password: a!2@3#4$5%6*7 $
始める前に
Primary Administrator 権利プロファイルを含む役割を引き受けるか、root ユーザーに切り替えて役割のプロパティーを変更する必要があります。役割のプロパティーには、パスワード、権利プロファイル、および承認が含まれます。
コンソールの起動については、「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。左側の区画の指示に従って、管理役割の役割を変更します。詳細は、オンラインヘルプを参照してください。
このコマンドは、ローカルのネームサービスで定義される役割の属性を変更します。
$ rolemod -c comment -P profile-list rolename
役割の機能を説明する新しいコメントです。
役割に含まれるプロファイルのリストです。このリストでプロファイルの現在のリストが置き換えられます。
変更する既存のローカル役割の名前です。
コマンドオプションの詳細については、rolemod(1M) のマニュアルページを参照してください。
このコマンドは、NIS、 NIS+、 LDAP などの分散ネームサービスで役割の属性を変更します。Solaris 管理コンソールサーバーのクライアントとして動作します。
$ /usr/sadm/bin/smrole -D domain-name \ -r admin-role -l <Type admin-role password> \ modify -- -n rolename -r username -u username
管理対象のドメインの名前です。
役割を変更できる管理役割の名前です。管理役割は solaris.role.assign 承認を得る必要があります。引き受けた役割を変更する場合、役割は solaris.role.delegate 承認を得る必要があります。
admin-role のパスワードに対するプロンプトです。
認証オプションとサブコマンドオプションの間に必要な区切り文字です。
新しい役割の名前です。
rolename を引き受けることができなくなったユーザーの名前です。
rolename を引き受けることができるようになったユーザーの名前です。
コマンドオプションの詳細については、smrole(1M) のマニュアルページを参照してください。
例 9-16 rolemod コマンドによるローカル役割のプロパティーの変更
この例では、FTP Management 権利プロファイルを含むように operadm 役割を変更します。
$ rolemod -c "Handles printers, backup, and FTP" \ -P "Operator,FTP Management,All" operadm
これらの権利プロファイルは、policy.conf ファイルを介して与えられたプロファイルに追加されます。
例 9-17 smrole modify コマンドによるローカル役割のプロパティーの変更
次の例では、FTP Management 権利プロファイルを追加するように operadm 役割を変更します。
$ /usr/sadm/bin/smrole -r primaryadm -l <Type primaryadm password> \ modify -- -n operadm -c "Handles printers, backup, and FTP" \ -p "FTP Management"
例 9-18 smrole modify コマンドによるドメインの役割の変更
次の例では、clockmgr 役割を変更します。ID が108の NIS ユーザーは役割を引き受けることができなくなります。ID が 110 の NIS ユーザーは、clockmgr の役割を引き受けることができます。
$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n clockmgr -r 108 -u 110
権利プロファイルは、役割のプロパティーです。prof_attr データベースに必要な権利プロファイルが含まれていないときには、権利プロファイルを作成または変更してください。権利プロファイルの詳細については、「RBAC の権利プロファイル」を参照してください。
始める前に
権利プロファイルを作成または変更するには、Primary Administrator の役割を引き受けているか、スーパーユーザーに切り替えている必要があります。
コンソールの起動については、「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。左側の区画の指示に従って、「権利」の権利プロファイルを作成または変更します。詳細は、オンラインヘルプを参照してください。
このコマンドによって、権利プロファイルの追加、変更、一覧表示、または削除を行うことができます。このコマンドは、ファイル、および NIS、 NIS+、 LDAP などの分散ネームサービスで機能します。smprofile コマンドは、Solaris 管理コンソールサーバーのクライアントとして動作します。
$ /usr/sadm/bin/smprofile -D domain-name \ -r admin-role -l <Type admin-role password> \ add | modify -- -n profile-name \ -d description -m help-file -p supplementary-profile
管理対象のドメインの名前です。
役割を変更できる管理役割の名前です。管理役割は solaris.role.assign 承認を得る必要があります。引き受けた役割を変更する場合、役割は solaris.role.delegate 承認を得る必要があります。
admin-role のパスワードに対するプロンプトです。
認証オプションとサブコマンドオプションの間に必要な区切り文字です。
新しいプロファイルの名前です。
プロファイルの簡単な説明です。
作成した /usr/lib/help/profiles/locale/C ディレクトリに配置した HTML ヘルプファイルの名前です。
この権利プロファイルに含まれる既存の権利プロファイルの名前です。複数の -p supplementary-profile のオプションを指定することができます。
コマンドオプションの詳細については、smprofile(1M) のマニュアルページを参照してください。
例 9-19 コマンド行から権利プロファイルを変更する
次の例では、Network Management 権利プロファイルを Network Security 権利プロファイルの補助プロファイルにします。Network Security プロファイルを含む役割は、ネットワークおよびホストを構成できるようになり、加えてセキュリティー関連のコマンドを実行します。
$ /usr/sadm/bin/smprofile -D nisplus:/example.host/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n "Network Security" \ -d "Manage network and host configuration and security" \ -m RtNetConfSec.html -p "Network Management"
管理者は、新しいヘルプファイル、RtNetConfSec.html を作成し、それを/usr/lib/help/profiles/locale/C ディレクトリに配置してから、このコマンドを実行します。
例 9-20 権利ツールを使用して新しい権利プロファイルを作成する
次の表では、「Build Administrator」と呼ばれる仮想権利プロファイルのサンプルデータを示します。この権利プロファイルには、サブディレクトリ /usr/local/swctrl/bin のコマンドが含まれます。これらのコマンドの実効 UID は 0 です。Build Administrator 権利プロファイルは、ソフトウェア開発のビルドとバージョンを管理する管理者が使用します。
|
注意事項
権利プロファイルによって期待する機能を持つ役割が提供されない場合は、次を確認します。
役割の権利プロファイルが、GUI で最も権限のあるものから最も権限のないものへとリストされていること。
たとえば、All 権利プロファイルがリストの最上部にある場合、セキュリティー属性で実行されるコマンドはありません。セキュリティー属性を指定したコマンドを含むプロファイルは、リストで All 権利プロファイルの前に来なければなりません。
コマンドが、役割の権利プロファイルで複数回リストされていること。その場合、コマンドの最初のインスタンスに必要なセキュリティー属性がすべて指定されていること。
たとえば、コマンドはそのコマンドの特定のオプションのために特権を必要とする可能性があります。特権を必要とするオプションが成功するには、リストの一番上にある権利プロファイルのコマンドの最初のインスタンスに特権を割り当てる必要があります。
役割の権利プロファイルのコマンドに適切なセキュリティー属性を指定していること。
たとえば、ポリシーが suser のとき、 euid=0 ではなく、uid=0 である必要があるコマンドもあります。
ネームサービスのキャッシュ、svc:/system/name-service-cache を再起動していること。
nscd デーモンには長い有効期間を設定することができます。デーモンを再起動して、現在のデータでネームサービスを更新します。
ユーザーのプロパティーには、パスワード、権利プロファイル、役割、および承認が含まれます。ユーザーに管理機能を与える最も安全な方法として、ユーザーに役割を与えます。詳細については、「セキュリティー属性を直接割り当てる場合に考慮すべきセキュリティー事項」を参照してください。
始める前に
Primary Administrator 権利プロファイルを含む役割を引き受けるか、root ユーザーに切り替える必要があります。
コンソールの起動については、「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。左側の区画の指示に従って、「ユーザーアカウント (User Accounts) 」のユーザーを変更します。詳細は、オンラインヘルプを参照してください。
ヒント - 承認、特権、または権利プロファイルをユーザーに直接割り当てることはお勧めできません。役割をユーザーに割り当てることが望ましい方法です。その後、ユーザーが、特権付きの操作を実行するための役割を引き受けます。
このコマンドは、ローカルのネームサービスで定義されるユーザーの属性を変更します。
$ usermod -R rolename username
既存のローカル役割の名前です。
変更する既存のローカルユーザーの名前です。
コマンドオプションの詳細については、usermod(1M) のマニュアルページを参照してください。
このコマンドは、NIS、 NIS+、 LDAP などの分散ネームサービスでユーザーの属性を変更します。Solaris 管理コンソールサーバーのクライアントとして動作します。
$ /usr/sadm/bin/smuser -D domain-name \ -r admin-role -l <Type admin-role password> \ modify -- -n username -a rolename
管理対象のドメインの名前です。
役割を変更できる管理役割の名前です。管理役割は solaris.role.assign 承認を得る必要があります。引き受けた役割を変更する場合、役割は solaris.role.delegate 承認を得る必要があります。
admin-role のパスワードに対するプロンプトです。
認証オプションとサブコマンドオプションの間に必要な区切り文字です。
rolename を割り当てられるユーザーの名前です。
username に割り当てる役割の名前です。複数の -a rolename オプションを指定することができます。
コマンドオプションの詳細については、smuser(1M) のマニュアルページを参照してください。
例 9-21 コマンド行からのローカルユーザーの RBAC プロパティーの変更
この例では、ユーザー jdoe が System Administrator の役割を引き受けることができるようになります。
$ usermod -R sysadmin jdoe
この役割は、ユーザーが引き受けることのできる役割に追加されます。
例 9-22 smuser コマンドを使用したユーザーの RBAC プロパティーの変更
この例では、ユーザー jdoe に、System Administrator と Operator の 2 つの役割が割り当てられます。ユーザーと役割はローカルに定義されるため、-D オプションは必要ありません。
$ /usr/sadm/bin/smuser -r primaryadm -l <Type primaryadm password> \ modify -- -n jdoe -a sysadmin -a operadm
次の例では、ユーザーは NIS ネームサービスで定義されます。したがって、-D オプションは必要です。2 つの役割が、ネームサービスで定義されます。一方の役割、root は、ローカルに定義されます。
$ /usr/sadm/bin/smuser -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n jdoe -a sysadmin -a operadm -a root
レガシーアプリケーションは、コマンドまたはコマンドのセットです。セキュリティー属性は、権利プロファイルのコマンドごとに設定します。その後、権利プロファイルを役割に含めます。役割を引き受けるユーザーは、セキュリティー属性を指定したレガシーアプリケーションを実行することができます。
Solaris 管理コンソールにレガシーアプリケーションを追加する方法については、『Solaris のシステム管理 (基本編)』の「Solaris 管理コンソールにツールを追加する」を参照してください。
始める前に
権利プロファイルのコマンドのセキュリティー属性を変更するには、Primary Administrator の役割を引き受けているか、スーパーユーザーに切り替えている必要があります。
コンソールの起動については、「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。左側の区画の指示に従って、「権利」の権利プロファイルを変更します。詳細は、オンラインヘルプを参照してください。
レガシーアプリケーションにセキュリティー属性を追加するときは、コマンドに追加する場合と同じ方法で追加します。セキュリティー属性を指定したコマンドを権利プロファイルに追加する必要があります。レガシーコマンドに対して、euid=0 または uid=0 のセキュリティー属性を指定します。手順の詳細については、「権利プロファイルを作成または変更する方法」を参照してください。
権利プロファイルを役割に追加する方法については、「役割のプロパティーを変更する方法」を参照してください。
例 9-23 スクリプトのコマンドへのセキュリティー属性の追加
スクリプトのコマンドが setuid ビットまたは setgid ビットセットを持つ必要がある場合、実行可能なスクリプトおよびコマンドに対して、権利プロファイルでセキュリティー属性を追加する必要があります。その後、権利プロファイルを役割に含め、含めた役割をユーザーに割り当てます。ユーザーが、役割を引き受け、スクリプトを実行すると、コマンドはそのセキュリティー属性で実行されます。
セキュリティー属性をコマンドまたはシェルスクリプトに追加する方法については、「権利プロファイルを作成または変更する方法」を参照してください。
例 9-24 スクリプトまたはプログラム内の承認の確認
承認用のスクリプトを用意するには、auths コマンドに基づいたテストを追加する必要があります。このコマンドの詳細については、auths(1) のマニュアルページを参照してください。
たとえば、次の行では、$1 引数に指定した承認がユーザーに与えられているかどうかをテストします。
if [ `/usr/bin/auths|/usr/xpg4/bin/grep $1` ]; then echo Auth granted else echo Auth denied fi
万全を期すために、テストにはワイルドカードを使用する別の承認を確認する論理を含めるようにしてください。たとえば、solaris.admin.usermgr.write 承認がユーザーに与えられているかどうかをテストするには、次の文字列を確認します。
solaris.admin.usermgr.write
solaris.admin.usermgr.*
solaris.admin.*
solaris.*
プログラムを作成している場合は、getauthattr() 関数を使用して、承認をテストします。