トップページ » Solaris10最小特権(Least Privilege)機能 » Solaris10 最小特権(Least Privilege)機能の特権一覧
カテゴリー
My Yahoo!に追加
Sun社提供情報
Solarisパッケージダウンロード
Sunマシンは買うには
blogs.sun.com
お勧めサイト
プライベートリンク

Solaris10 最小特権(Least Privilege)機能の特権一覧

Solaris10の新機能である最小特権(Least Privilege)機能を紹介していく。

まず、最初はどんな特権があるのかを紹介する。
現時点では以下のような48の特権がある。
Solaris10ではこれらの特権をプロセス単位で割り当てることができるため、
以前までのRBAC機能ややsudoコマンドなどよりも目的に特化した権限委譲ができる。

cpc_cpu
CPU ごとのハードウェアパフォーマンスカウンタにアクセスできるようにします。

dtrace_kernel
DTrace のカーネルレベルのトレースを可能にします。

dtrace_proc
DTrace のプロセスレベルのトレースを可能にします。ユーザーがアクセス権を持っているプロセスにプロセスレベルのトレースプローブを置いて有効にできます。

dtrace_user
DTrace のユーザーレベルのトレースを可能にします。ユーザーがアクセス権を持っているプロセスを調べるためにDTrace の syscall プロバイダやプロファイルプロバイダを使用できます。

file_chown
ファイル所有者のユーザー ID を変更できるようにします。ファイルのグループ ID を、プロセスの実効グループ ID またはプロセスの補助グループ ID のいずれか以外に変更できるようにします。

file_chown_self
プロセスのファイルを配布できるようにします。この特権を持つプロセスは {_POSIX_CHOWN_RESTRICTED} が無効になっているかのように実行されます。

file_dac_execute
アクセス権ビットまたは ACL によってプロセスの実行権が許可されていない実行可能ファイルを実行できるようにします。

