Oracle® Solaris 11.2 での Kerberos およびその他の認証サービスの管理

印刷ビューの終了

更新: 2014 年 9 月
 
 

変更された PAM ポリシーを割り当てる方法

この手順では、すべてのシステムイメージ上にデフォルト以外の PAM ポリシーを構成します。すべてのファイルがコピーされたら、新しい PAM ポリシーまたは変更された PAM ポリシーを個々のユーザーまたはすべてのユーザーに割り当てることができます。

始める前に

新しいポリシーを実装する PAM 構成ファイルが変更およびテストされています。

root 役割になる必要があります。詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  1. デフォルト以外の PAM ファイルをすべてのシステムイメージに追加します。

    すべての新しい PAM モジュールと、新しい PAM 構成ファイルおよび変更された PAM 構成ファイルをすべてのシステムイメージに追加する必要があります。

    1. 最初に、すべての新しい PAM モジュールをすべてのシステムイメージに追加します。
      1. 32 ビットの PAM モジュールをアーキテクチャーに適したディレクトリに追加します。
      2. 64 ビットの PAM モジュールをアーキテクチャーに適したディレクトリに追加します。

      ディレクトリの設定の例については、PAM モジュールを追加する方法Step 1 を参照してください。

    2. 次に、すべての新しい PAM 構成ファイルをすべてのシステムイメージに追加します。

      たとえば、/opt/local_pam/ssh-telnet-conf ファイルをすべてのシステムイメージに追加します。

    3. 次に、すべての変更された PAM 構成ファイルをすべてのシステムイメージにコピーします。

      たとえば、変更された /etc/pam.conf ファイルと、すべての変更された /etc/pam.d/service-name-files をすべてのシステムイメージにコピーします。

  2. デフォルト以外の PAM ポリシーをすべてのユーザーに割り当てます。
    1. policy.conf ファイルを次のいずれかの方法で変更します。
      • policy.conf ファイル内の PAM_POLICY キーワードに PAM 構成ファイルを追加します。
        # pfedit /etc/security/policy.conf
        ...
        # PAM_POLICY=
        PAM_POLICY=/opt/local_pam/ssh-telnet-conf
        ...
      • policy.conf ファイル内の PROFS_GRANTED キーワードに権利プロファイルを追加します。

        たとえば、Example 1–3 の PAM Per-User Policy of Any 権利プロファイルを割り当てます。

        # pfedit /etc/security/policy.conf
        ...
        AUTHS_GRANTED=
        # PROFS_GRANTED=Basic Solaris User
        PROFS_GRANTED=PAM Per-User Policy of Any,Basic Solaris User
        ...
    2. 変更された policy.conf ファイルをすべてのシステムイメージにコピーします。
  3. デフォルト以外の PAM ポリシーを個々のユーザーに割り当てるには、そのポリシーをユーザーに直接割り当てるか、またはそのポリシーをユーザーに割り当てられている権利プロファイルに追加できます。
    • PAM ポリシーを個々のユーザーに直接割り当てます。
      # usermod -K pam_policy="/opt/local_pam/ssh-telnet-conf" jill
    • 権利プロファイル内に PAM ポリシーを含め、そのプロファイルを個々のユーザーに割り当てます。

      この例では、ldap PAM ポリシーを使用します。

      # profiles -p "PAM Per-User Policy of LDAP" \
      'set desc="Profile which sets pam_policy=ldap";
      set pam_policy=ldap; exit;'

      次に、この権利プロファイルをユーザーに割り当てます。

      # usermod -P +"PAM Per-User Policy of LDAP" jill
使用例 1-4  ktelnet PAM スタックの選択されたユーザーへの制限

管理者が、Kerberos レルムで telnet を使用することを許可するユーザーの数を制限したいとします。そのため、telnet サービスが有効になる前に、管理者はデフォルトの ktelnet 構成ファイルを変更し、そのデフォルトの ktelnet ファイルを pam_policy ディレクトリ内に配置します。

最初に、管理者は、ユーザーごとの ktelnet ファイルを構成します。

# cp /etc/pam.d/ktelnet /etc/security/pam_policy/ktelnet-conf
# pfedit /etc/security/pam_policy/ktelnet-conf
...
# Kerberized telnet service
#
ktelnet  auth required           pam_unix_cred.so.1
ktelnet  auth required           pam_krb5.so.1

管理者は、そのファイルを 444 のアクセス権で保護します。

# chmod 444 /etc/security/pam_policy/ktelnet-conf
# ls -l /etc/security/pam_policy/ktelnet-conf
-r--r--r--   1 root     root         228 Nov 27 15:04 ktelnet-conf

    次に、管理者は、pam.d ディレクトリ内の ktelnet ファイルを変更します。

  • 最初のエントリにより、ユーザーごとの割り当てが有効になります。

  • 2 番目のエントリは、管理者によって pam_policy=ktelnet が割り当てられていないかぎり、ktelnet の使用を拒否します。

# cp /etc/pam.d/ktelnet /etc/pam.d/ktelnet.orig
                # pfedit /etc/pam.d/ktelnet
...
# Denied Kerberized telnet service
#
auth definitive         pam_user_policy.so.1
auth required           pam_deny.so.1

管理者は、特権ユーザー、通常のユーザー、および root 役割を使用して構成をテストします。構成が合格すると、管理者は telnet サービスを有効にして、Kerberos 管理者にユーザーごとのポリシーを割り当てます。

# svcadm enable telnet
# rolemod -S ldap -K pam_policy=ktelnet-conf kerbadmin

管理者は、変更されたファイルをすべての Kerberos サーバーにコピーし、それらのサーバー上の telnet を有効にします。