Oracle Solaris Trusted Extensions 構成ガイド

Trusted Extensions システムでの Sun Java System Directory Server の構成

LDAP ネームサービスは、Trusted Extensions の対応ネームサービスです。サイトで LDAP ネームサービスがまだ実行されていない場合、Trusted Extensions が構成されているシステムで Sun Java System Directory Server (Directory Server) を構成します。

サイトですでに Directory Server が実行されている場合、Trusted Extensions データベースをサーバーに追加する必要があります。Directory Server にアクセスするために、Trusted Extensions システムで LDAP プロキシを設定します。


注 –

この LDAP サーバーを NFS サーバーまたは Sun Ray クライアント用のサーバーとして使用しない場合は、このサーバーにラベル付きゾーンをインストールする必要はありません。


ProcedureLDAP 用に Directory Server の情報を収集する

  1. 次の項目の値を決定します。

    各項目は、Sun Java Enterprise System のインストールウィザードに表示される順序で記載されています。

    インストールウィザードのプロンプト 

    対応または情報 

    Sun Java System Directory Server version

    「管理者ユーザー ID」 

    デフォルト値は「admin」です。

    「管理者ユーザーパスワード」 

    admin123」のようなパスワードを作成します。

    「ディレクトリマネージャ DN」 

    デフォルト値は「cn=Directory Manager」です。

    「ディレクトリマネージャパスワード」 

    dirmgr89」のようなパスワードを作成します。

    「Directory Server ルート」 

    デフォルト値は「/var/opt/mps/serverroot」です。プロキシソフトウェアをインストールする場合、このパスはあとでも使用されます。

    「サーバー識別子」 

    デフォルト値はローカルシステムです。 

    「サーバーポート」 

    Directory Server を使用して標準的な LDAP ネームサービスをクライアントシステムに提供する場合は、デフォルト値「389」を使用します。

    Directory Server を使用してプロキシサーバーの今後のインストールをサポートする場合は、「10389」など標準以外のポートを入力します。

    「サフィックス」 

    dc=example-domain,dc=com」のように、ドメイン構成要素を含めます。

    「管理ドメイン」 

    example-domain.com」のように、サフィックスに対応させて作成します。

    「システムユーザー」 

    デフォルト値は「root」です。

    「システムグループ」 

    デフォルト値は「root」です。

    「データの保存場所」 

    デフォルト値は「このサーバーに設定データを保存します。」です。

    「データの保存場所」 

    デフォルト値は「このサーバーにユーザー/グループデータを保存します。 」です。

    「Administration Port」 

    デフォルト値はサーバーポートです。デフォルトを変更するために推奨される慣例は、ソフトウェアバージョンに 1000 を掛けた数値です。ソフトウェアバージョン 5.2 の場合、この慣例ではポート 5200 になります。

ProcedureSun Java System Directory Server をインストールする

Directory Server パッケージは、Sun Software Gateway web siteから入手できます。

始める前に

大域ゾーンが 1 つだけインストールされた Trusted Extensions システムで作業しているとします。システムにラベル付きゾーンはありません。

Trusted Extensions LDAP サーバーは、pam_unix を使用して LDAP リポジトリに対する認証を行うクライアントのために構成されています。pam_unix を使用する場合、パスワード操作と、その結果としてのパスワードポリシーは、クライアントによって決定されます。すなわち、LDAP サーバーによって設定されたポリシーは使用されません。クライアントで設定できるパスワードパラメータについては、『Solaris のシステム管理 (セキュリティサービス)』「パスワード情報の管理」を参照してください。pam_unix の詳細については、pam.conf(4) のマニュアルページを参照してください。


注 –

