Go to main content
Trusted Extensions 構成と管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

Trusted Extensions でのセキュリティー計画

このセクションでは、Trusted Extensions ソフトウェアの有効化と構成の前に必要な計画について説明します。

Trusted Extensions の構成タスクのチェックリストについては、Trusted Extensions の構成チェックリストを参照してください。サイトのローカライズについては、英語以外のロケールで Trusted Extensions を使用するお客様を参照してください。評価された構成の実行については、サイトのセキュリティーポリシーについてを参照してください。

Trusted Extensions について

    Trusted Extensions の有効化および構成は、実行可能ファイルの読み込み、サイトのデータの指定、構成変数の設定などのタスクにとどまりません。高度な予備知識が必要です。Trusted Extensions ソフトウェアは、次の 2 つの Oracle Solaris 機能に基づいたラベル付き環境を実現します。

  • ほとんどの UNIX® 環境で root に割り当てられる機能は、いくつかの管理役割によって処理されます。

  • 特定のユーザーおよびアプリケーションがセキュリティーポリシーをオーバーライドできるようにできます。

Trusted Extensions では、データへのアクセスは特殊なセキュリティータグによって制御されます。このようなタグをラベルと言います。ラベルはユーザー、プロセス、およびデータファイルやディレクトリなどのオブジェクトに割り当てられます。UNIX アクセス権つまり随意アクセス制御 (DAC) に加え、これらのラベルは必須アクセス制御 (MAC) を提供します。

サイトのセキュリティーポリシーについて

Trusted Extensions では、サイトのセキュリティーポリシーを Oracle Solaris OS と効率的に統合できます。そのためには、ポリシーの範囲、およびそのポリシーを Trusted Extensions ソフトウェアで実装する方法をよく理解する必要があります。適切に計画された構成では、サイトのセキュリティーポリシーの一貫性とシステムにおけるユーザーの作業の利便性とのバランスを取るようにしてください。

    Trusted Extensions は、次の保護プロファイルについて、Common Criteria Recognition Agreement (CCRA) の保証レベル EAL4+ への準拠が認証されています。

  • Advanced Management

  • Extended Identification and Authentication

  • Labeled Security

  • Virtualization

