ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris 11.1 の管理: セキュリティーサービス Oracle Solaris 11.1 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
ユーザーが自分のパスワードを使用して役割になれるようにする方法
10. Oracle Solaris のセキュリティー属性 (参照)
22. Kerberos エラーメッセージとトラブルシューティング
RBAC の初期構成では、特定の役割になることができるユーザーを作成し、役割を作成して、それらを適切なユーザーに割り当てます。
次のタスクマップを使用して、サイトでの RBAC の計画と初期実装を行います。一部のタスクは順番に並んでいます。
|
RBAC は、組織の情報リソースを管理するときに、重要な役割を果たします。RBAC を計画する際には、RBAC の機能と組織のセキュリティー要件を十分に理解しておく必要があります。
注 - デフォルトの権限は、/etc/security/policy.conf ファイルで割り当てられます。
「役割に基づくアクセス制御 (概要)」を参照してください。RBAC を使用したシステム管理は、従来の UNIX の管理方法を使用した場合と大きく異なります。実装を開始する前に RBAC の概念をよく理解しておくために、第 10 章Oracle Solaris のセキュリティー属性 (参照)を参照してください。
組織のセキュリティーポリシーでは、システムに対する潜在的な脅威を詳細に記述し、各脅威のリスクを評価して、それらの脅威に対抗するための方策を提供します。RBAC を使用したセキュリティー関連のタスクとは切り離して行うことをお勧めします。インストールした RBAC 構成はそのままで使用できますが、セキュリティーポリシーに従ってカスタマイズが必要になる場合もあります。
組織のセキュリティー要件に応じて、さまざまなレベルの RBAC を使用できます。
root を役割にする – デフォルトではこの方法が提供されます。これにより、どのユーザーも root としてログインできなくなります。代わりに、ユーザーは割り当てられたログインを使用してログインしてから root 役割を引き受ける必要があります。
個別の役割 – この方法では、提供された権利プロファイルに基づいた役割を作成します。それらの役割は、責任の度合い、タスクの適用範囲、およびタスクのタイプに従って割り当てることができます。たとえば、System Administrator 役割ではスーパーユーザーが実行できる多数のタスクを行うことができ、Network IPsec Management 役割では IPsec を管理できます。
また、セキュリティーの責務をほかの責務と切り離すこともできます。User Management 役割ではユーザーを作成でき、User Security 役割ではパスワード、役割、権利プロファイルなどのセキュリティー属性を割り当てることができます。ただし、User Security 役割ではユーザーを作成できず、User Management 役割では権利プロファイルをユーザーに割り当てることはできません。
root 役割を使用しない – この方法では、システムのデフォルトの構成を変更する必要があります。この構成では、root のパスワードを知っているユーザーはだれでもシステムにログインしてシステムを変更できます。どのユーザーがスーパーユーザーとなっていたかは判別できません。
推奨される役割とそのデフォルトの権利プロファイルの機能を確認します。デフォルトの権利プロファイルにより、管理者は単一のプロファイルを使用して推奨される役割を構成することができます。
権利プロファイルについてさらに詳しく調べるには、次のいずれかを行なってください。
getent prof_attr コマンドを使用して、システム上の使用可能な権利プロファイルを表示します。
このガイドで、いくつかの標準的な権利プロファイルのサマリーについて 「権利プロファイル」を参照してください。
使用するサイトで、アクセスを制限する必要があるアプリケーションを調べます。セキュリティーに影響するアプリケーション、サービス拒否が発生する可能性のあるアプリケーション、特別な管理者教育を必要とするアプリケーションには、RBAC を適用することをお勧めします。役割や権利プロファイルをカスタマイズして、組織のセキュリティー要件に対応することができます。
既存の権利プロファイルがこのタスクに割り当てられていないか、または別の権利プロファイルを作成する必要がないかどうかを確認します。
このタスクの権利プロファイルを既存の役割に割り当てるかどうか、または新しい役割を作成するかどうかを決定します。既存の役割を使用する場合は、この役割を割り当てるユーザーにその役割の元の権利プロファイルが適していることを確認します。コマンドがその必要な特権で実行されるように新しい権利プロファイルを順序付けます。順序付けについては、「割り当てられたセキュリティー属性の検索順序」を参照してください。
最少特権の原則に従って、ユーザーの信頼レベルに適した役割にユーザーを割り当てます。実行する必要のないタスクをユーザーが実行できないようにすると、問題が発生する可能性が減少します。
役割は、ローカルに作成することも LDAP リポジトリに作成することもできます。
始める前に
役割を作成するには、User Management 権利プロファイルが割り当てられている管理者になる必要があります。その役割に初期パスワードを含むセキュリティー属性を割り当てるには、User Security 権利プロファイルが割り当てられている管理者になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。
許容される文字列の制限については、roleadd(1M) のマニュアルページを参照してください。
# roleadd [-e expire] [-f inactive] [-s shell] [-m] [-S repository] \ [-A authorization-list] [-P profile-list] [-K key=value] rolename
ヒント - 役割の名前が権利プロファイルの名前を反映している場合は、その役割の目的を簡単に理解できます。たとえば、Audit Review 権利プロファイルを auditreview 役割に割り当てて、その役割で監査記録の読み取り、フィルタ処理、およびアーカイブを行えるようにします。
このコマンドの RBAC 引数は、user_attr(4) のマニュアルページに記載され、「ユーザーのセキュリティー属性を変更する方法」の手順 1 に示されているように、usermod コマンドの引数に似ています。たとえば、次のコマンドではローカルの User Administrator 役割とホームディレクトリを作成します。
# roleadd -c "User Administrator role, local" -s /usr/bin/pfbash \ -m -K profiles="User Security,User Management" useradm 80 blocks # ls /export/home/useradm local.cshrc local.login local.profile
# passwd -r files useradm Password: <Type useradm password> Confirm Password: <Retype useradm password> #
注 - 一般に、役割アカウントは複数のユーザーに割り当てられます。そのため、管理者は役割パスワードを作成し、その役割パスワードを通常の通信手段以外の手段でユーザーに伝えます。
手順については、「役割を割り当てる方法」および例 9-14 を参照してください。
例 9-11 LDAP リポジトリでの User Administrator 役割の作成
この例では、管理者のサイトで LDAP リポジトリを使用します。次のコマンドを実行することで、管理者は User Administrator 役割を LDAP に作成します。
# roleadd -c "User Administrator role, LDAP" -s /usr/bin/pfbash \ -m -S ldap -K profiles="User Security,User Management" useradm
例 9-12 責務を分離するための役割の作成
この例では、管理者のサイトで LDAP リポジトリを使用します。次のコマンドを実行することで、管理者は 2 つの役割を作成します。usermgt 役割は、ユーザーを作成したり、ユーザーにホームディレクトリを提供したり、その他のセキュリティー以外のタスクを実行したりすることができます。usermgt 役割は、パスワードやその他のセキュリティー属性を割り当てることはできません。usersec 役割は、ユーザーを作成できませんが、パスワードを割り当てたり、その他のセキュリティー属性を変更したりできます。
# roleadd -c "User Management role, LDAP" -s /usr/bin/pfbash \ -m -S ldap -K profiles="User Management" usermgt # roleadd -c "User Security role, LDAP" -s /usr/bin/pfbash \ -m -S ldap -K profiles="User Security" usersec
例 9-13 Device and File Security 役割の作成
この例では、管理者はこのシステム用に Device and File Security 役割を作成します。
# roleadd -c "Device and File System Security admin, local" -s /usr/bin/pfbash \ -m -K profiles="Device Security,File System Security" devflsec
この手順では、役割をユーザーに割り当て、ネームキャッシュデーモンを再起動したあと、ユーザーが役割を引き受ける方法を示します。
始める前に
「役割を作成する方法」の説明に従って、役割を追加し、その役割にパスワードを割り当ててあります。
パスワードを含むユーザーのほとんどのセキュリティー属性を変更するには、User Security 権利プロファイルが割り当てられている管理者になる必要があります。ユーザーの監査フラグを変更するには、root 役割になる必要があります。その他の属性を変更するには、User Management 権利プロファイルが割り当てられている管理者になる必要があります。root 役割は、ユーザーのすべての属性を変更できます。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。
usermod [-S repository] [RBAC-arguments] login
たとえば、役割をローカルユーザーに割り当てます。
# usermod -R +useradm jdoe-local
これらの変更は、そのユーザーの次回のログイン時に有効になります。
usermod コマンドのオプションについては、usermod(1M) のマニュアルページか、または 「ユーザーのセキュリティー属性を変更する方法」の手順 1 にある rolemod のオプションの説明を参照してください。
例 9-14 暗号化を管理するための役割の作成と割り当て
この例では、LDAP ネットワーク上の管理者が暗号化フレームワークを管理するための役割を作成し、その役割を UID 1111 に割り当てます。
# roleadd -c "Cryptographic Services manager" \ -g 14 -m -u 104 -s /usr/bin/pfksh \ -S ldap -K profiles="Crypto Management" cryptmgt # passwd cryptmgt New Password: <Type cryptmgt password> Confirm password: <Retype cryptmgt password> # usermod -u 1111 -R +cryptmgt
UID 1111 を持つユーザーは、ログインしたあと、その役割を引き受けて、割り当てられたセキュリティー属性を表示します。
% su - cryptmgt Password: <Type cryptmgt password> Confirm Password: <Retype cryptmgt password> $ profiles -l Crypto Management /usr/bin/kmfcfg euid=0 /usr/sbin/cryptoadm euid=0 /usr/sfw/bin/CA.pl euid=0 /usr/sfw/bin/openssl euid=0 $
暗号化フレームワークについては、第 11 章暗号化フレームワーク (概要)を参照してください。フレームワークの管理方法については、「暗号化フレームワークの管理 (タスクマップ)」を参照してください。
役割が行う動作を監査することができます。監査記録に含まれるのは、役割を引き受けたユーザーのログイン名、役割名、および役割が行なった動作です。116:AUE_PFEXEC:execve(2) with pfexec enabled:ps,ex,ua,as 監査イベントによって役割の動作が取り込まれます。as、ex、ps、または ua クラスを事前選択することで、役割の動作が監査されます。
始める前に
監査を構成するには、Audit Configuration 権利プロファイルが割り当てられている管理者になる必要があります。監査サービスを有効にしたり、リフレッシュしたりするには、Audit Control 権利プロファイルが割り当てられている管理者になる必要があります。root 役割は、この手順内のすべてのタスクを実行できます。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。
計画については、第 27 章監査の計画を参照してください。
# auditconfig -getflags
as、ex、ps、または ua のいずれかのクラスが事前選択されている場合は、役割の動作が監査中です。そうでない場合は、これらのクラスのいずれかを既存のクラスに追加します。
# auditconfig -setflags existing preselections,as
# auditconfig -setflags as
この例では、管理者は as クラスを選択しています。このクラスには、ほかの監査イベントも含まれます。クラスに含まれている監査イベントを表示するには、例 28-28 に示すように、auditrecord コマンドを使用します。
# audit -s
提供された権利プロファイルに、必要な一連のセキュリティー属性が含まれていない場合は、権利プロファイルを作成または変更できます。権利プロファイルの詳細については、「RBAC の権利プロファイル」を参照してください。
始める前に
権利プロファイルを作成するには、File Security 権利プロファイルが割り当てられている管理者になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。
# profiles -p [-S repository] profile-name
説明を入力するよう求められます。
1 つの値を持つプロファイルプロパティーには set サブコマンドを使用します (set desc など)。複数の値を持つプロパティーには add サブコマンドを使用します (add cmd など)。
たとえば、次のコマンドでは、「すべてのユーザーに新しい権利ポリシーを割り当てる方法」にあるカスタム PAM 権利プロファイルを対話的に作成します。名前は、表示のために短縮されています。
# profiles -p -S LDAP "Site PAM LDAP" profiles:Site PAM LDAP> set desc="Profile which sets pam_policy=ldap" ...LDAP> set pam_policy=ldap ...LDAP> commit ...LDAP> end ...LDAP> exit
例 9-15 Sun Ray Users 権利プロファイルの作成
この例では、管理者は、LDAP リポジトリ内に Sun Ray ユーザーのための権利プロファイルを作成します。管理者は、すでに Basic Solaris User 権利プロファイルの Sun Ray バージョンを作成し、Sun Ray サーバー上の policy.conf ファイルからすべての権利プロファイルを削除しています。
# profiles -p -S LDAP "Sun Ray Users" profiles:Sun Ray Users> set desc="For all users of Sun Rays" ... Ray Users> add profiles="Sun Ray Basic User" ... Ray Users> set defaultpriv="basic,!proc_info" ... Ray Users> set limitpriv="basic,!proc_info" ... Ray Users> end ... Ray Users> exit
管理者は、内容を確認します。
# profiles -p "Sun Ray Users" Found profile in LDAP repository. profiles:Sun Ray Users> info name=Sun Ray Users desc=For all users of Sun Rays defaultpriv=basic,!proc_info, limitpriv=basic,!proc_info, profiles=Sun Ray Basic User
例 9-16 権利プロファイルからの基本特権の削除
次の例では、徹底的なテストのあとで、セキュリティー管理者は Sun Ray Users 権利プロファイルから別の基本特権を削除します。例 9-15 では、管理者は 1 つの特権を削除しました。この権利プロファイルが変更されて 2 つの基本特権が削除されます。このプロファイルが割り当てられているユーザーは、現在のセッションの外部ではどのプロセスも検査できず、さらに別のセッションを追加することもできません。
$ profiles -p "Sun Ray Users" profiles:Sun Ray Users> set defaultpriv="basic,!proc_session,!proc_info" profiles:Sun Ray Users> end profiles:Sun Ray Users> exit
例 9-17 権利プロファイルの制限セットからの特権の削除
次の例では、徹底的なテストのあとで、セキュリティー管理者は Sun Ray Users 権利プロファイルから 2 つの制限特権を削除します。
$ profiles -p "Sun Ray Users" profiles:Sun Ray Users> set limitpriv="all,!proc_session,!proc_info" profiles:Sun Ray Users> end profiles:Sun Ray Users> exit
例 9-18 特権付きコマンドを含む権利プロファイルの作成
この例では、セキュリティー管理者は、その管理者が作成した権利プロファイル内のアプリケーションに特権を追加します。このアプリケーションは特権を認識できます。
# profiles -p SiteApp profiles:SiteApp> set desc="Site application" profiles:SiteApp> add cmd="/opt/site-app/bin/site-cmd" profiles:SiteApp:site-cmd> add privs="proc_fork,proc_taskid" profiles:SiteApp:site-cmd> end profiles:SiteApp> exit
確認するには、管理者は site-cmd を選択します。
# profiles -p SiteApp "select cmd=/opt/site-app/bin/site-cmd; info;end" Found profile in files repository. id=/opt/site-app/bin/site-cmd privs=proc_fork,proc_taskid
参照
セキュリティー属性の割り当てをトラブルシューティングするには、「RBAC と特権の割り当てをトラブルシューティングする方法」を参照してください。背景情報については、「割り当てられたセキュリティー属性の検索順序」を参照してください。
Oracle Solaris が提供する権利プロファイルは読み取り専用です。提供された権利プロファイルの一連のセキュリティー属性が不十分な場合は、変更のためにそれらの権利プロファイルをクローニングできます。たとえば、提供された権利プロファイルに solaris.admin.edit/path-to-system-file 承認を追加することもできます。
始める前に
権利プロファイルを作成または変更するには、File Security 権利プロファイルが割り当てられている管理者になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。
# profiles -p [-S repository] existing-profile-name
補助権利プロファイル、承認、およびその他のセキュリティー属性を追加または削除します。
例 9-19 Network IPsec Management 権利プロファイルのクローニングと拡張
この例では、管理者は、サイトの IPsec Management 権利プロファイルにいくつかの solaris.admin.edit 承認を追加します。
管理者は、Network IPsec Management 権利プロファイルを変更できないことを確認します。
# profiles -p "Network IPsec Management" profiles:Network IPsec Management> add auths="solaris.admin.edit/etc/hosts" Cannot add. Profile cannot be modified
次に、管理者は、Network IPsec Management プロファイルを含む権利プロファイルを作成します。
# profiles -p "Total IPsec Mgt" ... IPsec Mgt> set desc="Network IPsec Mgt plus edit authorization" ... IPsec Mgt> add profiles="Network IPsec Management" ... IPsec Mgt> add auths="solaris.admin.edit/etc/hosts" ... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/ipsecinit.conf" ... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/ike/config" ... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/secret/ipseckeys" ... IPsec Mgt> end ... IPsec Mgt> exit
管理者は、内容を確認します。
# profiles -p "Total IPsec Mgt" info name=Total IPsec Mgt desc=Network IPsec Mgt plus edit authorization auths=solaris.admin.edit/etc/hosts, solaris.admin.edit/etc/inet/ipsecinit.conf, solaris.admin.edit/etc/inet/ike/config, solaris.admin.edit/etc/inet/secret/ipseckeys profiles=Network IPsec Management
例 9-20 権利プロファイルのセキュリティー属性のクローニングと削除
この例では、管理者は VSCAN サービスのプロパティーの管理を、このサービスを有効および無効にする機能から分離します。
最初に、管理者は、Oracle Solaris が提供する権利プロファイルの内容を一覧表示します。
% profiles -p "VSCAN Management" info name=VSCAN Management desc=Manage the VSCAN service auths=solaris.smf.manage.vscan,solaris.smf.value.vscan, solaris.smf.modify.application help=RtVscanMngmnt.html
次に、管理者は、サービスを有効および無効にするための権利プロファイルを作成します。
# profiles -p "VSCAN Management" profiles:VSCAN Management> set name="VSCAN Control" profiles:VSCAN Control> set desc="Start and stop the VSCAN service" ... VSCAN Control> remove auths="solaris.smf.value.vscan" ... VSCAN Control> remove auths="solaris.smf.modify.application" ... VSCAN Control> end ... VSCAN Control> exit
次に、管理者は、サービスのプロパティーを変更できる権利プロファイルを作成します。
# profiles -p "VSCAN Management" profiles:VSCAN Management> set name="VSCAN Properties" profiles:VSCAN Properties> set desc="Modify VSCAN service properties" ... VSCAN Properties> remove auths="solaris.smf.manage.vscan" ... VSCAN Properties> end ... VSCAN Properties> exit
管理者は、新しい権利プロファイルの内容を確認します。
# profiles -p "VSCAN Control" info name=VSCAN Control desc=Start and stop the VSCAN service auths=solaris.smf.manage.vscan # profiles -p "VSCAN Properties" info name=VSCAN Properties desc=Modify VSCAN service properties auths=solaris.smf.value.vscan,solaris.smf.modify.application
参照
セキュリティー属性の割り当てをトラブルシューティングするには、「RBAC と特権の割り当てをトラブルシューティングする方法」を参照してください。背景情報については、「割り当てられたセキュリティー属性の検索順序」を参照してください。
提供された承認に、必要な承認が含まれていない場合は、承認を作成できます。承認の詳細は、「RBAC の承認」を参照してください。
始める前に
保護しているプログラムで、承認を定義して使用しています。手順については、『Oracle Solaris 11 セキュリティーサービス開発ガイド』および『Oracle Solaris 11 セキュリティーサービス開発ガイド』の「承認について」を参照してください。
たとえば、ユーザーがアプリケーション内のデータを変更できるようにするための承認のヘルプファイルを作成します。
# pfedit /docs/helps/NewcoSiteAppModData.html <HTML> -- Copyright 2012 Newco. All rights reserved. -- NewcoSiteAppModData.html --> <HEAD> <TITLE>NewCo Modify SiteApp Data Authorization</TITLE> </HEAD> <BODY> The com.newco.siteapp.data.modify authorization authorizes you to modify existing data in the application. <p> Only authorized accounts are permitted to modify data. Use this authorization with care. <p> </BODY> </HTML>
たとえば、ローカルシステム上に com.newco.siteapp.data.modify 承認を作成します。
# auths add -t "SiteApp Data Modify Authorized" \ -h /docs/helps/NewcoSiteAppModData.html com.newco.siteapp.data.modify
これで、その承認を権利プロファイルに追加し、そのプロファイルを役割またはユーザーに割り当てることができるようになりました。
例 9-21 権利プロファイルへの承認の追加
この例では、管理者は、ユーザーによるアプリケーションの実行を許可する前にサイトのアプリケーションがチェックする承認を追加します。
承認を作成したあと、セキュリティー管理者は、既存の権利に com.newco.siteapp.data.modify 承認を追加します。管理者は、例 9-18 にあるプロファイルを作成しました。
# profiles -p "SiteApp" profiles:SiteApp> add auths="com.newco.siteapp.data.modify" profiles:SiteApp> end profiles:SiteApp> exit
確認するために、管理者はプロファイルの内容を一覧表示します。
# profiles -p SiteApp Found profile in files repository. id=/opt/site-app/bin/site-cmd auths=com.newco.siteapp.data.modify
レガシーアプリケーションは、コマンドまたはコマンドのセットです。セキュリティー属性は、役割に割り当てられている権利プロファイル内のコマンドごとに設定されます。役割を引き受けるユーザーは、セキュリティー属性を指定したレガシーアプリケーションを実行することができます。
始める前に
権利プロファイルを作成するには、Information Security または Rights Management 権利プロファイルが割り当てられている管理者になる必要があります。権利プロファイルを割り当てるには、User Security 権利プロファイルが割り当てられている管理者になる必要があります。root 役割は、この手順内のすべてのタスクを実行できます。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。
レガシーアプリケーションにセキュリティー属性を追加するときは、コマンドに追加する場合と同じ方法で追加します。セキュリティー属性を指定したコマンドを権利プロファイルに追加する必要があります。レガシーコマンドに対して、euid=0 または uid=0 のセキュリティー属性を指定します。手順の詳細については、「権利プロファイルを作成する方法」を参照してください。
手順については、「権利プロファイルを作成する方法」を参照してください。
例については、例 9-18 を参照してください。
権利プロファイルを役割に割り当てるには、例 9-14 を参照してください。
例 9-22 スクリプトのコマンドへのセキュリティー属性の追加
スクリプトのコマンドが setuid ビットまたは setgid ビットセットを持つ必要がある場合、実行可能なスクリプトおよびコマンドに対して、権利プロファイルでセキュリティー属性を追加する必要があります。それにより、その権利プロファイルが役割に割り当てられ、その役割がユーザーに割り当てられます。ユーザーが、役割を引き受け、スクリプトを実行すると、コマンドはそのセキュリティー属性で実行されます。
例 9-23 スクリプトまたはプログラム内の承認の確認
承認を確認するには、auths コマンドに基づいたテストを作成します。このコマンドの詳細については、auths(1) のマニュアルページを参照してください。
たとえば、次の行では、$1 引数に指定した承認がユーザーに与えられているかどうかをテストします。
if [ `/usr/bin/auths|/usr/xpg4/bin/grep $1` ]; then echo Auth granted else echo Auth denied fi
より完全なものにするには、そのテストに、ワイルドカードの使用を確認するロジックを含める必要があります。たとえば、solaris.system.date 承認がユーザーにあるかどうかをテストするには、次の文字列を確認する必要があります。
solaris.system.date
solaris.system.*
solaris.*
プログラムを作成している場合は、getauthattr() 関数を使用して、承認をテストします。
割り当てられたセキュリティー属性でユーザーまたは役割のプロセスが実行されないのは、いくつかの要因が影響している可能性があります。この手順は、失敗したセキュリティー属性の割り当てをデバッグするのに役立ちます。手順のうちのいくつかは、「割り当てられたセキュリティー属性の検索順序」に基づいています。
始める前に
root 役割になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。
# svccfg -s name-service/switch svc:/system/name-service/switch> listprop config config application config/value_authorization astring solaris.smf.value.name-service.switch config/default astring files ldap config/host astring "files dns mdns ldap" config/netgroup astring ldap config/printer astring "user files"
この出力では、明示的に示されていないサービスはすべて、デフォルトの値 files ldap を継承します。そのため、passwd (したがって user_attr)、auth_attr、および prof_attr がまずファイル内で、次に LDAP 内で検索されます。
nscd デーモンには長い有効期間を設定することができます。デーモンを再起動して、現在のデータでネームサービスを更新します。
# svcadm restart name-service/cache
セキュリティー属性を userattr -v コマンドへの値として使用します。たとえば、次のコマンドは割り当てられているセキュリティー属性と、その割り当てがユーザー jdoe に対して行われた場所を示しています。
# userattr -v audit_flags jdoe Indicates modified system defaults user_attr: fw:no # userattr -v auths jdoe Indicates no added auths Basic Solaris User :solaris.mail.mailq,solaris.network.autoconf.read, solaris.admin.wusb.read Console User :solaris.system.shutdown,solaris.device.cdrw, solaris.device.mount.removable,solaris.smf.manage.vbiosd,solaris.smf.value.vbiosd # userattr -v defaultpriv jdoe Indicates basic user privileges only # userattr -v limitpriv jdoe Indicates default limit privileges # userattr -v lock_after_retries jdoe Indicates no automatic lockout # userattr -v pam_policy jdoe Assigned per-user PAM policy # userattr -v profiles jdoe Indicates assigned rights profiles user_attr: Audit Review,Stop # userattr roles jdoe Assigned roles user_attr : cryptomgt,infosec
この出力は、jdoe に監査フラグ、2 つの権利プロファイル、および 2 つの役割が直接割り当てられていることを示しています。そのため、権利プロファイル内の監査フラグの値はすべて無視されます。ある役割になると、その役割内の監査フラグによってユーザーの監査フラグが置き換えられます。
承認はユーザーに対して累積されるため、承認の割り当てのソースは重要ではありません。ただし、スペルが正しくない承認は暗黙のうちに失敗します。
たとえば、成功するには euid=0 ではなく uid=0 が必要なコマンドもあります。また、オプションに承認が必要になることがあるコマンドもあります。
手順 2 に示すように、userattr コマンドを使用します。
リスト内のもっとも古い権利プロファイルに含まれる属性の値は、カーネル内の値です。この値が正しくない場合は、その権利プロファイル内の値を変更するか、またはプロファイルを正しい順序で再割り当てします。
特権付きコマンドについては、特権が defaultpriv キーワードで割り当てられているか、または limitpriv キーワードで削除されているかを確認します。
属性が 1 つの役割に割り当てられている場合、ユーザーはその役割を引き受けてセキュリティー属性を取得する必要があります。属性が複数の役割に割り当てられている場合、リスト内のもっとも古い役割での割り当てが有効です。この値が正しくない場合は、リスト内の最初の役割に正しい値を割り当てるか、または役割を正しい順序で再割り当てします。
特権を直接割り当てるのではなく、特権が必要なコマンドにその特権を割り当て、必要な承認を追加し、そのコマンドと承認を権利プロファイル内に配置してから、そのプロファイルをユーザーに割り当てます。
存在する場合は、それをユーザーに割り当てます。その権利プロファイルを、そのコマンドが含まれるほかの権利プロファイルの前に順序付けます。
管理コマンドは、プロファイルシェルで実行する必要があります。ユーザーエラーを軽減するために、プロファイルシェルをユーザーのログインシェルとして割り当てることができます。あるいは、管理コマンドをプロファイルシェルで実行するようユーザーに注意を促すこともできます。
特に、ユーザーの defaultpriv および limitpriv 属性の値を確認します。
権利プロファイルのリスト内のもっとも古い値は、カーネル内の値です。この値が正しくない場合は、その権利プロファイル内の値を変更するか、またはプロファイルを正しい順序で再割り当てします。
特に、プロファイルの defaultpriv および limitpriv 属性の値を確認します。
コマンドが 1 つの役割に割り当てられている場合、ユーザーはその役割を引き受けてセキュリティー属性を取得する必要があります。属性が複数の役割に割り当てられている場合、リスト内のもっとも古い役割での割り当てが有効です。この値が正しくない場合は、リスト内の最初の役割に正しい値を割り当てるか、または役割を正しい順序で再割り当てします。
管理コマンドを成功させるためには特権が必要です。オプションに承認が必要になることがあるコマンドもあります。ベストプラクティスは、管理コマンドが含まれている権利プロファイルを割り当てることです。
特に、役割の defaultpriv および limitpriv 属性の値を確認します。
権利プロファイルのリスト内のもっとも古い値は、カーネル内の値です。この値が正しくない場合は、その権利プロファイル内の値を変更するか、またはプロファイルを正しい順序で再割り当てします。