LDAP クライアントで pam_ldap を使用する構成は、Trusted Extensions では評価されていません。


  1. Directory Server パッケージをインストールする前に、システムのホスト名エントリに FQDN を追加します。

    FQDN とは「完全指定のドメイン名 (Fully Qualified Domain Name )」のことです。この名前は、次のようにホスト名と管理ドメインの組み合わせになります。


    ## /etc/hosts
    ...
    192.168.5.5 myhost myhost.example-domain.com

    Solaris 10 8/07 リリースより前のリリースを実行しているシステムでは、/etc/inet/ipnodes ファイルに IPv4 と IPv6 のエントリを追加します。次のように、1 つのシステムのエントリは連続してそのファイルに入力します。

    実行しているのが Solaris OS の最新リリースではない場合、以下のパッチがインストールされている必要があります。最初の番号は SPARC のパッチです。次の番号は X86 のパッチです。

    • 138874–05、138875–05: ネイティブ LDAP、PAM、name-service-switch パッチ

    • 119313-35、119314-36: WBEM パッチ

    • 121308-21、121308-21: Solaris 管理コンソールパッチ

    • 119315-20、119316-20: Solaris 管理アプリケーションパッチ

  2. Oracle Sun Web サイトで Sun Java System Directory Server パッケージを検索します。

    1. Sun Software Gateway のページで、「Get It」タブをクリックします。

    2. 「Sun Java Identity Management Suite」の前のチェックボックスをクリックします。

    3. 「Submit」ボタンをクリックします。

    4. 登録していない場合は、登録します。

    5. ログインしてこのソフトウェアをダウンロードします。

    6. 画面左上の「Download Center」をクリックします。

    7. 「Identity Management」領域で、使用しているプラットフォームに適切な最新のソフトウェアをダウンロードします。

  3. Directory Server パッケージをインストールします。

    「LDAP 用に Directory Server の情報を収集する」からの情報を使って質問に答えます。質問、デフォルト値、推奨される回答の詳細な一覧については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』の第 11 章「LDAP クライアントと Sun Java System Directory Server の設定 (手順)」『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』の第 12 章「LDAP クライアントの設定 (手順)」を参照してください。

  4. (省略可能) 自身のパスに Directory Server の環境変数を追加します。


    # $PATH
    /usr/sbin:.../opt/SUNWdsee/dsee6/bin:/opt/SUNWdsee/dscc6/bin:/opt/SUNWdsee/ds6/bin:
    /opt/SUNWdsee/dps6/bin
  5. (省略可能) MANPATH に Directory Server のマニュアルページを追加します。


    /opt/SUNWdsee/dsee6/man
  6. cacaoadm プログラムを有効にして、プログラムが有効になったことを確認します。


    # /usr/sbin/cacaoadm enable
    # /usr/sbin/cacaoadm start
    start: server (pid n) already running
  7. 起動するたびに Directory Server も起動されるようにします。

    Directory Server 用の SMF サービスのテンプレートが、Sun Java System Directory Server パッケージ内に含まれています。

    • Trusted Extensions Directory Server で、サービスを有効にします。


      # dsadm stop /export/home/ds/instances/your-instance
      # dsadm enable-service -T SMF /export/home/ds/instances/your-instance
      # dsadm start /export/home/ds/instances/your-instance
      

      dsadm コマンドについては、dsadm(1M) のマニュアルページを参照してください。

    • プロキシ Directory Server で、サービスを有効にします。


      # dpadm stop /export/home/ds/instances/your-instance
      # dpadm enable-service -T SMF /export/home/ds/instances/your-instance
      # dpadm start /export/home/ds/instances/your-instance
      

      dpadm コマンドについては、dpadm(1M) のマニュアルページを参照してください。

  8. インストールを確認します。


    # dsadm info /export/home/ds/instances/your-instance
    Instance Path:         /export/home/ds/instances/your-instance
    Owner:                 root(root)
    Non-secure port:       389
    Secure port:           636
    Bit format:            32-bit
    State:                 Running
    Server PID:            298
    DSCC url:              -
    SMF application name:  ds--export-home-ds-instances-your-instance
    Instance version:      D-A00
注意事項

LDAP 構成の問題解決のストラテジについては、『System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)』の第 13 章「LDAP Troubleshooting (Reference)」を参照してください。

ProcedureDirectory Server 用の LDAP クライアントの作成

