Oracle Solaris Trusted Extensions 管理の手順

トラステッドネットワークのトラブルシューティング (作業マップ)

次の作業マップでは、ネットワークをデバッグするためのタスクについて説明します。

作業 

説明 

参照先 

2 つのホストが通信できない原因を特定します。 

1 台のシステムでインタフェースが稼働していることを確認します。 

「ホストのインタフェースが稼働していることを確認する」

2 つのホストが相互に通信できないときにデバッグ用のツールを使用します。 

「Trusted Extensions ネットワークをデバッグする」

LDAP クライアントが LDAP サーバーに到達できない原因を特定します。 

LDAP サーバーとクライアントの間の接続障害をトラブルシューティングします。 

「LDAP サーバーへのクライアント接続をデバッグする」

Procedureホストのインタフェースが稼働していることを確認する

システムが期待どおりにほかのシステムと通信しない場合は、この手順を使います。

始める前に

ネットワーク設定をチェックできる役割で、大域ゾーンにいる必要があります。セキュリティー管理者役割とシステム管理者役割が、これらの設定をチェックできます。

  1. システムのネットワークインタフェースが稼働していることを確認します。

    次の出力は、システムに hme0hme0:3 の 2 つのネットワークインタフェースがあることを示しています。どちらのインタフェースも稼働していません。


    # ifconfig -a
    ...
    hme0: flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
             inet 192.168.0.11 netmask ffffff00 broadcast 192.168.0.255
    hme0:3 flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
             inet 192.168.0.12 netmask ffffff00 broadcast 192.168.0.255
  2. インタフェースが稼動していない場合、インタフェースを起動させて、稼動していることを確認します。

    次の出力は、両方のインタフェースが稼動していることを示します。


    # ifconfig hme0 up
    # ifconfig -a
    ...
    hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,...
    hme0:3 flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,..

ProcedureTrusted Extensions ネットワークをデバッグする

期待どおりに通信していない 2 つのホストをデバッグする場合、Trusted Extensions と Solaris のデバッグ用のツールを使用できます。たとえば、snoopnetstat など Solaris のネットワークデバッグコマンドを使用できます。詳細は、snoop(1M) および netstat(1M) のマニュアルページを参照してください。Trusted Extensions に固有のコマンドについては、表 2–4 を参照してください。

始める前に

ネットワーク設定をチェックできる役割で、大域ゾーンにいる必要があります。セキュリティー管理者役割またはシステム管理者役割が、これらの設定をチェックできます。

  1. tnd デーモンをトラブルシューティングするには、ポーリング間隔を変更し、デバッグ情報を収集します。


    注 –

    tnd サービスが実行されているのは、ldap サービスが実行されている場合だけです。


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

  2. 通信できないホスト同士が同じネームサービスを使用していることを確認します。

    1. 各ホストで、nsswitch.conf ファイルを確認します。

      1. nsswitch.conf ファイルで、Trusted Extensions データベースの値を確認します。

        たとえば、ネットワークの管理に LDAP を使用するサイトでは、エントリは次のようになります。


        # Trusted Extensions
        tnrhtp: files ldap
        tnrhdb: files ldap
      2. 値が異なる場合、nsswitch.conf ファイルを修正します。

        これらのエントリを修正する場合、システム管理者は「ネームサービススイッチ」アクションを使用します。詳細は、「Trusted Extensions の CDE 管理アクションを起動する」を参照してください。このアクションでは、必要な DAC および MAC ファイルのアクセス権が維持されます。

    2. LDAP ネームサービスが構成されていることを確認します。


      $ ldaplist -l
    3. 両方のホストが LDAP ネームサービスにあることを確認します。


      $ ldaplist -l hosts | grep hostname
      
  3. 各ホストが正しく定義されていることを確認します。

    1. Solaris 管理コンソールを使用して定義を確認します。

      • 「セキュリティーテンプレート」ツールで、各ホストが他方のホストのセキュリティーテンプレートと互換性のあるセキュリティーテンプレートに割り当てられていることを確認します。

      • ラベルなしシステムの場合、デフォルトのラベル割り当てが正しいことを確認します。

      • 「トラステッドネットワークゾーン」ツールで、マルチレベルポート (MLP) が正しく構成されていることを確認します。

    2. コマンド行を使用して、カーネルのネットワーク情報が最新であることを確認します。

      各ホストのカーネルキャッシュでの割り当てが、ネットワーク上およびほかのホスト上の割り当てに一致することを確認します。

      伝送のソース、宛先、ゲートウェイホストのセキュリティー情報を取得するには、tninfo コマンドを使用します。

      • 任意のホストの IP アドレスと、割り当てられたセキュリティーテンプレートを表示します。


        $ tninfo -h hostname
        IP Address: IP-address
        Template: template-name
        
      • テンプレート定義を表示します。


        $ tninfo -t template-name
        template: template-name
        host_type: one of CIPSO or UNLABELED
        doi: 1
        min_sl: minimum-label
        hex: minimum-hex-label
        max_sl: maximum-label
        hex: maximum-hex-label
        
      • ゾーンの MLP を表示します。


        $ tninfo -m zone-name
        private: ports-that-are-specific-to-this-zone-only
        shared: ports-that-the-zone-shares-with-other-zones
        
  4. 正しくない情報があれば修正します。

    • ネットワークセキュリティー情報を変更または確認するには、Solaris 管理コンソール ツールを使用します。詳細は、「トラステッドネットワーキングのツールを開く」を参照してください。

    • カーネルキャッシュを更新するには、情報が最新でないホストで tnctl サービスを再起動します。このプロセスが完了するにはしばらく時間がかかります。次に、tnd サービスをリフレッシュします。リフレッシュに失敗した場合は、tnd サービスの再起動を試みます。詳細は、「カーネルキャッシュとトラステッドネットワークデータベースを同期する」を参照してください。


      注 –

      tnd サービスが実行されているのは、ldap サービスが実行されている場合だけです。


      再起動するとカーネルキャッシュが消去されます。起動時に、キャッシュにデータベース情報が生成されます。カーネルへの情報生成にローカルデータベースと LDAP データベースのどちらが使用されるかは、nsswitch.conf ファイルで決まります。

  5. デバッグに役立つ伝送情報を収集します。

    • 経路指定構成を確認します。

      route コマンドの get サブコマンドを使用します。


      $ route get [ip] -secattr sl=label,doi=integer
      

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

    • パケットのラベル情報を表示します。

      snoop -v コマンドを使用します。

      -v オプションを使用すると、ラベル情報などパケットヘッダーの詳細が表示されます。このコマンドでは多くの情報が表示されるため、コマンドで調べられるパケットを制限したい場合があります。詳細は、snoop(1M) のマニュアルページを参照してください。

    • 経路指定テーブルのエントリとソケットのセキュリティー属性を表示します。

      netstat -a|-r コマンドで、-R オプションを使用します。

      -aR オプションを使用すると、ソケットの拡張セキュリティー属性が表示されます。-rR オプションを使用すると、経路指定テーブルのエントリが表示されます。詳細は、netstat(1M) のマニュアルページを参照してください。