file_dac_read
アクセス権ビットまたは ACL によってプロセスの読み取り権が許可されていないファイルまたはディレクトリを読み取れるようにします。
(⇒ログイン時にユーザに割り当てる方法はこちら

file_dac_search
アクセス権ビットまたは ACL によってプロセスの検索権が許可されていないディレクトリを検索できるようにします。

file_dac_write
アクセス権ビットまたは ACL によってプロセスの書き込み権が許可されていないファイルまたはディレクトリを書き込めるようにします。実効ユーザー ID 0 が設定されていないユーザー ID 0 によって所有されているファイルを書き込むためには、すべての特権が必要になります。

file_link_any
プロセスの実効ユーザー ID と異なるユーザー ID によって所有されているファイルへのハードリンクを作成できるようにします。

file_owner
ファイルまたはディレクトリの所有者ではないプロセスで、通常はファイル所有者にのみ許可されている次の操作を実行できるようにします。そのファイルのアクセス回数や修正回数の変更、親ディレクトリに 実行後にテキストイメージを保存(スティッキ) ビットが設定されているファイルまたはディレクトリの削除または名前変更、ファイルへの namefsのマウント、set-uid や set-gid ビット以外のアクセス権ビットまたは ACL の変更。

file_setid
set-user-ID や set-group-ID ビットが消去されていない状態でファイルの所有権を変更したり、ファイルに書き込んだりすることができるようにします。グループがプロセスの実効グループまたはプロセスの補助グループのいずれでもないファイルまたはディレクトリに set-group-IDビットを設定できるようにします。PRIV_FILE_OWNER が設定されている状態で、異なる所有権を持つファイルに set-user-ID ビットを設定できるようにします。set-uid 0 ファイルの作成または変更時に、追加の制限が適用されます。

ipc_dac_read
アクセス権ビットによってプロセスの読み取り権が許可されていないSystem V IPC のメッセージキュー、セマフォセット、または共有メモリセグメントを読み取れるようにします。アクセス権ビットによってプロセスの読み取り権が許可されていないリモート共有メモリを読み取れるようにします。

ipc_dac_write
アクセス権ビットによってプロセスの書き込み権が許可されていないSystem V IPC のメッセージキュー、セマフォセット、または共有メモリセグメントを書き込めるようにします。アクセス権ビットによってプロセスの書き込み権が許可されていないリモート共有メモリを読み取れるようにします。オブジェクトの所有者のユーザー ID が 0 で、現在のプロセスの実効ユーザー ID が 0 ではない場合は、追加の制限が適用されます。

ipc_owner
System V IPC のメッセージキュー、セマフォセット、または共有メモリセグメントの所有者ではないプロセスで、メッセージキュー、セマフォセット、または共有メモリセグメントの所有権を削除、変更したり、そのアクセス権ビットを変更したりできるようにします。オブジェクトの所有者のユーザー ID が 0 で、現在のプロセスの実効ユーザー ID が 0ではない場合は、追加の制限が適用されます。

net_icmpaccess
ICMP パケットを送受信できるようにします。

net_privaddr
特権付きポート番号にバインドできるようにします。特権付きポート番号は 1 〜 1023 の番号を持つポート(従来の UNIX 特権付きポート) と、"udp/tcp_extra_priv_ports" とマークされているポート (NFS で使用するために予約されているポートを除く) です。
具体的な設定例(Apache2での設定)はこちら

net_rawaccess
ネットワーク層に直接アクセスできるようにします。
具体的な設定例(一般ユーザによる snoop 実行)はこちら

proc_audit
監査レコードを生成できるようにします。独自の監査事前選択情報を取得できるようにします。

proc_chroot
プロセスのルートディレクトリを変更できるようにします。

proc_clock_highres
解像度の高いタイマーを使用できるようにします。

proc_exec
execve() を呼び出せるようにします。

proc_fork
fork1()/forkall()/vfork() を呼び出せるようにします。

proc_info
信号を送信できるプロセス以外のプロセスの状態を調査できるようにします。調査できないプロセスは /proc に表示されないため、存在していないように見えます。

proc_lock_memory
物理メモリ内のページをロックできるようにします。

proc_owner
所有権に関係なく、信号をほかのプロセスに送信したり、ほかのプロセスに対するプロセス状態を検査および変更したりできるようにします。別のプロセスを変更するときは、次の追加の制限が適用されます。割り当てるプロセスの有効な特権セットは、ターゲットプロセスの実効セット、許可セット、および継承可能なセットからなるスーパーセットでな ければなりません。制限セットは、ターゲットの制限セットのスーパーセットでなければなりません。ターゲットプロセスのユーザー ID が 0 に設定されている場合は、実効ユーザー ID が 0 でない限りすべての特権を表明する必要があります。任意のプロセスを CPU にバインドできるようにします。

proc_priocntl
プロセスの優先順位を現在のレベルよりも上げられるようにします。プロセスのスケジューリングクラスを RT クラスなどの任意のスケジューリングクラスに変更できるようにします。

proc_session
プロセスのセッションの外部で信号を送信したり、プロセスを監視したりできるようにします。

proc_setid
プロセスのユーザー ID を自由に設定できるようにします。ユーザー IDを 0 にする場合は、すべての特権を表明する必要があります。

proc_taskid
新しいタスク ID を呼び出し側プロセスに割り当てられるようにします。

proc_zone
ほかのゾーンのプロセスを監視したり、そこに信号を送信したりできるようにします。

sys_acct
acct(2)、getacct(2)、putacct(2)、および wracct(2) によってアカウンティングを有効/無効にしたり、管理したりできるようにします。

sys_admin
ノードやドメイン名の設定、nscd 設定および coreadm 設定の指定などのシステム管理タスクを実行できるようにします。

sys_audit
(カーネルの) 監査デーモンを起動できるようにします。監査状態 (監査ユーザー ID、監査端末 ID、監査セッション ID、監査事前選択マスク)を表示、設定できるようにします。監査をオンまたはオフにできるよう にします。監査パラメータ (キャッシュサイズ、キューサイズ、イベントからクラスへのマッピング、ポリシーオプション) を設定できるようにします。

sys_config
さまざまなシステム構成タスクを実行できるようにします。スワップデバイスを追加および削除できるようにします。スワップデバイスを追加するときは、そのスワップデバイスに対する読み取りと書き込みを行うための十分な権限も必要になります。

sys_devices
カーネルの drv_priv(9F) 関数を呼び出して許可されたアクセスがあるかどうか調べるカーネルモジュールを正常に呼び出せるようにします。実際のコンソールデバイスを直接開けるようにします。排他的に開いているデバイスを開けるようにします。

sys_ipc_config
System V IPC のメッセージキューのバッファのサイズを増やせるようにします。

sys_linkdir
ディレクトリにリンク/リンク解除できるようにします。

sys_mount
ファイルシステム固有の管理手順 (ファイルシステム設定の ioctl、割り当ての呼び出し、スナップショットの作成/削除など) を実行できるようにします。ほかに制限されているファイルシステム (namefs 以外のほとんどのファイルシステム) をマウントおよびマウント解除できるようにします。マウント操作を実行するプロセスには、マウントされるデバイスに対する適切なアクセス ("rw" マウントには読み取り/書き込みアクセス、"ro" マウントには読み取りアクセス) が必要です。前述のファイルシステム操作のいずれかを実行するプロセスには、マウントポイントに対する読み取り/書き込み/所有者アクセスが必要です。すべてのゾーン特権が表明されているとは限らないプロセスのマウントポイントとして使用できるのは、標準のファイルやディレクトリのみです。プロセスにすべてのゾーン特権があるとは限らない場合、mount(2) システムコールによって強制的に "nosuid" および "restrict" オプション(後者はautofs マウントポイントに対してのみ) が実行されます。特権に関係なく、グローバルではないゾーンで実行されているプロセスはそのゾーン内から実行されたマウントのみを制御できます。大域ゾーンの外部では、"nodevices" オプションが必ず実行されます。

sys_net_config
システムのネットワークインタフェースおよびネットワークルートを設定できるようにします。ndd を使用してネットワークパラメータを設定できるようにします。ndd を使用してほかに制限されている情報にアクセスできるようにします。rpcmod STREAMs モジュールをプッシュできるようにします。アンカーされた STREAMs モジュールをポップできるようにします。モジュールスタックの先頭以外の場所で STREAMs モジュールを挿入 (INSERT) または削除 (REMOVE) できるようにします。IPsec を設定できるようにします。

sys_nfs
Sun の非公開の NFS 固有のシステムコールを実行できるようにします。NFS によって予約されたポートであるポート 2049 (nfs) とポート4045(lockd) にバインドできるようにします。

sys_res_config
プロセッサセットの作成と削除、プロセッサセットへの CPU の割り当て、および PSET_NOESCAPE プロパティのオーバーライドを可能にします。p_online(2) を使用してシステム内の CPU の稼働状態を変更できるようにします。リソースプールを構成したり、プロセスをプールにバインドしたりできるようにします。

sys_resource
setrlimit(2) および setrctl(2) によって指定されたリソース制限を無制限に変更できるようにします。ユーザーごとの最大プロセス数を超えられるようにします。予備の領域が minfree 領域よりも少ないファイルシステムでファイルを拡張または作成できるようにします。

sys_suser_compat
カーネルの suser() 関数を呼び出して許可されたアクセスがあるかどうかを調べる他社製の読み込み可能なモジュールを正常に呼び出せるようにします。この特権は、他社製の読み込み可能なモジュールの互換性にのみ使用でき、Solaris 本体では使用しません。

sys_time
適切なシステムコール (stime、adjtime、ntp_adjtime) と x86 固有のRTC 呼び出しのいずれかを使用して、システム時刻を操作できるようにします。

========================================
※詳しい情報は以下のトレーニングコース参照
Solaris10新機能(システム管理編)
========================================

Solaris10最小特権(Least Privilege)機能のその他のリンク

Solaris系技術トレーニング一覧

Solaris10システム管理基本コース
Solaris10ネットワーク・インターネットサーバー管理コース
セキュリティ・パフォーマンス管理・トラブルシューティング等
Sun Cluster、ボリューム管理ソフトウェア
仮想化技術全般
シンクライアント、SunRay、デスクトップソフトウェア
アイデンティティマネージメントサービス
アプリケーションサーバーとWebポータル
サーバー(ハードウェア)メンテナンス
Sun Java CAPS
MySQL

コメント

do4i0i lrnzgihjsimo, [url=http://ezmzzhtwsydq.com/]ezmzzhtwsydq[/url], [link=http://deacvtdqfzzh.com/]deacvtdqfzzh[/link], http://mkyulwgemiul.com/

Posted by: mzxyggt : 2009年11月11日 01:58

2smoLz pmgllhmmmnlj, [url=http://ldfeawfepimi.com/]ldfeawfepimi[/url], [link=http://txvrurkvcnxt.com/]txvrurkvcnxt[/link], http://dmbgoprditar.com/

Posted by: dprgdeoc : 2010年01月22日 19:14

lqJjOh kosfgnhpousq, [url=http://ulfueghewtvi.com/]ulfueghewtvi[/url], [link=http://uwymicketxyd.com/]uwymicketxyd[/link], http://qdnfhaohyjdk.com/

Posted by: qxkqofu : 2010年02月25日 14:18

zFCDD5 urywccjmgmbd, [url=http://ubunutmkrtln.com/]ubunutmkrtln[/url], [link=http://vqyvylgywlwz.com/]vqyvylgywlwz[/link], http://kmpfauueqkcb.com/

Posted by: dlxiercry : 2010年04月23日 14:30
コメントする









名前、アドレスを登録しますか?