JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris の管理: セキュリティーサービス     Oracle Solaris 11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I セキュリティーの概要

1.  セキュリティーサービス (概要)

パート II システム、ファイル、およびデバイスのセキュリティー

2.  マシンセキュリティーの管理 (概要)

3.  システムアクセスの制御 (タスク)

4.  ウイルススキャンサービス (タスク)

5.  デバイスアクセスの制御 (タスク)

6.  基本監査報告機能の使用方法 (タスク)

7.  ファイルアクセスの制御 (タスク)

パート III 役割、権利プロファイル、特権

8.  役割と特権の使用 (概要)

9.  役割に基づくアクセス制御の使用 (タスク)

RBAC の使用 (タスク)

RBAC デフォルトの表示および使用 (タスク)

RBAC デフォルトの表示および使用 (タスクマップ)

定義済みのすべてのセキュリティー属性を表示する方法

割り当てられた権限を表示する方法

役割になる方法

管理権限を取得する方法

サイトでの RBAC のカスタマイズ (タスク)

RBAC の初期構成 (タスクマップ)

RBAC の実装を計画する方法

役割を作成する方法

役割を割り当てる方法

役割を監査する方法

権利プロファイルを作成または変更する方法

RBAC プロパティーをレガシーアプリケーションに追加する方法

RBAC と特権の割り当てをトラブルシューティングする方法

RBAC の管理 (タスク)

RBAC の管理(タスクマップ)

役割のパスワードを変更する方法

役割のセキュリティー属性を変更する方法

ユーザーの RBAC プロパティーを変更する方法

ユーザーをデスクトップアプリケーションに制限する方法

管理者を明示的に割り当てられた権限に制限する方法

ユーザーが自分のパスワードを使用して役割になれるようにする方法

root 役割をユーザーに変更する方法

特権の使用 (タスク)

特権の判断 (タスクマップ)

システム上の特権を一覧表示する方法

直接割り当てられた特権を判断する方法

実行可能な特権付きコマンドを判断する方法

特権の管理 (タスクマップ)

プロセスの特権を判断する方法

プログラムが必要とする特権を判断する方法

特権付きのコマンドを含むシェルスクリプトの実行方法

10.  Oracle Solaris のセキュリティー属性 (参照)

パート IV 暗号化サービス

11.  暗号化フレームワーク (概要)

12.  暗号化フレームワーク (タスク)

13.  鍵管理フレームワーク

パート V 認証サービスと安全な通信

14.  ネットワークサービスの認証 (タスク)

15.  PAM の使用

16.  SASL の使用

17.  Secure Shell の使用 (タスク)

18.  Secure Shell (参照)

パート VI Kerberos サービス

19.  Kerberos サービスについて

20.  Kerberos サービスの計画

21.  Kerberos サービスの構成 (タスク)

22.  Kerberos エラーメッセージとトラブルシューティング

23.  Kerberos 主体とポリシーの管理 (タスク)

24.  Kerberos アプリケーションの使用 (タスク)

25.  Kerberos サービス (参照)

パート VII Oracle Solaris での監査

26.  監査 (概要)

27.  監査の計画

28.  監査の管理 (タスク)

29.  監査 (参照)

用語集

索引

RBAC デフォルトの表示および使用 (タスク)

ユーザーにはデフォルトで権限が割り当てられます。システムの全ユーザーの権限は、/etc/security/policy.conf ファイルで割り当てられます。

RBAC デフォルトの表示および使用 (タスクマップ)

Oracle Solaris のインストール時に、システムはユーザー権限とプロセス権限を使って構成されます。それ以上の構成がない場合は、次のタスクマップを使用して RBAC を表示および使用します。

タスク
説明
参照先
セキュリティー属性データベースの内容を表示します。
システム上のすべての承認、権利プロファイル、およびセキュリティー属性を持つコマンドを一覧表示します。
ユーザーの権限を表示します。
権利プロファイル、承認、特権、および割り当てられた役割の一覧表示が含まれます。
root 役割になります。
最初のユーザーは管理権限を取得します。
管理者になります。
管理権限が割り当てられているユーザーは、それらの権限を使用するのにいくつかの方法を利用できます。

定義済みのすべてのセキュリティー属性を表示する方法

