ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 10 から Oracle Solaris 11.1 への移行 Oracle Solaris 11.1 Information Library (日本語) |
1. Oracle Solaris 10 から Oracle Solaris 11 リリースへの移行 (概要)
2. Oracle Solaris 11 インストール方法への移行
次の情報は、役割、権限、特権、および承認が Oracle Solaris 11 でどのように機能するかを説明したものです。
承認の割り当てと委任の違い – Oracle Solaris では、特定の管理権限を個々のユーザーや役割に委任して責務を分離するために承認が使われています。Oracle Solaris 10 では、承認を別のユーザーに委任するためには、.grant で終わる承認が必要です。Oracle Solaris 11 では、2 つの新しい接尾辞 .assign と .delegate (たとえば solaris.profile.assign や solaris.profile.delegate) が使用されます。前者は、任意の権利プロファイルを任意のユーザーまたは役割に委任する権限を付与します。後者は、制限が厳しくなり、現在のユーザーにすでに割り当てられている権利プロファイルのみを委任できます。root 役割には solaris.* が割り当てられているため、この役割では任意の承認を任意のユーザーまたは役割に割り当てることができます。安全対策として、.assign で終わる承認はデフォルトではどのプロファイルにも含まれていません。
groupadd コマンドの変更 – グループ作成時、システムにより、solaris.group.assign/groupname 承認が管理者に割り当てられるようになりました。この承認は、そのグループに対する完全な制御を管理者に与えて、管理者が必要に応じて groupname を変更または削除できるようにします。詳細については、groupadd(1M) および groupmod(1M) のマニュアルページを参照してください。
Media Restore 権利プロファイル – この権利プロファイルと承認セットは、root 以外のアカウントの特権をエスカレートできます。このプロファイルは存在しますが、ほかの権利プロファイルの一部ではありません。Media Restore 権利プロファイルはルートファイルシステム全体へのアクセスを提供するため、これを使用することで特権のエスカレーションが可能です。故意に改ざんされたファイルや交換したメディアを復元できます。デフォルトでは、root 役割にはこの権利プロファイルが含まれています。
Primary Administrator プロファイルの削除 – インストール時に作成される最初のユーザーには、次の役割と権限が与えられます。
root 役割
System Administrator 権利プロファイル
root として実行されるすべてのコマンドを対象にした sudo コマンドへのアクセス
役割の認証 – user または role のどちらかを roleauth キーワードとして指定できます。user_attr(4) を参照してください。
root を役割にする – root がデフォルトで役割になったため、匿名 でシステムにリモートログインすることはできません。root 役割をユーザーに変更する方法については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「root 役割をユーザーに変更する方法」を参照してください。
Oracle Solaris の基本特権には次が含まれます。
file_read
file_write
net_access
通常のシェルのプロファイルシェルバージョン – 通常のシェルにはそれぞれのプロファイルバージョンがあります。次のプロファイルシェルを使用できます。
pfbash
pfcsh
pfksh
pfksh93
pfrksh93
pfsh
pftcsh
pfzsh
pfexec(1) を参照してください。
権利プロファイル – user_attr、prof_attr、および exec_attr データベースは読み取り専用になりました。これらのローカルファイルデータベースは、/etc/user_attr.d、/etc/security/prof_attr.d、および /etc/security/exec_attr.d にあるフラグメントから組み立てられます。それらのフラグメントファイルは、1 つのバージョンのファイルにマージされませんが、フラグメントとして残されます。この変更により、パッケージで完全な RBAC プロファイルも部分的な RBAC プロファイルも提供できるようになります。useradd および profiles コマンドでローカルファイルリポジトリに追加されたエントリは、フラグメントディレクトリ内の local-entries ファイルに追加されます。プロファイルを追加または変更するには、profiles コマンドを使用します。「権利プロファイルについて」を参照してください。
Stop 権利プロファイル – このプロファイルを使用すると、管理者は制限付きアカウントを作成できます。『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「RBAC の権利プロファイル」を参照してください。
pfsh script コマンド – このコマンドの実行は pfsh -c script コマンドと同じになりました。以前は、スクリプト内のコマンドは、そのスクリプトの最初の行にプロファイルシェルが指定されないかぎり、RBAC を使用できませんでした。この規則では、RBAC を使用するためにはスクリプトを変更する必要がありました。現在は、スクリプトの呼び出し側 (またはセッション内の祖先) でプロファイルシェルを指定できるため、これが不要になりました。
pfexec コマンド – このコマンドは setuid root ではなくなりました。pfexec コマンドまたはプロファイルシェルが実行されるときに、新しい PF_PFEXEC プロセス属性が設定されます。その後、カーネルによって exec に対する適切な特権が設定されます。この実装により、適宜、サブシェルに権限が与えられたり、制限されたりするようになります。
カーネルが exec(2) を処理している場合は、root に対する setuid の扱いが異なります。ほかの uid に対する setuid や setgid は以前のとおりです。カーネルでは、exec_attr(4) の Forced Privilege RBAC プロファイルでエントリを検索して、プログラムの実行に使用される特権を判断するようになりました。プログラムは、uid root とすべての特権で開始されるのではなく、現在の uid と、Forced Privilege RBAC 実行プロファイルでそのパス名に割り当てられている追加の特権のみで実行されます。
権利プロファイルとは、承認などのセキュリティー属性、セキュリティー属性を持つコマンド、および補助権利プロファイルを集めたものです。Oracle Solaris では権利プロファイルが多数提供されています。既存の権利プロファイルを修正し、新しい権利プロファイルを作成できます。権利プロファイルは、もっとも権限のあるものからもっとも権限のないものへと順番に割り当てられる必要があることに注意してください。
以下に、使用できる権利プロファイルをいくつか示します。
System Administrator – セキュリティーに関係しないほとんどのタスクを実行できるプロファイルです。このプロファイルには、権限のある役割を作成するためにいくつかのほかのプロファイルが含まれます。このプロファイルに関する情報を表示するには、profiles コマンドを使用します。例 9-1 を参照してください。
Operator – ファイルやオフラインメディアを管理するための限られた機能を持つプロファイルです。
Printer Management – 印刷を処理するための限られた数のコマンドと承認を提供するプロファイルです。
Basic Solaris User – ユーザーがセキュリティーポリシーの境界内でシステムを使用できるようにするプロファイルです。このプロファイルは、デフォルトで policy.conf ファイル内にリストされます。
Console User – ワークステーション所有者用のプロファイルです。このプロファイルは、コンピュータを使用している人に対して承認、コマンド、アクションへのアクセスを提供します。
このリリースで使用できる他の権利プロファイルには、All 権利プロファイルや Stop 権利プロファイルなどがあります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の第 10 章「Oracle Solaris のセキュリティー属性 (参照)」を参照してください。
例 9-1 System Administrator 権利プロファイルに関する情報の表示
特定の権利プロファイルに関する情報を表示するには、profiles コマンドを使用します。次の例では、System Administrator 権利プロファイルに関する情報が表示されます。
$ profiles -p "System Administrator" info name=System Administrator desc=Can perform most non-security administrative tasks profiles=Install Service Management,Audit Review,Extended Accounting Flow Management,Extended Accounting Net Management,Extended Accounting Process Management, Extended Accounting Task Management,Printer Management,Cron Management,Device Management, File System Management,Log Management,Mail Management,Maintenance and Repair, Media Backup,Media Catalog,Media Restore,Name Service Management,Network Management Object Access Management,Process Management,Project Management,RAD Management, Service Operator,Shadow Migration Monitor,Software Installation,System Configuration,User Management,ZFS Storage Management help=RtSysAdmin.html
ユーザーに特権が直接割り当てられるとき、実際にはその特権はすべてのシェルにあります。ユーザーに特権が直接割り当てられないとき、ユーザーはプロファイルシェルを開く必要があります。たとえば、特権が割り当てられているコマンドがユーザーの権利プロファイルのリスト内の権利プロファイルに含まれるとき、ユーザーはプロファイルシェルでコマンドを実行する必要があります。
特権をオンラインで表示する場合は、privileges(5) を参照してください。表示される特権の形式は、開発者によって使用されます。
$ man privileges Standards, Environments, and Macros privileges(5) NAME privileges - process privilege model ... The defined privileges are: PRIV_CONTRACT_EVENT Allow a process to request reliable delivery of events to an event endpoint. Allow a process to include events in the critical event set term of a template which could be generated in volume by the user. ...
例 9-2 直接割り当てられた特権を表示する
直接特権が割り当てられた場合、基本セットにはデフォルトの基本セットより多くの特権が含まれます。次の例では、ユーザーは常時 proc_clock_highres 特権にアクセスできます。
$ /usr/bin/whoami jdoe $ ppriv -v $$ 1800: pfksh flags = <none> E: file_link_any,…,proc_clock_highres,proc_session I: file_link_any,…,proc_clock_highres,proc_session P: file_link_any,…,proc_clock_highres,proc_session L: cpc_cpu,dtrace_kernel,dtrace_proc,dtrace_user,…,sys_time $ ppriv -vl proc_clock_highres Allows a process to use high resolution timers.
承認を表示するには、auths コマンドを使用します。
$ auths list
このコマンドの出力では、ユーザーに割り当てられている承認のサマリーが読みやすい形式 (1 行につき 1 つ) で表示されます。Oracle Solaris 11.1 以降、auths コマンドに複数の新しいオプションが追加されました。たとえば、check オプションはスクリプト作成に役立ちます。他の新しいオプションは、files または LDAP との間で承認を追加、変更、および削除する機能を提供します。auths(1) を参照してください。