ProcedureLDAP サーバーへのクライアント接続をデバッグする

LDAP サーバーでクライアントエントリの構成が誤っていると、クライアントがサーバーと通信できない場合があります。同様に、クライアント上のファイルの構成が誤っていると通信できない場合があります。クライアントサーバー間の通信問題をデバッグするときは、次のエントリとファイルを確認します。

始める前に

LDAP クライアント上の大域ゾーンで、セキュリティー管理者役割である必要があります。

  1. LDAP サーバーと LDAP サーバーへのゲートウェイの遠隔ホストテンプレートが正しいことを確認します。


    # tninfo -h LDAP-server
    # route get LDAP-server
    # tninfo -h gateway-to-LDAP-server
    

    遠隔ホストテンプレートの割り当てが正しくない場合、Solaris 管理コンソールの「セキュリティーテンプレート」ツールを使用して、ホストを正しいテンプレートに割り当てます。

  2. /etc/hosts ファイルを確認し、修正します。

    使用しているシステム、システム上のラベル付きゾーンのインタフェース、LDAP サーバーへのゲートウェイ、および LDAP サーバーがファイルに一覧表示されている必要があります。さらに多くのエントリがあるかもしれません。

    重複しているエントリを捜します。ほかのシステムのラベル付きゾーンであるエントリを削除します。たとえば、Lserver が LDAP サーバーの名前であり、LServer-zones がラベル付きゾーンの共有インタフェースである場合、/etc/hosts から LServer-zones を削除します。

  3. DNS を使用している場合、resolv.conf ファイルのエントリを確認し修正します。


    # more resolv.conf
    search list of domains
    domain domain-name
    nameserver IP-address
    
    ...
    nameserver IP-address
    
  4. nsswitch.conf ファイルの tnrhdb および tnrhtp エントリが正しいことを確認します。

  5. サーバー上で、クライアントが正しく構成されていることを確認します。


    # ldaplist -l tnrhdb client-IP-address
    
  6. ラベル付きゾーンのインタフェースが LDAP サーバー上で正しく構成されていることを確認します。


    # ldaplist -l tnrhdb client-zone-IP-address
    
  7. 現在実行中のすべてのゾーンから LDAP サーバーを ping できること確認します。


    # ldapclient list
    ...
    NS_LDAP_SERVERS= LDAP-server-address
    # zlogin zone-name1 ping LDAP-server-address
    LDAP-server-address is alive
    # zlogin zone-name2 ping LDAP-server-address
    LDAP-server-address is alive
    ...
  8. LDAP を構成して再起動します。

    1. 手順については、『Oracle Solaris Trusted Extensions 構成ガイド』「Trusted Extensions で大域ゾーンを LDAP クライアントにする」を参照してください。

    2. 各ラベル付きゾーンで、ゾーンを LDAP サーバーのクライアントとして再構築します。


      # zlogin zone-name1
      # ldapclient init \
      -a profileName=profileName \
      -a domainName=domain \
      -a proxyDN=proxyDN \
      -a proxyPassword=password LDAP-Server-IP-Address
      # exit
      # zlogin zone-name2 ...
    3. すべてのゾーンを停止し、ファイルシステムをロックして再起動します。

      Solaris ZFS を使用している場合は、再起動の前にゾーンを停止し、ファイルシステムをロックします。ZFS を使用していない場合は、ゾーンの停止とファイルシステムのロックを行わずに再起動することができます。


      # zoneadm list
      # zoneadm -z zone-name halt
      # lockfs -fa
      # reboot