システム上のすべての承認、権利プロファイル、およびセキュリティー属性を持つコマンドを一覧表示するには、次のコマンドを使用します。定義済みのすべての特権を一覧表示するには、「システム上の特権を一覧表示する方法」を参照してください。

  1. すべての承認を一覧表示します。
    % getent auth_attr | more
    solaris.:::All Solaris Authorizations::help=AllSolAuthsHeader.html
    solaris.account.:::Account Management::help=AccountHeader.html
    ...
    solaris.zone.login:::Zone Login::help=ZoneLogin.html
    solaris.zone.manage:::Zone Deployment::help=ZoneManage.html
  2. すべての権利プロファイルを一覧表示します。
    % getent prof_attr | more
    All:::Execute any command as the user or role:help=RtAll.html
    Audit Configuration:::Configure Solaris Audit:auths=solaris.smf.value.audit;
    help=RtAuditCfg.html
    ...
    Zone Management:::Zones Virtual Application Environment Administration:
    help=RtZoneMngmnt.html
    Zone Security:::Zones Virtual Application Environment Security:auths=solaris.zone.*,
    solaris.auth.delegate;help=RtZoneSecurity.html ...
  3. セキュリティー属性を持つすべてのコマンドを一覧表示します。
    % getent exec_attr | more
    All:solaris:cmd:::*:
    Audit Configuration:solaris:cmd:::/usr/sbin/auditconfig:privs=sys_audit
    ...
    Zone Security:solaris:cmd:::/usr/sbin/txzonemgr:uid=0
    Zone Security:solaris:cmd:::/usr/sbin/zonecfg:uid=0 ...

割り当てられた権限を表示する方法

RBAC の割り当てを表示するには、次のコマンドを使用します。割り当てることができるすべての権限を表示するには、「定義済みのすべてのセキュリティー属性を表示する方法」を参照してください。

  1. 承認を一覧表示します。
    % auths
    solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq

    デフォルトでは、これらの承認はすべてのユーザーに割り当てられます。

  2. 権利プロファイルを一覧表示します。
    % profiles
    Basic Solaris User
    All

    デフォルトでは、これらの権利プロファイルはすべてのユーザーに割り当てられます。

  3. 割り当てられた役割を一覧表示します。
    % roles
    root

    デフォルトでは、この役割は最初のユーザーに割り当てられます。No roles は、役割が割り当てられないことを示します。

  4. デフォルトシェルの特権を一覧表示します。
    % ppriv $$
    1234:    /bin/csh
    flags = <none>
        E: basic
        I: basic
        P: basic
        L: all

    デフォルトでは、どのユーザーにも基本特権セットが割り当てられます。制限セットはすべての特権です。

    % ppriv -vl basic
    file_link_any
            Allows a process to create hardlinks to files owned by a uid
            different from the process' effective uid.
    file_read
            Allows a process to read objects in the filesystem.
    file_write
            Allows a process to modify objects in the filesystem.
    net_access
            Allows a process to open a TCP, UDP, SDP or SCTP network endpoint.
    proc_exec
            Allows a process to call execve().
    proc_fork
            Allows a process to call fork1()/forkall()/vfork()
    proc_info
            Allows a process to examine the status of processes other
            than those it can send signals to.  Processes which cannot
            be examined cannot be seen in /proc and appear not to exist.
    proc_session
            Allows a process to send signals or trace processes outside its session.
  5. 権利プロファイル内のコマンドに対する特権を一覧表示します。
    % profiles -l
      Basic Solaris User
       /usr/bin/cdda2wav.bin   privs=file_dac_read,sys_devices,
         proc_priocntl,net_privaddr
       /usr/bin/cdrecord.bin   privs=file_dac_read,sys_devices,
         proc_lock_memory,proc_priocntl,net_privaddr
       /usr/bin/readcd.bin     privs=file_dac_read,sys_devices,net_privaddr
      All
       * 

    ユーザーの権利プロファイルには、特定の特権で実行されるコマンドを含めることができます。Basic Solaris User プロファイルには、ユーザーが CD-ROM への読み取りと書き込みを行えるコマンドが含まれています。

例 9-1 ユーザーの承認の一覧表示

% auths username
solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq

例 9-2 ユーザーまたは役割の権利プロファイルの一覧表示

次のコマンドでは、特定のユーザーの権利プロファイルを一覧表示します。

% profiles jdoe
jdoe: 
          Basic Solaris User
          All

次のコマンドでは、cryptomgt 役割の権利プロファイルを一覧表示します。

% profiles cryptomgt
cryptomgt:
          Crypto Management
          Basic Solaris User
          All

次のコマンドでは、root 役割の権利プロファイルを一覧表示します。

% profiles root
root:
          All
          Console User
          Network Wifi Info
          Desktop Removable Media User
          Suspend To RAM
          Suspend To Disk
          Brightness
          CPU Power Management
          Network Autoconf User
          Basic Solaris User

例 9-3 ユーザーの割り当てられた役割の一覧表示