このクライアントを使用して、LDAP 用の Directory Server にデータを入力します。このタスクは、Directory Server にデータを入力する前に実行する必要があります。

一時的に Trusted Extensions Directory Server 上にクライアントを作成してからサーバー上のクライアントを移動することも、独立したクライアントを作成することもできます。

  1. システムに Trusted Extensions をインストールします。

    Trusted Extensions Directory Server を使用することも、別個のシステムに Trusted Extensions をインストールすることもできます。


    注 –

    実行しているのが Solaris OS の最新リリースではない場合、以下のパッチがインストールされている必要があります。最初の番号は SPARC のパッチです。次の番号は X86 のパッチです。

    • 138874–05、138875–05: ネイティブ LDAP、PAM、name-service-switch パッチ

    • 119313-35、119314-36: WBEM パッチ

    • 121308-21、121308-21: Solaris 管理コンソールパッチ

    • 119315-20、119316-20: Solaris 管理アプリケーションパッチ


  2. クライアントで、デフォルトの /etc/nsswitch.ldap ファイルを変更します。

    太字のエントリは、変更部分を示しています。ファイルは次のようになります。


    # /etc/nsswitch.ldap
    #
    # An example file that could be copied over to /etc/nsswitch.conf; it
    # uses LDAP in conjunction with files.
    #
    # "hosts:" and "services:" in this file are used only if the
    # /etc/netconfig file has a "-" for nametoaddr_libs of "inet" transports.
    
    # LDAP service requires that svc:/network/ldap/client:default be enabled
    # and online.
    
    # the following two lines obviate the "+" entry in /etc/passwd and /etc/group.
    passwd:     files ldap
    group:      files ldap
    
    # consult /etc "files" only if ldap is down. 
    hosts:      files ldap dns [NOTFOUND=return] files
    
    # Note that IPv4 addresses are searched for in all of the ipnodes databases
    # before searching the hosts databases.
    ipnodes:    files ldap [NOTFOUND=return] files
    
    networks:   files ldap [NOTFOUND=return] files
    protocols:  files ldap [NOTFOUND=return] files
    rpc:        files ldap [NOTFOUND=return] files
    ethers:     files ldap [NOTFOUND=return] files
    netmasks:   files ldap [NOTFOUND=return] files
    bootparams: files ldap [NOTFOUND=return] files
    publickey:  files ldap [NOTFOUND=return] files
    
    netgroup:   ldap
    
    automount:  files ldap
    aliases:    files ldap
    
    # for efficient getservbyname() avoid ldap
    services:   files ldap
    
    printers:   user files ldap
    
    auth_attr:  files ldap
    prof_attr:  files ldap
    
    project:    files ldap
    
    tnrhtp:     files ldap
    tnrhdb:     files ldap
  3. 大域ゾーンで ldapclient init コマンドを実行します。

    このコマンドは、nsswitch.ldap ファイルを nsswitch.conf ファイルにコピーします。

    この例では、LDAP クライアントは example-domain.com ドメイン内にあります。サーバーの IP アドレスは 192.168.5.5 です。


    # ldapclient init -a domainName=example-domain.com -a profileNmae=default \
    > -a proxyDN=cn=proxyagent,ou=profile,dc=example-domain,dc=com \
    > -a proxyDN=cn=proxyPassword={NS1}ecc423aad0 192.168.5.5
    System successfully configured
  4. サーバーの enableShadowUpdate パラメータに TRUE を設定します。


    # ldapclient -v mod -a enableShadowUpdate=TRUE \
    > -a adminDN=cn=admin,ou=profile,dc=example-domain,dc=com
    System successfully configured

    enableShadowUpdate パラメータについては、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』「enableShadowUpdate スイッチ」と、ldapclient(1M) のマニュアルページを参照してください。

ProcedureSun Java System Directory Server のログを構成する

この手順では次の 3 種類のログを構成します。 アクセスログ、監査ログ、およびエラーログです。次のデフォルト設定は変更されません。

