Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP- UX Developer Edge

「だれもがroot」を解消するSecurity Containment・前編

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
「だれもがroot」を解消するSecurity Containment・前編

ロールベースのアクセス権限管理

  冒頭でも述べたように、rootのパスワードを複数のユーザで使い回す運用には問題点が多い。不正アクセス時の被害が大きくなるだけでなく、監査に支障が生じることになる。つまり、rootによる操作履歴を見ても、それが実際に誰なのかを特定できないのだ。見覚えのないログイン記録が残っていたとしても、「他の管理者が使ったのだろう」と見過ごしてしまうことになる。
「だれもがroot」を解消するSecurity Containment・前編
「だれもがroot」のセキュリティ・ポリシー
ロールベースのアクセス権限管理

Security Containmentのもう一つの機能、Role-based Access Control(RBAC)は、この問題にフォーカスしたソリューションである。RBACでは、rootが持つすべての権限のうち、個々の作業に必要な権限だけをユーザに付与する。これにより、インストール作業やファイル操作といった簡単な作業のためにrootでログインする必要がなくなる。

もっとも、すべてのユーザについてこと細かにアクセス権を設定するのは面倒な作業だ。そこでRBACでは、「ネットワーク管理者」や「バックアップ担当者」といったロール(役割)に対して詳細な権限を割り当て、各ユーザにはロールを設定するという方式を採用している(以下参照)。

<表:RBACによるロールベースのアクセス制御>
  User
Admin
Network
Admin
Backup
Operator
User Admin
hpux.user.add      
hpux.user.delete      
hpux.user.modify      
hpux.user.password.modify      
hpux.network.nfs.start      
hpux.network.nfs.stop      
hpux.network.nfs.config      
hpux.fs.backup      
hpux.fs.restore      

上記表の例では、ロールUser Adminに対してユーザの追加(add)や削除(delete)、パスワード変更(password.modify)といった権限を付与している。またロールNetwork Adminには、NFSサービスの開始や終了(startとstop)、設定(config)の権限を与えている。このように目的別に権限を細かく割り振れば、rootパスワードを知る管理者を最小限に抑えられる。

RBACの利用の実際

RBACの実際の利用手順を紹介しよう。以下の表は、RBACにおけるおもなコマンドの一覧である。

 
コマンド 機能
privrun 権限チェックの後にアプリケーションを起動する
privedit 権限チェックの後にファイルを編集する
roleadm ロールを設定する
authadm 権限を設定する
cmdprivadm 管理用コマンドと、その実行に必要な権限を登録する

例えば、ApacheAdminというロールを作成し、ユーザwebadminに同ロールを割り当てるには、以下のroleadmコマンドを実行する。

  # roleadm add ApacheAdmin
# roleadm assign webadmin ApacheAdmin
 

つづいて、Apache Webサーバ起動の権限を表す「hpux.hpws.start」を新たに定義し、それをロールApacheAdminに付与するには、以下のauthadmコマンドを実行する。

  # authadm add hpux.hpws.start apache
# authadm assign ApacheAdmin hpux.hpws.* apache
 

一方、権限hpux.hpws.startとApache Webサーバの起動コマンド「/sbin/init.d/hpws_apache start」に対応づけるには、以下のcmdprivadmコマンドを実行する。

  # cmdprivadm add cmd="/sbin/init.d/hpws_apache start" ruid=0 euid=0 op=hpux.hpws.start object=apache compartment=apache  

このように「compartment=apache」と指定すれば、この権限で起動されるApache Webサーバをコンパートメントapacheに従属させることができる。

こうして一定の管理権限を得たユーザwebadminは、ラッパーコマンドprivrunコマンドを用いることで、実際の管理コマンドを実行できる。

  > privrun /sbin/init.d/hpws_apache start  

このprivrunコマンドでは、同ユーザに与えられた権限をチェックしたのち、引数として指定されたコマンドを実行する仕組みである。以上のようなRBACのメカニズムにより、「どの担当者がどのような作業をどのコンパートメントで実施できるか」を子細に規定でき、rootの権限を細分化して各担当者に分け与えることができる。

続く後編では、Security Containmentの3つめの機能、Fine-grained Privilegeについて説明する。
トップへ 戻る    

その他のコラム(特集)もお読み下さい

 
 

本ページの内容は執筆時の情報に基づいており、異なる場合があります。
印刷用画面へ
プライバシー ご利用条件・免責事項