次のコマンドでは、特定のユーザーの割り当てられた役割を一覧表示します。

% roles jdoe
root

例 9-4 特定のコマンドに対するユーザーの特権の一覧表示

次のコマンドでは、通常ユーザーの権利プロファイルに含まれる特権付きコマンドを一覧表示します。

% profiles -l jdoe
jdoe: 
  Basic Solaris User
   /usr/bin/cdda2wav.bin   privs=file_dac_read,sys_devices,
     proc_priocntl,net_privaddr
   /usr/bin/cdrecord.bin   privs=file_dac_read,sys_devices,
     proc_lock_memory,proc_priocntl,net_privaddr
   /usr/bin/readcd.bin     privs=file_dac_read,sys_devices,net_privaddr
  All
   * 

役割になる方法

始める前に

役割がすでに割り当てられている必要があります。その情報でネームサービスを更新する必要があります。

  1. 端末ウィンドウで、なることのできる役割を判断します。
    % roles
    Comma-separated list of role names is displayed
  2. su コマンドを使用して役割になります。
    % su - rolename
    Password: <Type rolename password>
    $

    su - rolename コマンドを実行すると、シェルがその役割のプロファイルシェルに変わります。プロファイルシェルは、承認、特権、set ID ビットなどのセキュリティー属性を認識します。

  3. (省略可能) 役割になっていることを確認します。
    $ /usr/bin/whoami
    rolename

    端末ウィンドウで役割のタスクを実行できるようになりました。

  4. (省略可能) 自分の役割の機能を表示します。

    手順については、「割り当てられた権限を表示する方法」を参照してください。

例 9-5 root 役割になる

次の例では、最初のユーザーが root 役割になり、その役割のシェルで特権を一覧表示します。

% roles
root
% su - root
Password: <Type root password>
# Prompt changes to root prompt
# ppriv $$
1200:   pfksh
flags = <none>
        E: all
        I: basic
        P: all
        L: all

特権の詳細については、「特権 (概要)」を参照してください。

管理権限を取得する方法

管理権限は、プロファイルシェルを実行しているときに有効になります。デフォルトでは、役割アカウントにプロファイルシェルが割り当てられます。役割とは、特定の管理権限が割り当てられている特殊なアカウントであり、通常は監査ファイルの確認など、関連した一連の管理アクティビティーに割り当てられます。

root 役割では、最初のユーザーにすべての管理権限が与えられます。つまり、最初のユーザーはスーパーユーザーになります。root 役割はほかの役割を作成できます。

始める前に

システムを管理するには、通常のユーザーには割り当てられない権限を持つ必要があります。スーパーユーザーでない場合は、役割、管理権利プロファイル、または特定の特権か承認が割り当てられる必要があります。

例 9-6 役割の使用を容易にするために認証をキャッシュする

この例では、管理者はネットワークを管理するように役割を構成しますが、ユーザーの認証をキャッシュに書き込むことで使用が容易になります。最初に、管理者は役割を作成して割り当てます。

# roleadd -K roleauth=user -P "Network Management" netmgt
# usermod -R +netmgt jdoe

その役割への切り替え時に jdoe-c オプションを使用した場合は、snoop の出力が表示される前にパスワードが必要になります。

% su - netmgt -c snoop options
Password:

snoop output

認証がキャッシュに書き込まれていない場合は、jdoe がそのコマンドをすぐに再実行しても、パスワードプロンプトが表示されます。

管理者は、認証がキャッシュに書き込まれるように pam.conf ファイルを構成します。その結果、最初はパスワードが要求されますが、それ以降は一定の時間が過ぎるまで要求されなくなります。管理者は、pam.conf のカスタマイズされたすべてのスタックをそのファイルの終わりに配置します。

# vi /etc/pam.conf
...
#
## Cache authentication for switched user
#
su      auth required           pam_unix_cred.so.1
su      auth sufficient         pam_tty_tickets.so.1
su      auth requisite          pam_authtok_get.so.1
su      auth required           pam_dhkeys.so.1
su      auth required           pam_unix_auth.so.1

エントリの作成後、管理者はそれらのエントリでタイポ、脱字、または繰り返しを調べます。

完全な su スタックが必要です。pam_tty_tickets.so.1 モジュールはキャッシュを提供します。PAM の詳細は、pam.conf(4) のマニュアルページおよび第 15 章PAM の使用を参照してください。

su PAM スタックを pam.conf ファイルに追加したあとは、一連のコマンドの実行時に、netmgt 役割は一度しかパスワードの入力を求められません。

% su - netmgt -c snoop options
Password:

snoop output
% su - netmgt -c snoop options
snoop output
...