この手順の設定は次の要件を満たします。

  1. アクセスログを構成します。

    アクセスの LOG_TYPEACCESS です。ログを構成するための構文は、次のとおりです。


    dsconf set-log-prop LOG_TYPE property:value
    

    # dsconf set-log-prop ACCESS max-age:3M
    # dsconf set-log-prop ACCESS max-disk-space-size:20000M
    # dsconf set-log-prop ACCESS max-file-count:100
    # dsconf set-log-prop ACCESS max-size:500M
    # dsconf set-log-prop ACCESS min-free-disk-space:500M
    
  2. 監査ログを構成します。


    # dsconf set-log-prop AUDIT max-age:3M
    # dsconf set-log-prop AUDIT max-disk-space-size:20000M
    # dsconf set-log-prop AUDIT max-file-count:100
    # dsconf set-log-prop AUDIT max-size:500M
    # dsconf set-log-prop AUDIT min-free-disk-space:500M
    # dsconf set-log-prop AUDIT rotation-interval:1d
    

    監査ログのローテーション間隔は、デフォルトで 1 週間です。

  3. エラーログを構成します。

    この構成では、エラーログで追加データが収集されるように指定します。


    # dsconf set-log-prop ERROR max-age:3M
    # dsconf set-log-prop ERROR max-disk-space-size:20000M
    # dsconf set-log-prop ERROR max-file-count:30
    # dsconf set-log-prop ERROR max-size:500M
    # dsconf set-log-prop ERROR min-free-disk-space:500M
    # dsconf set-log-prop ERROR verbose-enabled:on
    
  4. (省略可能) さらにログを構成します。

    ログごとに次の設定を行うことも可能です。


    # dsconf set-log-prop LOG_TYPE rotation-min-file-size:undefined
    # dsconf set-log-prop LOG_TYPE rotation-time:undefined
    

    dsconf コマンドについては、dsconf(1M) のマニュアルページを参照してください。

ProcedureSun Java System Directory Server のマルチレベルポートを設定する

Trusted Extensions で作業するには、Directory Server のサーバーポートを大域ゾーンのマルチレベルポート (MLP) として設定する必要があります。

  1. Solaris 管理コンソールを起動します。


    # /usr/sbin/smc &
    
  2. このコンピュータ (this-host: Scope=Files, Policy=TSOL) ツールボックスを選択します。

  3. 「システムの構成」をクリックしてから「コンピュータとネットワーク」をクリックします。

    パスワードを入力するよう求められます。

  4. 適切なパスワードを入力します。

  5. 「トラステッドネットワークゾーン」をダブルクリックします。

  6. 大域ゾーンをダブルクリックします。

  7. TCP プロトコルのマルチレベルポートを追加します。

    1. 「ゾーンの IP アドレスに対するマルチレベルポートの追加」をクリックします。

    2. ポート番号として 389 と入力し、「了解」をクリックします。

  8. UDP プロトコルのマルチレベルポートを追加します。

    1. 「ゾーンの IP アドレスに対するマルチレベルポートの追加」をクリックします。

    2. ポート番号として 389 と入力します。

    3. udp プロトコルを選択して、「了解」をクリックします。

  9. 「了解」をクリックして設定を保存します。

  10. カーネルを更新します。


    # tnctl -fz /etc/security/tsol/tnzonecfg
    

ProcedureSun Java System Directory Server にデータを入力する

ラベル構成、ユーザー、および遠隔システムに関する Trusted Extensions データを保持するために、複数の LDAP データベースが作成および変更されています。この手順では、Directory Server データベースに Trusted Extensions 情報を取り込みます。

始める前に

シャドウ更新が有効になっている LDAP クライアントからデータベースにデータを入力する必要があります。前提条件については、「Directory Server 用の LDAP クライアントの作成」を参照してください。

