Go to main content
Trusted Extensions 構成と管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

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

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

始める前に

ネットワーク属性値をチェックできる役割で、大域ゾーンにいる必要があります。セキュリティー管理者役割またはシステム管理者役割が、これらの値をチェックできます。ファイルを編集できるのは、root 役割だけです。

  1. 通信できないホスト同士が同じネームサービスを使用していることを確認します。
    1. 各システム上で、name-service/switch SMF サービスの Trusted Extensions データベースの値を確認します。
      # svccfg -s name-service/switch listprop config
      config/value_authorization  astring  solaris.smf.value.name-service.switch
      config/default              astring  ldap
      ...
      config/tnrhtp               astring  "files ldap"
      config/tnrhdb               astring  "files ldap"
    2. ホスト間で値が異なっている場合は、問題のホスト上で値を修正します。
      # svccfg -s name-service/switch setprop config/tnrhtp="files ldap"
      # svccfg -s name-service/switch setprop config/tnrhdb="files ldap"
    3. 次に、それらのホスト上でネームサービスデーモンを再起動します。
      # svcadm restart name-service/switch
  2. 各ホストが正しく定義されていることを確認するため、伝送にかかわる発信元ホスト、宛先ホスト、およびゲートウェイホストのセキュリティー属性を表示します。

    コマンド行を使用してネットワーク情報が正しいことを確認します。各ホストの割り当てがネットワーク上のほかのホストの割り当てと一致していることを確認します。必要な表示形式に応じて tncfg コマンド、tninfo コマンド、txzonemgr GUI のいずれかを使用します。

    • テンプレート定義を表示します。

      tninfo -t コマンドは、ラベルを文字列形式と 16 進形式で表示します。

      # 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
    • テンプレートと、そのテンプレートに割り当てられたホストを表示します。

      tncfg -t コマンドは、ラベルを文字列形式で表示し、割り当てられているホストを一覧表示します。

      # tncfg -t template info
      name=<template-name>
      host_type=<one of cipso or unlabeled>
      doi=1
      min_label=<minimum-label>
      max_label=<maximum-label>
      host=127.0.0.1/32       /** ローカルホスト **/
      host=192.168.1.2/32     /** LDAP サーバー **/
      host=192.168.1.22/32    /** LDAP サーバーへのゲートウェイ **/
      host=192.168.113.0/24   /** 追加ネットワーク **/
      host=192.168.113.100/25      /** 追加ネットワーク **/
      host=2001:a08:3903:200::0/56/** 追加ネットワーク **/
    • ある特定のホストの IP アドレスと、割り当てられたセキュリティーテンプレートを表示します。

      tninfo -h コマンドは、指定されたホストの IP アドレスと、そのホストに割り当てられたセキュリティーテンプレートの名前を表示します。

      # tninfo -h hostname
      IP Address: IP-address
      Template: template-name

      tncfg get host= コマンドは、指定されたホストを定義するセキュリティーテンプレートの名前を表示します。

      # tncfg get host=hostname|IP-address[/prefix]
      template-name
    • ゾーンのマルチレベルポート (MLP) を表示します。

      tncfg -z コマンドは、MLP を 1 行に 1 つずつ一覧表示します。

      # tncfg -z zone-name info [mlp_private | mlp_shared]
      mlp_private=<port/protocol-that-is-specific-to-this-zone-only>
      mlp_shared=<port/protocol-that-the-zone-shares-with-other-zones>

      tninfo -m コマンドは、1 行目にプライベート MLP を、2 行目に共有 MLP をそれぞれ表示します。各 MLP はセミコロンで区切られます。

      # tninfo -m zone-name
      private: ports-that-are-specific-to-this-zone-only
      shared: ports-that-the-zone-shares-with-other-zones

      MLP を GUI で表示するには、txzonemgr コマンドを使用します。ゾーンをダブルクリックしたあと、「マルチレベルポートを構成」を選択します。

  3. 正しくない情報があれば修正します。
    1. ネットワークのセキュリティー情報を変更または確認するには、トラステッドネットワークの管理コマンド tncfgtxzonemgr を使用します。データベースの構文を検査するには、tnchkdb コマンドを使用します。

      たとえば次の出力は、テンプレート名 internal_cipso が未定義であることを示しています。

      # tnchkdb
      checking /etc/security/tsol/tnrhtp ...
      checking /etc/security/tsol/tnrhdb ...
      tnchkdb: unknown template name: internal_cipso at line 49
      tnchkdb: unknown template name: internal_cipso at line 50
      tnchkdb: unknown template name: internal_cipso at line 51
      checking /etc/security/tsol/tnzonecfg ...

      このエラーから、internal_cipso セキュリティーテンプレートの作成や割り当てを行うときに、tncfg コマンドや txzonemgr コマンドが使用されなかったことがわかります。

      修復するには、tnrhdb ファイルを元のファイルで置き換えたあと、tncfg コマンドを使用してセキュリティーテンプレートの作成や割り当てを行います。

    2. カーネルキャッシュをクリアーするには、リブートします。

      ブート時に、キャッシュにデータベース情報が生成されます。SMF サービス name-service/switch によって、カーネルへのデータ設定時にローカルデータベースと LDAP データベースのどちらが使用されるかが決まります。

  4. デバッグに役立つ伝送情報を収集します。
    1. ルーティング構成を確認します。
      # route get [ip] -secattr sl=label,doi=integer

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

    2. パケットのラベル情報を表示します。
      # snoop -v

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

    3. ルーティングテーブルのエントリとソケットのセキュリティー属性を表示します。
      # netstat -aR

      –aR オプションを使用すると、ソケットの拡張セキュリティー属性が表示されます。

      # netstat -rR

      –rR オプションを使用すると、ルーティングテーブルのエントリが表示されます。詳しくは、netstat(1M) のマニュアルページを参照してください。