詳細は、Common Criteria の Web サイト (http://www.commoncriteriaportal.org/)を参照してください。

Trusted Extensions を構成する担当者の計画

    Trusted Extensions を有効化する責任は、root 役割またはシステム管理者役割にあります。役割を作成すると、複数の機能の領域で管理担当を分割できます。

  • セキュリティー管理者は、機密ラベルの設定と割り当て、監査の設定、パスワードポリシーの設定などのセキュリティー関連のタスクを担当します。

  • システム管理者は、セキュリティー以外の設定、保守、および全般的な管理を担当します。

  • さらに制限を持つ役割を構成することもできます。たとえば、あるオペレータがファイルのバックアップを担当する可能性もあります。

    管理ストラテジの一環として、次の事項を決定する必要があります。

  • どのユーザーがどの管理タスクを実行するか

  • 管理者以外のどのユーザーがトラステッドアプリケーションを実行できるか、すなわち、必要なときにどのユーザーがセキュリティーポリシーをオーバーライドできるか

  • どのユーザーがデータのどのグループにアクセスできるか

ラベルストラテジの作成

ラベルを計画するには、機密ラベルの階層を定め、システム上の情報を分類する必要があります。label_encodings ファイルには、サイトについてのこの種の情報が含まれます。Trusted Extensions ソフトウェアで提供されている label_encodings ファイルのいずれかを使用できます。あるいは、その提供ファイルのいずれかを変更したり、サイト固有の label_encodings ファイルを新たに作成したりできます。このファイルには、Oracle 固有のローカルな拡張機能、少なくとも COLOR NAMES セクションを組み込んでください。

ラベルの計画には、そのラベル構成の計画も含まれます。Trusted Extensions サービスの有効化が完了したら、複数のラベルでシステムにログインできるようにする必要があるのか、それとも 1 つのユーザーラベルのみを使用してシステムを構成することができるのかを決定する必要があります。たとえば、LDAP サーバーは、1 つのラベル付きゾーンを使用する場合の適切な候補になります。このサーバーのローカル管理を行うために、最小ラベルのゾーンを 1 つ作成します。システムを管理するには、管理者はユーザーとしてログインし、ユーザーワークスペースから適切な役割になります。

詳細は、Trusted Extensions Label Administrationを参照してください。Compartmented Mode Workstation Labeling: Encodings Formatも参照してください。

英語以外のロケールで Trusted Extensions を使用するお客様

英語以外のロケールを使用するお客様が label_encodings ファイルをローカライズする場合は、ラベル名のみをローカライズしてください。管理ラベル名の ADMIN_HIGH および ADMIN_LOW をローカライズしてはいけません。いずれのベンダー製であれ、接続するラベル付きホストの名前はすべて、label_encodings ファイル内のラベル名と一致する必要があります。

システムのハードウェアと Trusted Extensions の容量の計画

システムハードウェアには、システムそのものとそれに接続されるデバイスが含まれます。接続されるデバイスには、テープドライブ、マイクロフォン、CD-ROM ドライブ、およびディスクパックが含まれます。ハードウェアの容量には、システムメモリー、ネットワークインタフェース、およびディスク容量があります。

  • Oracle Solaris 11.3 システムのインストール、および『リリースノート』の「インストール」のセクションで説明されている、Oracle Solaris のインストールに関する推奨事項に従ってください。

  • そこに示されるほかに、Trusted Extensions ではさらに追加される推奨事項があります。

    • 次のシステムでは、推奨される最小容量よりも多くのメモリーが必要です。

      • 複数の機密ラベルで実行されるシステム

      • 管理役割になれるユーザーが使用するシステム

    • 次のシステムではより多くのディスク容量が必要です。

      • 複数のラベルでファイルを格納するシステム

      • ユーザーが管理役割になれるシステム

トラステッドネットワークの計画

ネットワークハードウェアの計画については、Oracle Solaris 11.3 でのネットワーク配備の計画を参照してください。

Trusted Extensions ソフトウェアは、4 種類のホストを認識します。どの種類のホストにも、表 1に示すデフォルトのセキュリティーテンプレートがあります。

表 1  Trusted Extensions のデフォルトホストテンプレート
ホストタイプ
テンプレート名
目的
unlabeled
admin_low
大域ゾーンと通信可能な信頼できないホストを識別します。そのようなホストはラベルを含まないパケットを送信します。詳細については、ラベルなしシステムを参照してください。
cipso
cipso
CIPSO パケットを送信するホストまたはネットワークを識別します。CIPSO パケットはラベル付けされます。
netif
netif
adaptive ホストからのパケットを特定のネットワークインタフェース上で受信するホストを識別します。
adaptive
adapt
ラベルのないホストまたはネットワークを識別しますが、ラベルなしのパケットを netif ホスト上の特定のインタフェースに送信します。

ネットワークにほかのネットワークによる到達性がある場合、アクセス可能なドメインおよびホストを指定する必要があります。また、どの Trusted Extensions のホストが、ゲートウェイとしての機能を果たすかも特定する必要があります。ゲートウェイ用のラベルの認可範囲と、ほかのホストのデータを表示できる機密ラベルを、指定する必要があります。

ホスト、ゲートウェイ、およびネットワークのラベル付けについては、Trusted Extensions でのネットワークの管理を参照してください。リモートシステムへのラベルの割り当ては、初期設定のあとで実行されます。

Trusted Extensions でのラベル付きゾーンの計画

Trusted Extensions ソフトウェアは、Oracle Solaris の大域ゾーンに追加されます。そのあとで、ラベル付きの非大域ゾーンを構成します。重複しないすべてのラベルに対してそれぞれ 1 つ以上のラベル付きゾーンを作成できますが、label_encodings ファイル内のすべてのラベルに対してゾーンを作成する必要はありません。提供されているスクリプトを使用すれば、label_encodings ファイル内のデフォルトユーザーラベルとデフォルトユーザー認可上限に対応する 2 つのラベル付きゾーンを容易に作成できます。

    ラベル付きゾーンを作成したあと、一般ユーザーは、構成されたシステムを使用できますが、ほかのシステムに到達することはできません。同じラベルで実行されるサービスをさらに分離するには、セカンダリゾーンを作成します。詳細は、プライマリおよびセカンダリラベル付きゾーンを参照してください。

  • Trusted Extensions では、X サーバーに接続するためのローカルトランスポートは、UNIX ドメインソケットです。デフォルトでは、X サーバーは TCP 接続に対して待機しません。

  • デフォルトでは、非大域ゾーンは信頼できないホストと通信できません。各ゾーンから到達可能なリモートホストの具体的な IP アドレスまたはネットワークマスクを指定する必要があります。

Trusted Extensions ゾーンと Oracle Solaris ゾーン

Trusted Extensions ゾーンつまりラベル付きゾーンは、Oracle Solaris ゾーンのブランドの 1 つです。ラベル付きゾーンは、主にデータを分けるために使用されます。Trusted Extensions では、一般ユーザーは、別のトラステッドシステム上の同一のラベルを持つゾーンからログインを行う場合を除き、リモートでラベル付きゾーンにログインすることはできません。承認された管理者は、大域ゾーンからラベル付きゾーンにアクセスできます。ゾーンブランドの詳細については、brands(5) のマニュアルページを参照してください。

Trusted Extensions でのゾーン作成

Trusted Extensions でのゾーン作成は、Oracle Solaris でのゾーン作成に似ています。Trusted Extensions には、このプロセスを案内する txzonemgr スクリプトが用意されています。このスクリプトには、ラベル付きゾーンの作成を自動化するためのコマンド行オプションがいくつかあります。詳細については、txzonemgr(1M) のマニュアルページを参照してください。

ラベル付きゾーンへのアクセス

    適切に構成されたシステム上では、すべてのゾーンがネットワークアドレスを使用して同じラベルを共有するほかのゾーンと通信できる必要があります。次の各構成は、ラベル付きゾーンからほかのラベル付きゾーンへのアクセス機能を提供します。

  • all-zones インタフェース – 1 つの all-zones アドレスが割り当てられます。このデフォルト構成で必要となる IP アドレスは、1 つだけです。大域ゾーンとラベル付きゾーンを含むすべてのゾーンは、この共有アドレス経由でリモートシステム上の同一のラベルを持つゾーンと通信できます。

    この構成の改良版として、大域ゾーンが排他的に使用するための 2 つ目の IP インスタンスを作成することが挙げられます。この 2 つ目のインスタンスは all-zones アドレスではありません。この IP インスタンスは、マルチレベルサービスをホストしたりプライベートへの経路を提供したりするために使用できる。

  • IP インスタンス – Oracle Solaris OS と同様に、大域ゾーンを含むすべてのゾーンにそれぞれの IP アドレスが割り当てられています。これらのゾーンは IP スタックを共有します。もっとも単純な場合には、すべてのゾーンが同じ物理インタフェースを共有します。

    ゾーンごとに別々のネットワーク情報カード (NIC) を割り当てれば、この構成がさらに改善されます。このような構成は、各 NIC に関連付けられている単一ラベルのネットワークを物理的に分離するために使用されます。

    さらなる改良版として、ゾーンごとの IP インスタンスに加えて 1 つ以上の all-zones インタフェースを使用することが挙げられます。この構成では、vni0 などの内部インタフェースを使用して大域ゾーンに到達できるため、リモート攻撃から大域ゾーンを保護できます。たとえば、大域ゾーンで vni0 のインスタンスにマルチレベルポートをバインドした特権付きサービスに内部から到達できるのは、共有スタックを使用しているゾーンだけです。

  • 排他的 IP スタック – Oracle Solaris と同様に、大域ゾーンを含むすべてのゾーンにそれぞれの IP アドレスが割り当てられています。仮想ネットワークインタフェースカード (VNIC) がラベル付きゾーンごとに 1 つずつ作成されます。

    この構成の改良版として、各 VNIC をそれぞれ異なるネットワークインタフェース上に作成することが挙げられます。このような構成は、各 NIC に関連付けられている単一ラベルのネットワークを物理的に分離するために使用されます。排他的 IP スタックで構成されたゾーンは all-zones インタフェースを使用できません。

ラベル付きゾーンに制限されているアプリケーション

デフォルトでは、ラベル付きゾーンは大域ゾーンのネームサービスを共有し、/etc/passwd ファイルと /etc/shadow ファイルも含め大域ゾーンの構成ファイルの読み取り専用コピーを持っています。ラベル付きゾーンからそのラベル付きゾーンにアプリケーションをインストールする予定があり、パッケージによってゾーンにユーザーが追加される場合は、ゾーン内にこれらのファイルの書き込み可能コピーが必要です。

pkg:/service/network/ftp などのパッケージはユーザーアカウントを作成します。ラベル付きゾーン内で pkg コマンドを実行してこのパッケージをインストールするには、ゾーン内で別個の nscd デーモンが実行されていることと、ゾーンに排他的 IP アドレスが割り当てられていることが必要です。詳細は、ラベル付きゾーンごとに異なるネームサービスを構成するを参照してください。

マルチレベルサービスの計画

デフォルトでは、Trusted Extensions はマルチレベルサービスを提供しません。ほとんどのサービスはゾーンからゾーンへのサービスとして、つまりシングルラベルサービスとして簡単に構成されます。たとえば、各ラベル付きゾーンは、そのラベル付きゾーンのラベルで実行されている NFS サーバーに接続できます。

サイトでマルチレベルサービスが必要になった場合、それらのサービスの構成先として最適なのは、少なくとも 2 つの IP アドレスを持つシステムです。マルチレベルサービスで必要になるマルチレベルポートは、大域ゾーンに関連付けられた IP アドレスに割り当てることができます。all-zones アドレスを使用すれば、ラベル付きゾーンからそれらのサービスに到達できます。


ヒント  -  ラベル付きゾーンのユーザーがマルチレベルサービスにアクセスできないようにする場合は、1 つの IP アドレスをシステムに割り当てることができます。この Trusted Extensions 構成は、主としてラップトップコンピュータで使用します。

Trusted Extensions での LDAP ネームサービスの計画

ラベル付きシステムのネットワークの構成を計画していない場合、このセクションは省略できます。LDAP を使用する予定の場合は、最初のラベル付きゾーンを追加する前にシステムを LDAP クライアントとして構成しておく必要があります。

システムのネットワーク上で Trusted Extensions を実行する予定の場合は、LDAP をネームサービスとして使用します。Trusted Extensions で、システムのネットワークを構成する場合、データ入力された Oracle Directory Server Enterprise Edition (LDAP サーバー) が必要です。サイトに既存の LDAP サーバーがある場合、Trusted Extensions データベースをそのサーバーに転送できます。そのサーバーにアクセスするには、Trusted Extensions システムに LDAP プロキシを設定します。

サイトに既存の LDAP サーバーがない場合、Trusted Extensions ソフトウェアを実行するシステムで LDAP サーバーを作成します。手順については、Trusted Extensions 用の LDAP の構成を参照してください。

Trusted Extensions での監査の計画

デフォルトで監査は有効です。したがってデフォルトでは、login/logout クラスのすべてのイベントが監査対象となります。システムを構成しようとするユーザーを監査するために、構成プロセスの最初の段階で役割を作成できます。それらの役割がシステムを構成する際に、その役割になったログインユーザーが監査レコードに含まれます。Trusted Extensions での役割とユーザーの作成を参照してください。

Trusted Extensions での監査の計画は、Oracle Solaris OS の場合と同じです。詳細は、Oracle Solaris 11.3 での監査の管理を参照してください。Trusted Extensions は、クラス、イベント、および監査トークンを追加しますが、監査の管理方法は変更されません。監査に対する Trusted Extensions による追加については、Trusted Extensions と監査を参照してください。

Trusted Extensions でのユーザーセキュリティーの計画

Trusted Extensions ソフトウェアは、ユーザーに対して適切なセキュリティーデフォルトを提供します。このようなセキュリティーデフォルト設定を 表 2に示します。2 つの値が示されている場合、最初の値がデフォルト値です。セキュリティー管理者は、サイトのセキュリティーポリシーに合わせてデフォルト値を変更できます。セキュリティー管理者がデフォルト設定を行なったあと、システム管理者がすべてのユーザーを作成できます。それらのユーザーは設定されたデフォルト値を継承します。このようなデフォルト設定のキーワードや値については、label_encodings(4) および policy.conf(4) のマニュアルページを参照してください。

表 2  ユーザーアカウントに関する Trusted Extensions のセキュリティーデフォルト設定
ファイル名
キーワード
/etc/security/policy.conf
IDLECMD
lock | logout
IDLETIME
15
CRYPT_ALGORITHMS_ALLOW
2a,5,6
CRYPT_DEFAULT
5 (sha256)
LOCK_AFTER_RETRIES
no | yes
PRIV_DEFAULT
basic
PRIV_LIMIT
all
AUTHS_GRANTED
solaris.device.cdrw
AUTH_PROFS_GRANTED
 
CONSOLE_USER
Console User
PROFS_GRANTED
Basic Solaris User
/etc/security/tsol/label_encodings の LOCAL DEFINITIONS セクション
Default User Clearance
CNF INTERNAL USE ONLY
Default User Sensitivity Label
PUBLIC

注 - IDLECMD 変数と IDLETIME 変数はログインユーザーのセッションに適用されます。ログインユーザーがある役割になると、その役割に対するユーザーの IDLECMD 値と IDLETIME 値が有効となります。

システム管理者は、すべてのユーザーに適切なシステムデフォルト値を設定するための標準ユーザーテンプレートを作成できます。たとえば、デフォルトでは各ユーザーの初期シェルは Bash シェルになります。システム管理者は、各ユーザーに対して pfbash シェルを設定したテンプレートを作成できます。

Trusted Extensions のインストールチームの結成

    次に、もっとも安全な構成ストラテジから順に示します。

  • 2 人のチームでソフトウェアを構成します。構成プロセスは監査されます。

    ソフトウェアを有効化するとき、2 人でコンピュータに向かいます。構成プロセスの初期に、このチームは管理役割、およびそれらの役割になれる信頼できるユーザーを作成します。チームは、役割によって実行されるイベントを監査するための監査も設定します。ユーザーに役割が割り当てられ、コンピュータがリブートされたあと、ユーザーはログインし、管理役割になります。このソフトウェアが役割によるタスク区分を実施します。監査証跡が構成プロセスの記録を提供します。セキュアな構成プロセスの図解については、図 1を参照してください。

  • 1 人が適切な役割になり、ソフトウェアを有効化および構成します。構成プロセスは監査されます。

    構成プロセスの初期段階で、root 役割が追加の役割を作成します。root 役割は、役割によって実行されるイベントを監査するための監査も設定します。これらの追加の役割が最初のユーザーに割り当てられ、コンピュータがリブートされたあと、ユーザーはログインし、現在のタスクに適した役割になります。監査証跡が構成プロセスの記録を提供します。

  • 1 人が root 役割になり、ソフトウェアを有効化および構成します。構成プロセスは監査されません。

    このストラテジでは、構成プロセスは記録されません。

  • 初期設定チームが root 役割をユーザーに変更します。

    このソフトウェアには、root として作業しているユーザーの名前に関するレコードは一切保持されません。この設定は、ヘッドレスシステムのリモート管理で必要になる可能性があります。

役割によるタスク区分を次の図に示します。セキュリティー管理者は、特に、監査の構成、ファイルシステムの保護、デバイスポリシーの設定、実行権を必要とするプログラムの決定、およびユーザーの保護などのタスクを担当します。システム管理者は、特に、ファイルシステムの共有とマウント、ソフトウェアパッケージのインストール、およびユーザーの作成などのタスクを担当します。

図 1  Trusted Extensions システムの管理: 役割によるタスク区分

image:図は、構成チームのタスク、およびセキュリティー管理者とシステム管理者のタスクを示しています。

Trusted Extensions 有効化前のその他の問題の解決

Trusted Extensions を構成する前に、システムを物理的に保護し、ゾーンに関連付けるラベルを決定し、セキュリティーに関するその他の問題を解決する必要があります。手順については、Trusted Extensions インストール前のセキュリティー問題の解決を参照してください。

Trusted Extensions の有効化前に行うシステムのバックアップ

保存しなければならないファイルがシステムにある場合は、Trusted Extensions サービスを有効化する前にバックアップを実行します。ファイルをもっとも安全にバックアップする方法は、レベル 0 ダンプです。適切なバックアップ手順がわからない場合、現在のオペレーティングシステムの管理者ガイドを参照してください。