サイトセキュリティーで責務分離が必要な場合は、ディレクトリサーバーにデータを設定する前に、次の手順を実行します。

  1. ネームサービスデータベースにデータを入力するために使用するファイルのステージング領域を作成します。


    # mkdir -p /setup/files
    
  2. サンプルの /etc ファイルをステージング領域にコピーします。


    # cd /etc
    # cp aliases group networks netmasks protocols /setup/files
    # cp rpc services auto_master /setup/files
    
    # cd /etc/security
    # cp auth_attr prof_attr exec_attr /setup/files/
    #
    # cd /etc/security/tsol
    # cp tnrhdb tnrhtp /setup/files
    

    Solaris 10 11/06 リリースをパッチを適用しないで実行している場合、ipnodes ファイルをコピーします。


    # cd /etc/inet
    # cp ipnodes /setup/files
    
  3. /setup/files/auto_master ファイルから +auto_master エントリを削除します。

  4. ?:::::? エントリを /setup/files/auth_attr ファイルから削除します。

  5. /setup/files/prof_attr ファイルから :::: エントリを削除します。

  6. ステージング領域にゾーン自動マップを作成します。

    次の自動マップのリストで、各ペアの最初の行はファイルの名前を示します。2 行めはファイルの内容を示します。ゾーン名は、Trusted Extensions ソフトウェアに含まれているデフォルトの label_encodings ファイルからのラベルを特定します。

    • ここに示された行のゾーン名を実際のゾーン名に置き換えてください。

    • myNFSserver でホームディレクトリの NFS サーバーを特定します。


    /setup/files/auto_home_public
     * myNFSserver_FQDN:/zone/public/root/export/home/&
    
    /setup/files/auto_home_internal
     * myNFSserver_FQDN:/zone/internal/root/export/home/&
    
    /setup/files/auto_home_needtoknow
     * myNFSserver_FQDN:/zone/needtoknow/root/export/home/&
    
    /setup/files/auto_home_restricted
     * myNFSserver_FQDN:/zone/restricted/root/export/home/&
  7. ネットワーク上のすべてのシステムを /setup/files/tnrhdb ファイルに追加します。

    ここではワイルドカードは使用できません。通信を行うすべてのシステムの IP アドレスは、ラベル付きゾーンの IP アドレスも含めてこのファイル内に存在する必要があります。

    1. トラステッドエディタを開き、/setup/files/tnrhdb を編集します。

    2. Trusted Extensions ドメインのラベル付きシステムのすべての IP アドレスを追加します。

      ラベル付きシステムのタイプは cipso です。また、ラベル付きシステムのセキュリティーテンプレートの名前も cipso です。したがって、デフォルト構成では cipso エントリは次のようになります。


      192.168.25.2:cipso

      注 –

      このリストには、大域ゾーンおよびラベル付きゾーンの IP アドレスが含まれます。


    3. ドメインが通信できるラベルなしシステムをすべて追加します。

      ラベルなしシステムのタイプは unlabeled です。ラベルなしシステムのセキュリティーテンプレートの名前は admin_low です。したがって、デフォルト構成ではラベルなしシステムのエントリは次のようになります。


      192.168.35.2:admin_low
    4. ファイルを保存し、エディタを終了します。

    5. ファイルの構文を検査します。


      # tnchkdb -h /setup/files/tnrhdb
      
    6. エラーを修正してから作業を続行します。

  8. /setup/files/tnrhdb ファイルを /etc/security/tsol/tnrhdb ファイルにコピーします。

  9. ldapaddent コマンドを使用して、ステージング領域のすべてのファイルを利用して Directory Server にデータを入力します。

    たとえば、次のコマンドでは、ステージング領域の hosts ファイルからサーバーにデータが入力されます。


    # /usr/sbin/ldapaddent -D "cn=directory manager" \
    -w dirmgr123 -a simple -f /setup/files/hosts hosts
    
  10. Trusted Extensions Directory Server で ldapclient コマンドを実行する場合は、システム上のクライアントを無効にします。

    大域ゾーンで ldapclient uninit コマンドを実行します。詳細出力を使用して、そのシステムが LDAP クライアントではなくなっていることを確認します。


    # ldapclient -v uninit
    

    詳細については、ldapclient(1M) のマニュアルページを参照してください。