第2章 |
|
この章では、SMS 1.6 と Sun Fire ハイエンド (E20K/12K および E25K/15K) システムに関係するセキュリティーの概要について説明します。セキュリティーオプションは、各システムのドメインのセキュリティー保護 (任意選択として推奨) とシステムコントローラのセキュリティー保護 (強く推奨) のほか、全体的なシステム強化によって構成されます。強化とは、システムのセキュリティーを向上させるために Solaris OS 構成を変更することを意味します。
これらの推奨事項は、セキュリティーが重視される環境に適用されます。特に、システムコントローラの稼働時間の要件または Sun Fire サーバー上の情報が組織にとって重要である環境にお勧めします。
システムコントローラは、Sun Fire ハイエンドシステムを構成するハードウェアコンポーネントを制御します。SC はフレーム全体の中心的な制御ポイントであるため、侵入者の攻撃対象になります。信頼性、可用性、保守性、およびセキュリティー (RASS) を向上させるには、悪意のある誤使用や攻撃からシステムコントローラを保護する必要があります。次に、ドメインとシステムコントローラのセキュリティーに関連した事項の概要を説明します。
Sun Fire ハイエンドシステムプラットフォームのハードウェアは、1 つ以上の環境に区分化して、Solaris OS の別々のイメージを実行できます。こうした環境は、「動的システムドメイン」(DSD) または「ドメイン」と呼ばれます。
論理的には、ドメインは物理的に分離されたサーバーと同等です。Sun Fire ハイエンドシステムのハードウェアによって、ドメイン環境の厳密な分離が強制されます。こうした設計のため、複数のドメインで共有されているハードウェアに障害が発生しないかぎり、1 つのドメインでのハードウェアエラーは他のドメインに影響しません。ドメインが別個のサーバーのように動作するように、Sun Fire のソフトウェアは、ドメインの厳密な分離が実現されるように設計および実装されています。
SMS はすべてのドメインにサービスを提供します。こうしたサービスを提供する際にも、クライアントドメインから取得したデータが、他者から見えるデータへ漏洩することはありません。これは特に、コンソールの文字 (管理者パスワードを含む) のバッファーなどの要注意データや、クライアントドメインのデータを含む I/O バッファーのように、要注意データになりうるデータについて該当します。
SMS は、管理者の特権を制限します。この制限によって、外部からのシステムパスワードへの攻撃によって損害を受ける露出部分を制限するだけでなく、管理者の誤りによって発生する可能性のある損害の程度を制御することができます。第 3 章を参照してください。
システムコントローラのセキュリティー保護は、無許可のアクセスに抵抗し、かつ条件が厳しい環境でも正しく稼働するように Sun Fire ハイエンドシステムを構成する上での、最優先事項です。システムコントローラのセキュリティー対策を行う前に、システム上で実行されるサービスとデーモンについて理解する必要があります。この節では、システムコントローラに固有のソフトウェア、サービス、およびデーモンについて説明します。機能は概要レベルで説明し、詳細情報についてはほかの Sun マニュアルへの参照を示しています。この節では、システムコントローラを正しく動作させる上で必要となる基本的な機能を示します。
システムコントローラ (SC) は、Sun Fire フレーム内に装備される多機能システムボードです。これらの SC は、SMS ソフトウェアの実行を目的とした専用コンポーネントです。SMS ソフトウェアは、動的ドメインの構成、各ドメインに対するコンソールアクセスの提供、ドメインの電源投入または切断の制御、Sun Fire ハイエンドシステムの稼働と監視に欠かせないその他の機能の提供などに使用されます。
次に、システムコントローラが Sun Fire ハイエンドシステムに提供する数多くのサービスの概要を示します。
Sun Fire フレームには、2 つのシステムコントローラがあります。どちらのシステムコントローラに対してもセキュリティー推奨事項は同じです。Sun Fire プラットフォームを制御する SC は「メイン SC」と呼ばれ、バックアップとして動作するもう一方の SC は「スペア SC」と呼ばれます。SC 上で動作するソフトウェアは、システムコントローラを監視し、自動フェイルオーバーを行うタイミングを判断します。
2 つのシステムコントローラを同じ構成にすることをお勧めします。同じ構成にするものには、あらゆるシステム構成 (Solaris OS、セキュリティーの変更、パッチのインストールなど) のほか、同じバージョンの SMS ソフトウェアが含まれます。
システムコントローラ間のフェイルオーバー機能は、メインシステムコントローラとスペアシステムコントローラで動作するデーモンによって制御されます。これらのデーモンは、Sun Fire フレーム内に組み込まれたプライベート通信パスを介して通信します。このようなデーモンの通信以外に、2 つのシステムコントローラ間に特別な信頼関係はありません。
SC では、プラットフォーム、ドメイン、およびほかのシステムコントローラとの通信のためにいくつかのネットワークインタフェースが使用されます。これらのインタフェースのほとんどは、/etc/hostname.* エントリで通常の Ethernet ネットワーク接続として定義されています。
通常、メイン SC (この例では sc0) には /etc ディレクトリ内に置かれた 2 つのファイルがあり、次のような内容になっています。
# more /etc/hostname.scman0 192.168.103.1 netmask + broadcast + private up # more /etc/hostname.scman1 192.168.103.33 netmask + private up |
さらに、通常のメイン SC の /etc/netmasks には、対応するエントリが存在します。
注 - これらの SC 例では、経路指定されていない (RFC 1918) インターネットプロトコル (IP) アドレスを使用しています。Sun Fire システムコントローラを導入する際には、このタイプの IP アドレスを使用することをお勧めします。SMS ソフトウェアは、内部的な SC ネットワーク接続を公開ではなく非公開として定義します。 |
/etc/hostname.scman0 エントリは、I1 SMS 管理ネットワーク (MAN) またはドメイン - SC MAN を設定します。この例での最初の IP アドレス、192.168.103.1 は、メイン SC 上でのみ常に使用できるように SMS ソフトウェアによって制御されます。
セキュリティー上の観点から見て、ドメインとシステムコントローラ間の I1 MAN ネットワークの誤使用またはこのネットワーク上における攻撃は、ドメイン分離に悪影響を与える可能性があります。Sun Fire ハイエンドシャーシ内の I1 ネットワークのハードウェア実装は、SC - ドメイン通信とドメイン - SC 通信だけを許可することによってこれらの問題に対処しています。I1 MAN ネットワークは、システムコントローラ間に個別のポイントツーポイント物理ネットワーク接続として実装されます。Sun Fire E20K/12K サーバーでは 9 個のドメイン、Sun Fire E25K/15K サーバーでは 18 個のドメインのそれぞれにこのネットワークを確立できます。これらの各接続の終端は、各ドメイン上の I/O ボードと SC です。
システムコントローラ上では、運用と管理を簡易化するため、複数に分離したこれらのネットワークが 1 つのメタインタフェースとして統合されます。この統合は、I1 MAN ドライバソフトウェアによって行われます。このソフトウェアは、ドメイン分離を適用するとともに、冗長通信パスへのフェイルオーバーを行います。
I1 ネットワークのハードウェア実装では、I1 ネットワーク上でのドメイン間の直接通信は許可されません。このようにネットワークを実装することで、各 SC − ドメインネットワーク接続はほかの接続から物理的に分離されます。
I2 MAN または SC - SC MAN の構成には、/etc/hostname.scman1 エントリを使用します。両方のシステムコントローラに IP アドレスが与えられるこのネットワーク接続は、2 つのシステムコントローラ間のハートビート接続用です。
Sun Fire ハイエンドシャーシでは、I1 MAN ネットワーク接続、I2 MAN ネットワーク接続とも内部的に実装されます。外部的な配線は使用されません。
スペア SC の物理ネットワークインタフェースは、メイン SC と同じです。scman0 ネットワークインタフェースは、Solaris OS により
メイン SC と同じ方法と情報を使用してスペア SC 上の /etc/hostname.scman0 ファイルを通して plumb されます。メインシステムコントローラとスペアシステムコントローラの違いは、スペアではインタフェースが無効であることです。I/O ハブ上のスペアシステムコントローラの scman0 ポートは無効にされ、mand はスペア上の scman0 にはパス情報を提供しません。
SC - SC 通信用である scman1 インタフェースの構成情報は次のとおりです。
スペア SC 側の対応する /etc/netmasks 情報は次のとおりです。
メイン SC のステータスを検証するには、次のコマンドを使用します。
メイン SC (sc0) では、このネットワーク構成例が次のように表示されます。
スペア SC (sc1) では、このネットワーク構成例が次のように表示されます。
Solaris Security Toolkit 4.2 ソフトウェアは Solaris 9 OS または Solaris 10 OS で動作し、安全な Solaris OS システムを構築および保守するための、自動化された、拡張可能かつスケーラブルなメカニズムを提供します。Solaris Security Toolkit ソフトウェアを使用すると、システムのセキュリティーを強化および監査できます。
SMS 1.6 を使用したシステムのセキュリティーオプションは、ソフトウェアが新規インストールされるのか、アップグレードとしてインストールされるのかによって異なります。
SMS バージョンを新規インストールする場合は、smsinstall コマンドを使用し、これによってインストールの一環として自動的にセキュリティーが強化されます (デフォルトでのセキュリティー保護)。つまり、システムコントローラがセキュリティー保護される際にシステムが強化されます。この例では、インストールの一環としてダウンロードされる Solaris Security Toolkit (SST) 4.2.0 ソフトウェアを使用して、ドメインのセキュリティー保護を手動で行うことも可能です。SMS 1.6 を新規インストールする場合は、smsinstall コマンドによる初期または新規の SMS インストール (デフォルトでのセキュリティー保護)に進んでください。
注 - Solaris 10 OS 上でサポートされる SST の最小バージョンは 4.2.0 です。Solaris 8 および 9 OS でサポートされる SST の最小バージョンは 4.1.1 です。 |
アップグレードによりインストールする場合は、システムのセキュリティーが自動的に強化されることはありません。この例では、smsupgrade コマンドが使用され、アップグレードの一環として Solaris Security Toolkit ソフトウェアがインストールされたあと、このソフトウェアを使用してシステムのセキュリティー状態の強化、強化解除、監査を行うことができます (選択によるセキュリティー保護)。この処理は、システムコントローラとドメインを含めて行われます。SMS 1.6 へのアップグレードを行う場合と、SMS 強化後の作業を行う場合は、smsupgrade コマンドによる SMS のアップグレードインストール (選択によるセキュリティー保護)に進んでください。
次に、SMS 1.6 のインストール内容に発生した主な変更を示します。この変更は、使用されるインストール方法には関係ありません。
ここでの推奨事項は、Sun Fire システムコントローラをセキュリティーで保護して、サポート対象の構成とするために実行可能な作業に関するいくつかの前提条件と制限事項に基づいています。
注 - このマニュアル内で示す推奨事項は System Management Services (SMS) 1.6 ソフトウェアを対象としており、SMS 1.6 と前のリリースの相違点については説明していません。可能な場合は、すべてのユーザーが、使用しているソフトウェアを SMS 1.6 にアップグレードすることをお勧めします。 |
Solaris OS の強化は、さまざまに解釈できます。強化された SC 構成を確立する場合は、使用できるすべての Solaris OS オプションの強化に取り組みます。つまり、強化できるものはすべて強化されます。サービスとデーモンを現状のままに維持するのが望ましい場合は、それらの強化または変更を行いません。
注 - 環境によっては、このマニュアルで説明しているレベルまで Solaris OS 構成を強化することが妥当ではない場合があります。また、ここで推奨している強化処理の一部だけを実行する場合がある環境もあります。このような場合もその構成はサポート対象となりますが、このマニュアルで示す推奨事項の粋を越える付加的な強化はサポートされません。 |
Solaris Security Toolkit の Sun Fire ハイエンドサーバー SC モジュールのコピーをカスタマイズすることで、一部の強化スクリプトを無効にすることができます。デフォルトモジュールを変更する場合は、これらのファイルのコピーに変更を加えることを強くお勧めします。この方法によって、より新しいバージョンの Solaris Security Toolkit へのアップグレードが容易になります。
注 - システムコントローラの強化には、明示的に許可されていないものは拒否されるという標準のセキュリティー規則が適用されます。 |
システムコントローラにインストールできる追加のソフトウェア (Sun Remote Services Event Monitoring、Sun Remote Services Net Connect、Sun Management Center ソフトウェアなど) についての説明は、このマニュアルから除外されました。このような種類のソフトウェアをインストールする場合は、インストールによって発生するセキュリティー上の暗黙の影響を慎重に検討することをお勧めします。
Solaris Security Toolkit ソフトウェア (sunfire_15k_sc-secure.driver) によって実装された、Sun Fire ハイエンドシステムの SC 構成は、Sun のサポート対象となります。強化された SC がサポートされるのは、Solaris Security Toolkit を使用してセキュリティー変更を加えた場合だけです。
この場合は、smsinstall コマンドを使用して SMS 1.6 ソフトウェアをインストールします。インストール処理の一環としてデフォルトでの自動セキュリティー保護が実行され、これによりシステムのシステムコントローラは自動的に強化され、セキュリティー保護されます。
強化作業は、Sun Fire 15K/12K SC モジュール sunfire_15k_sc-secure.driver によって行われます。デフォルトで実装されるこの Solaris Security Toolkit ドライバは、無効にできるサービスをすべて、SMS に悪影響を与えることなく無効にします。ユーザーは必要なだけサービスを有効にできますが、SMS インストールソフトウェアによって無効にされたサービスの数を超えてサービスを無効にすることはできません。
システムに含まれるサービスとデーモンの一部を Solaris Security Toolkit によって無効にする必要があると判断する場合があります。特定のニーズに合うように Solaris Security Toolkit ソフトウェアをカスタマイズする方法については、Solaris Security Toolkit ドライバのカスタマイズを参照してください。
次のサイトで入手できる次の Sun BluePrints Online の文書に示されている方法でシステムドメインをセキュリティー保護することによって、システムをさらに強化することもできます。
http://www.sun.com/security/blueprints
この場合は、smsupgrade コマンドを使用して SMS 1.6 ソフトウェアをインストールします。デフォルトでの自動強化は実行されません。ただし、アップグレードの一環として Solaris Security Toolkit ソフトウェアがインストールされるため、このソフトウェアを使用してシステムのセキュリティー状態の強化、強化解除、監査を手動で行うことができます。
ドメインの独立性が特に重要なシステムでは、独立させる必要があるドメインと SC の間の IP 接続を無効にすることをお勧めします。
システムコントローラのセキュリティー保護を行う方法については、Solaris Security Toolkit によるシステムコントローラのセキュリティー保護を参照してください。選択によるドメインのセキュリティー保護を行う方法については、次のサイトで次の Sun BluePrints Online の文書を参照してください。
http://www.sun.com/security/blueprints
システムコントローラのセキュリティー保護を効果的に行うには、システムコントローラで動作する Solaris OS ソフトウェアと、Sun Fire ハイエンドプラットフォームの構成の両方を変更する必要があります。Solaris Security Toolkit ソフトウェアにカスタマイズしたモジュールを追加することで、Solaris OS インストールとこれらの推奨事項の実装が簡略化されます。このようなモジュール使用すると、セキュリティーに関する推奨事項は自動的に実装されます。
Solaris Security Toolkit ソフトウェアは、常時更新されています。smsupgrade コマンドを実行すると、このコマンドの処理の一環として Solaris Security Toolkit Version 4.2 がダウンロードされます。Solaris Security Toolkit が最新バージョンであるかを SMS のインストール時に確認するには、次の Web サイトを参照してください。
http://www.sun.com/security/jass
新しいバージョンをダウンロードした場合は、SMS zip ファイルの Bundled_Products ディレクトリにそのバージョンをインストールし、同じ名前を使用して古いパッケージを置き換えてください。ダウンロードした Solaris Security Toolkit パッケージは解凍する必要があります。
注 - Solaris Security Toolkit パッケージを手動でインストールする方法については、『Solaris Security Toolkit Installation Guide』を参照してください。 |
注 - システムコントローラの一方を強化する場合は、あらかじめフェイルオーバーを無効にしてください。フェイルオーバーを元どおり有効にするには、必ず両方のシステムコントローラの強化およびテストが完了したあとで有効にしてください。 |
注 - Solaris Security Toolkit は、パフォーマンス向上とソフトウェア構成についての構成変更には使用できません。 |
smsupgrade コマンドを実行すると、その処理内容の一環として Solaris Security Toolkit ソフトウェアの Version 4.2 が SMS zip ファイル内に含められ、システムコントローラにインストールされます。情報メッセージでは、Solaris Security Toolkit のインストールの進捗が表示されます。また、ほかのセキュリティーソフトウェアのインストール作業と、システムコントローラを強化するための Solaris OS の変更の実装作業を自動化するために、Solaris Security Toolkit ソフトウェアを使用することがユーザーに勧められます。
いずれかのバージョンの Solaris Security Toolkit が SC にすでにインストールされている場合は、SMS パッケージをインストールする前に smsupgrade が中止され、ユーザーは smsupgrade を再起動する前に、Solaris Security Toolkit に関連したカスタマイズがある場合はそれを保存し、古い Solaris Security Toolkit パッケージを削除するように求められます。
ユーザーは、Solaris Security Toolkit を使用してシステムのサービスとデーモンの一部を無効にする必要があると判断する場合があります。また、Solaris Security Toolkit で使用できるスクリプトが無効になっている場合にそれらを有効にする場合もあります。
SC 上で各種のその他のサービスを有効にして強化をカスタマイズする方法については、『Solaris Security Toolkit Administrative Manual』の第 7 章を参照してください。有効な状態に維持する必要があるサービスがあるが、Solaris Security Toolkit によってそれらが自動的に無効にされるという場合は、そのデフォルトを無効にすることができます。
このツールキットによって特定のサービスが無効に設定されるのを防ぐには、ドライバ内の該当する終了スクリプトの呼び出しをコメントにします。たとえば、使用している環境でネットワークファイルシステム (NFS) ベースのサービスが必要な場合には、それらを有効なままに維持できます。sunfire_15k_domain-hardening.driver スクリプトのコピー内で、disable-nfs-server.fin スクリプトと disable-rpc.fin スクリプトの前に # 記号を付け、これらをコメントにします。
Solaris Security Toolkit によるドライバスクリプトの編集と作成の詳細は、Solaris Security Toolkit のマニュアルを参照してください。
注 - この節で行うインストール作業と変更作業の間、Telnet や FTP など、SC への暗号化されていないアクセスメカニズムはすべて無効になります。強化作業では、SC シリアルポートを介したコンソールシリアルアクセスは無効になりません。 |
システムコントローラに変更を加える場合は、Solaris Security Toolkit に含まれるファイルを変更する必要があります。次に、これらのオプションの一部を使用する手順を示します。
|
ドメインを除外するには、I1 ネットワーク構成から除外されるようにドメインネットワークインタフェースの構成を解除し、続いて mand デーモンを起動します。
注 - 前のバージョンではの SMS では、SST ソフトウェアを使用してドメインと SC 間の I1 ネットワークを使用不可にすることによって、システムコントローラとの通信からそのドメインを除外することができました。この機能は最新の SST バージョンではサポートされておらず、この手順で示されているように手動で実行する必要があります。 |
ユーザー権限で、除去するドメインの MAN ホスト名として NONE を指定します。
#smsconfig -m I1 A Enter the MAN hostname for DA-I1 [ DA-I1 ]: NONE Network: I1 DA-I1 Hostname: NONE IP Address: NONE Do you want to accept these settings? [y,n]y #pkill -HUP mand |
|
注 - Solaris Security Toolkit の user.init ファイルは、次のようなユーザー定義の変数を含めるように編集すべきです。 |
詳細は、『Solaris Security Toolkit 管理マニュアル』の第 7 章の「強化構成のカスタマイズ」を参照してください。
|
ドライバファイルの内容を表示して Solaris OS の変更についての情報を確認する方法については、/opt/SUNWjass/Documentation ディレクトリ内または次の Web を通して利用できる Solaris Security Toolkit のマニュアルを参照してください。
http:/www.sun.com/security/jass
|
Solaris Security Toolkit を実行するごとに、/var/opt/SUNWjass/run に実行ディレクトリが 1 つ作成されます。これらのディレクトリの名前は、その実行が開始された日時に基づいています。コンソールに出力を表示するほかに、Solaris Security Toolkit ソフトウェアは /var/opt/SUNWjass/run ディレクトリにログファイルを作成します。
![]() |
注意 - どのような状況下でも /var/opt/SUNWjass/runディレクトリの内容は変更しないでください。ファイルを変更すると、内容が壊れ、Solaris Security Toolkit ソフトウェアの機能 (undoなど) を使用する場合に予期しないエラーが発生する可能性があります。 |
/var/opt/SUNWjass/run ディレクトリ内に格納されたファイルは、システムで行われた変更を追跡するとともに、jass-execute 取り消し機能を有効にします。
単一の実行または複数の実行を取り消すには、jass-execute -u コマンドを使用します。
たとえば、2 つの Solaris Security Toolkit が個別に実行されているシステムで、次の例に示すように 2 つめの実行を解除できます。
jass-execute コマンドで使用できる機能とオプションの詳細については、Solaris Security Toolkit のマニュアルを参照してください。
Copyright© 2006, Sun Microsystems, Inc. All rights reserved.