この章では、Solaris Security Toolkit ソフトウェアの概要と、このソフトウェアを使用して論理ドメインで Solaris OS をセキュリティー保護する方法について説明します。
この章の内容は次のとおりです。
Solaris Security Toolkit ソフトウェア は、非公式には JumpStartTM Architecture and Security Scripts (JASS) ツールキットとも呼ばれ、セキュリティー保護された Solaris OS システムの構築および維持を行うために、自動化され、拡張性の高いスケーラブルな機構を提供します。Solaris Security Toolkit は、Logical Domains Manager の制御ドメインを含む、サーバーの管理には不可欠なデバイスのセキュリティー保護を実現します。
Solaris Security Toolkit 4.2 ソフトウェアパッケージ SUNWjass では、install-ldm スクリプトを次のように使用することで、制御ドメイン上の Solaris オペレーティングシステムをセキュリティー保護する手段を提供します。
Logical Domains Manager インストールスクリプト (install-ldm) および Logical Domains Manager に固有の制御ドライバ (ldm_control-secure.driver) を使用することにより、Solaris Security Toolkit が制御ドメインを自動的に強化するようにします。
SUNWjass パッケージは、Logical Domains (LDoms) Manager 1.2 ソフトウェアパッケージ SUNWldm と一緒に同梱されており、Sun のソフトウェアダウンロード Web サイトから入手できます。Logical Domains Manager 1.2 ソフトウェアをダウンロードしてインストールすると同時に、Solaris Security Toolkit 4.2 ソフトウェアパッケージをダウンロードしてインストールするオプションがあります。Solaris Security Toolkit 4.2 ソフトウェアパッケージには、Solaris Security Toolkit ソフトウェアを Logical Domains Manager とともに使用できるようにするための必須パッチが含まれています。ソフトウェアがインストールされたら、Solaris Security Toolkit 4.2 ソフトウェアを使用してシステムを強化できます。第 3 章ソフトウェアのインストールおよび有効化 では、Solaris Security Toolkit をインストールおよび構成し、制御ドメインを強化する方法について説明しています。
Solaris Security Toolkit によって提供されるセキュリティー機能のうち、Logical Domains Manager のユーザーが使用可能な機能を次に示します。
強化 – 必須パッチが適用された Solaris Security Toolkit 4.2 ソフトウェアを使用して、Solaris Security Toolkit ソフトウェアを Logical Domains Manager とともに使用できるようにして、システムのセキュリティーを強化するように Solaris OS 構成を変更します。
最小化 – LDoms および LDoms Management Information Base (MIB) のサポートに必要な最小限の主要な Solaris OS パッケージをインストールします。
承認 – Logical Domains Manager 用に変更された Solaris OS の役割に基づくアクセス制御 (RBAC) を使用して承認を設定します。
監査 – Logical Domains Manager 用に変更された Solaris OS 基本セキュリティーモジュール (BSM) を使用してシステムのセキュリティーの変更元を識別し、何が、いつ、誰によって行われ、どのような影響があるのかを判断します。
適合性 – Solaris Security Toolkit の監査機能を使用して、システムの構成が事前に定義されたセキュリティープロファイルに適合しているかどうかを判断します。
第 3 章ソフトウェアのインストールおよび有効化 では、Solaris Security Toolkit をインストールして Logical Domains Manager とともに使用する方法について説明しています。Solaris Security Toolkit は、制御ドメインにインストールします。制御ドメインでは Logical Domains Manager が実行されています。また、Solaris Security Toolkit は、ほかの論理ドメインにインストールすることもできます。唯一の違いは、制御ドメインを強化する場合は ldm_control-secure.driver を使用し、ほかの論理ドメインを強化する場合は secure.driver などの別のドライバを使用することです。これは、ldm_control-secure.driver が制御ドメイン専用であるためです。ldm_control-secure.driver は、secure.driver をベースにして、Logical Domains Manager で使用できるようにカスタマイズおよびテストしたものです。secure.driver の詳細は、『Solaris Security Toolkit 4.2 Reference Manual』を参照してください。
Solaris Security Toolkit が制御ドメイン上の Solaris OS を強化するために使用するドライバ (ldm_control-secure.driver) は、Logical Domains Manager が OS で実行できるように特別な変更を加えたものです。ldm_control-secure.driver は、『Solaris Security Toolkit 4.2 リファレンスマニュアル』で説明している secure.driver に類似しています。
ldm_control-secure.driver は、Logical Domains Manager ソフトウェアを実行しているシステムの制御ドメインに対する基準構成を提供します。これは、Solaris OS ドメインで通常よりも少ないシステムサービスを提供することで、通常の用途ではなく Logical Domains Manager の処理のために制御ドメインを確保することを目的としています。
install-ldm スクリプト により、Logical Domains Manager ソフトウェアがまだインストールされていない場合はこのソフトウェアがインストールされ、使用可能になります。
secure.driver から変更された、その他の重要な事項の概要を次に示します。
Telnet サーバー は実行できません。代わりに Secure Shell (ssh) を使用できます。Telnet クライアントを使用して、Logical Domains 仮想ネットワーク端末サーバーデーモン (vntsd) によって開始された仮想コンソールにアクセスすることはできます。たとえば、ローカルシステムの TCP ポート 5001 で待機している仮想コンソールが実行中の場合は、次のようにアクセスすることができます。
# telnet localhost 5001 |
vntsd を有効にする方法については、「Logical Domains Manager デーモンの有効化」 を参照してください。これは自動的には有効になりません。
次の終了スクリプトが追加されています。これらを使用して、Logical Domains Manager をインストールおよび起動できます。追加されたスクリプトの一部は、カスタマイズしたすべてのドライバに追加する必要がありますが、省略可能なものもあります。スクリプトには、必須であるか任意であるかが示されています。
次のファイルが変更されました。これらの変更のカスタマイズしたドライバへの組み込みは省略可能であるため、任意として示されています。
次の終了スクリプトが無効 (コメントアウト) になっています。カスタマイズしたすべてのドライバで、disable-rpc.fin スクリプトをコメントにしてください。その他の変更は省略可能です。スクリプトには、必須であるか任意であるかが示されています。
Solaris OS は、要件に合わせてさまざまな数のパッケージを組み合わせて構成できます。最小化では、このようなパッケージのセットを、必要なアプリケーションを実行するために最低限必要な数にまで減らします。最小化により、セキュリティーに脆弱性があるおそれのあるソフトウェアの数が減り、インストールされたソフトウェアにパッチを正しく適用し続けることに付随する労力の度合いも軽減されるため、最小化は重要です。論理ドメインの最小化処理では、任意のドメインを完全にサポートし続ける、最小化された Solaris OS をインストールするための JumpStart サポートが提供されています。
Solaris Security Toolkit では、LDoms の論理ドメインを最小化するために使用する JumpStart プロファイル minimal-ldm_control.profile が用意されています。このプロファイルにより、LDoms および LDoms MIB のサポートに必要なすべての Solaris OS パッケージがインストールされます。LDoms MIB を制御ドメインで使用する場合は、LDoms および Solaris Security Toolkit パッケージのインストール後に、個別にそのパッケージを追加する必要があります。これは、ほかのソフトウェアとともに自動的にはインストールされません。LDoms MIB のインストールおよび使用法の詳細は、『Logical Domains (LDoms) MIB 1.0.1 Administration Guide』を参照してください。
Logical Domains Manager の承認には、次の 2 つのレベルがあります。
変更は、Solaris OS に加えられるのではなく、Logical Domains Manager のインストール時にパッケージスクリプト postinstall を使用することで、承認ファイルに追加されます。同様に、承認エントリは、パッケージスクリプト preremove によって削除されます。
ldm サブコマンドと、そのコマンドの実行に必要な対応するユーザー承認を次の表に示します。
表 2–1 ldm サブコマンドおよびユーザー承認
ユーザー承認 |
|
---|---|
add-* |
solaris.ldoms.write |
bind-domain |
solaris.ldoms.write |
list |
solaris.ldoms.read |
list-* |
solaris.ldoms.read |
panic-domain |
solaris.ldoms.write |
remove-* |
solaris.ldoms.write |
set-* |
solaris.ldoms.write |
start-domain |
solaris.ldoms.write |
stop-domain |
solaris.ldoms.write |
unbind-domain |
solaris.ldoms.write |
Logical Domains Manager CLI コマンドの監査は、Solaris OS 基本セキュリティーモジュール (BSM) 監査によって実行されます。Solaris OS BSM 監査の詳細は、Solaris 10 の 『Solaris のシステム管理 (セキュリティサービス)』を参照してください。
Logical Domains Manager に対する BSM 監査は、デフォルトでは有効ではありませんが、インフラストラクチャーは用意されています。BSM 監査は、次の 2 つのいずれかの方法で使用できます。
Solaris Security Toolkit の enable-bsm.fin 終了スクリプトを実行します。
Solaris OS の bsmconv(1M) コマンドを使用します。
Logical Domains Manager で BSM 監査を使用する場合の有効化、検証、無効化、出力の表示、およびログの切り替えの詳細は、「BSM 監査の有効化と使用」 を参照してください。
Solaris Security Toolkit には、独自の監査機能があります。Solaris Security Toolkit ソフトウェアは、事前に定義されたセキュリティープロファイルと比較して、Solaris OS が動作しているあらゆるシステムのセキュリティー状況を自動的に検証することができます。この適合性機能の詳細は、『Solaris Security Toolkit 4.2 Administration Guide 』 の「システムのセキュリティーの監査」を参照してください。
Logical Domains Manager では、Solaris OS の基本セキュリティーモジュール (BSM) 監査機能を使用します。BSM 監査は、制御ドメインの処理およびイベントの履歴を調べて、何が発生したかを調べるための手段を提供します。履歴は、何が、いつ、誰によって行われ、どのような影響があるかを示すログに保持されます。
この節では、この監査機能を使用する場合に、有効化、検証、無効化、出力の表示、および監査ログの切り替えを行う方法について説明します。BSM 監査の詳細は、Solaris 10 の『Solaris のシステム管理 (セキュリティサービス)』で参照できます。
BSM 監査は、次の 2 つのいずれかの方法で有効にできます。監査を無効にする場合は、有効にしたときと同じ方法を使用してください。2 つの方法は次のとおりです。
Solaris Security Toolkit の enable-bsm.fin 終了スクリプトを使用します。
enable-bsm.fin スクリプトは、デフォルトでは ldm_control-secure.driver では使用されません。選択したドライバで終了スクリプトを有効にする必要があります。
Solaris OS の bsmconv(1M) コマンドを使用します。
ここでは、両方の方法についての手順を示します。
ldm_control-secure.driver を my-ldm.driver にコピーします。ここで my-ldm.driver は ldm_control-secure.driver のコピーの名前です。
ldm_control-config.driver を my-ldm-config.driver にコピーします。ここで my-ldm-config.driver は ldm_control-config.driver のコピーの名前です。
ldm_control-hardening.driver を my-ldm-hardening.driver にコピーします。ここで my-ldm-hardening.driver は ldm_control-hardening.driver のコピーの名前です。
my-ldm.driver を編集して、新しい構成と強化ドライバを、それぞれ my-ldm-control.driver と my-ldm-hardening.driver に変更します。
my-ldm-hardening.driver を編集して、ドライバの次の行の先頭にあるハッシュ記号 (#) を削除します。
enable-bsm.fin |
my-ldm.driver を実行します。
# /opt/SUNWjass/bin/jass-execute -d my-ldm.driver |
Solaris OS を再起動して、監査を有効にします。
/etc/security/audit_control ファイルの flags: 行に vs を追加します。
bsmconv(1M) コマンドを実行します。
# /etc/security/bsmconv |
このコマンドの詳細は、bsmconv(1M) マニュアルページを参照してください。
Solaris OS を再起動して、監査を有効にします。
監査を有効にした方法に応じて、次の 2 つのいずれかの方法で監査を無効にすることができます。「BSM 監査の有効化と使用」 を参照してください。
次のいずれかを実行します。
BSM 監査を有効にした Solaris Security Toolkit による強化の実行を取り消します。
# /opt/SUNWjass/bin/jass-execute -u |
Solaris OS の bsmunconv(1M) コマンドを実行します。
# /etc/security/bsmunconv |
Solaris OS を再起動して、監査を無効にします。
BSM 監査の出力を表示するには、次のいずれかの方法を使用します。
Solaris OS コマンド auditreduce(1M) および praudit(1M) を使用して、監査の出力を表示します。
# auditreduce -c vs | praudit # auditreduce -c vs -a 20060502000000 | praudit |
Solaris OS の praudit -x コマンドを使用して、XML 出力を表示します。
vntsd デーモンでは、vntsd/authorization という SMF プロパティーを使用できます。このプロパティーを構成すると、ドメインコンソールまたはコンソールグループ用にユーザーおよび役割の承認チェックを有効にできます。承認チェックを有効にするには、svccfg コマンドを使用して、このプロパティーの値を true に設定します。このオプションが有効な場合、vntsd は、localhost のみで接続を待機して受け入れます。vntsd/authorization が有効な場合、listen_addr プロパティーに代替 IP アドレスを指定していても、vntsd は代替 IP アドレスを無視し、引き続き localhost のみで待機します。
デフォルトでは、vntsd サービスが有効な場合、すべてのゲストコンソールにアクセスするための承認は、auth_attr データベースに追加されます。
solaris.vntsd.consoles:::Access All LDoms Guest Consoles:: |
スーパーユーザーは、usermod コマンドを使用して、必要な承認をほかのユーザーまたは役割に割り当てることができます。これにより、特定のドメインコンソールまたはコンソールグループにアクセスするために必要な承認を持つユーザーまたは役割のみが許可されます。
次の例は、ユーザー terry に、すべてのドメインコンソールにアクセスするための承認を付与します。
# usermod -A "solaris.vntsd.consoles" terry |
次の例は、ldg1 という名前の特定のドメインコンソール用の新しい承認を追加し、この承認をユーザー sam に割り当てます。
新しい承認エントリを、ドメイン ldg1 の auth_attr ファイルに追加します。
solaris.vntsd.console-ldg1:::Access Specific LDoms Guest Console:: |
この承認をユーザー sam に割り当てます。
# usermod -A "solaris.vntsd.console-ldg1" sam |
承認および RBAC の詳細は、『Solaris のシステム管理 (セキュリティサービス)』を参照してください。