第2章 |
|
この章では、SMS 1.5 と Sun Fire ハイエンド (E20K/12K および E25K/15K) システムに関係するセキュリティーの概要を説明します。セキュリティーオプションは、各システムのドメインのセキュリティー保護 (任意選択として推奨) とシステムコントローラのセキュリティー保護 (強く推奨) のほか、全体的なシステム強化によって構成されます。強化とは、システムのセキュリティーを向上させるために Solaris OS 構成を変更することを意味します。
これらの推奨は、セキュリティーが重視される環境に適用されます。特に、システムコントローラの稼働時間要件または Sun Fire サーバー上の情報 (あるいはこの両方) が組織にとって重要な環境にお勧めします。
システムコントローラは、Sun Fire ハイエンドシステムを構成するハードウェアコンポーネントを制御します。これらのコンポーネントはフレーム全体の中心的な制御ポイントであるため、侵入者の攻撃対象になります。信頼性、可用性、保守性、およびセキュリティー (RASS) を向上させるには、悪意のある誤使用や攻撃からシステムコントローラを保護する必要があります。次に、ドメインとシステムコントローラのセキュリティーに関連した事項の概要を説明します。
Sun Fire ハイエンドシステムプラットフォームのハードウェアは、1 つまたは複数の環境にパーティション分割されれば、Solaris オペレーティングシステムの複数のイメージを個別に実行できます。こうした環境は、動的システムドメイン (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) では、このネットワーク構成例が次のように表示されます。
scman0 ネットワークは通常の IP ベースネットワークトラフィックをサポートしますが、Sun Fire 管理トラフィックによる使用だけにとどめるべきです。この内部ネットワークをほかのトラフィックに使用すると、プラットフォーム全体の信頼性、可用性、保守性、セキュリティーに影響を与える可能性があります。詳細は、scman (7D) と dman (7D) のマニュアルページを参照してください。
スペア SC (sc1) では、このネットワーク構成例が次のように表示されます。
SMS 1.5 を使用したシステムのセキュリティーオプションは、ソフトウェアが初めてインストールされるのか (フレッシュインストール)、アップグレードとしてインストールされるのかによって異なります。
SMS バージョンがフレッシュインストールである場合は、smsinstall コマンドが使用され、続いてインストールの一環として自動強化が行われます (デフォルト設定としてセキュリティー保護を行う)。つまり、システムコントローラがセキュリティー保護される際にシステムが強化されます。この例では、Solaris Security Toolkit (SST) 4.1.1 ソフトウェア (インストールの機能の 1 つとしてダウンロード可能) を使用し、ドメインのセキュリティー保護を手動で行うことも可能です。SMS 1.5 のフレッシュインストールを行う場合は、smsinstall コマンドによる初期/フレッシュ SMS インストール (デフォルトでセキュリティー保護を行う) に進んでください。
アップグレードインストールの場合、自動的なシステム強化は行われません。この例では、smsupgrade コマンドが使用され、アップグレードの一環として Solaris Security Toolkit ソフトウェアがインストールされたあと、このソフトウェアを使用してシステムのセキュリティー状態の強化、強化解除、監査を行うことができます (選択によるセキュリティー保護)。この処理は、システムコントローラとドメインを含めて行われます。SMS 1.5 へのアップグレードを行う場合と、SMS 強化後の作業を行う場合は、smsupgrade コマンドによる SMS のアップグレードインストール (選択によるセキュリティー保護) に進んでください。
次に、SMS 1.5 をインストールするために発生した主な変更を示します。この変更は、使用されるインストール方法には関係ありません。
ここで述べる推奨は、Sun Fire システムコントローラのセキュリティー保護を行い、サポート対象となる構成を行うためにできることについての前提条件と制限事項に基づいています。
注 - このマニュアル内で述べる推奨は System Management Services (SMS) 1.5 ソフトウェアを対象としており、SMS 1.5 と旧リリースの相違点については説明していません。どのような顧客に対しても、可能なかぎりソフトウェアを SMS 1.5 にアップグレードすることを推奨しています。 |
Solaris OS の強化は、さまざまに解釈できます。強化された SC 構成を確立する場合は、使用できるすべての Solaris OS オプションの強化に取り組みます。つまり、強化できるものはすべて強化されます。サービスとデーモンを現状のままに維持するのが望ましい場合は、それらの強化または変更を行いません。
注 - 環境によっては、このマニュアルで説明しているレベルまで Solaris OS 構成を強化することが妥当ではない場合があります。また、ここで推奨している強化処理の一部だけを実行する場合がある環境もあります。このような場合もその構成はサポート対象となりますが、このマニュアルで述べている推奨を上回る付加的な強化はサポートされません。 |
Solaris Security Toolkit の Sun Fire ハイエンドサーバー SC モジュールのコピーをカスタマイズすることで、一部の強化スクリプトを無効にすることができます。デフォルトモジュールを変更する場合は、新しい Solaris Security Toolkit バージョンへのアップグレードを容易にするため、これらのファイルのコピーに変更を加えることを強く推奨します。
注 - システムコントローラの強化には、明示的に許可されていないものは拒否されるという標準のセキュリティー規則が適用されます。 |
システムコントローラにインストールできる付加的なソフトウェア (SunSM Remote Services Event Monitoring、SunSM 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.5 ソフトウェアをインストールします。インストール処理の一環としてデフォルトで自動的にセキュリティー保護が実行され、これによりシステムコントローラ は自動強化され、セキュリティー保護されます。
強化作業は、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.5 ソフトウェアをインストールします。このインストールでは、デフォルトで自動強化が行われることはありません。ただし、アップグレードの一環として 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 バージョン 4.1.1 がダウンロードされます。Solaris Security Toolkit が最新バージョンであるかを SMS のインストール時に確認するには、次の Web サイトを参照してください。
http://www.sun.com/security/jass
新しいバージョンをダウンロードした場合は、SMS zip ファイルの Bundled_Products ディレクトリにそのバージョンをインストールし、同じ名前を使用して古いパッケージを置き換えてください。ダウンロードした Solaris Security Toolkit パッケージは解凍する必要があります。
注 - Solaris Security Toolkit パッケージを手動でインストールする方法については、『Solaris Security Toolkit 管理マニュアル』を参照してください。 |
注 - システムコントローラの一方を強化する場合は、あらかじめフェイルオーバーを無効にすることを推奨します。フェイルオーバーを元どおり有効にするには、必ず両方のシステムコントローラの強化およびテストが完了したあとで有効にしてください。 |
注 - Solaris Security Toolkit は、パフォーマンス向上とソフトウェア構成についての構成変更には使用できません。 |
smsupgrade コマンドを実行すると、その一環として Solaris Security Toolkit ソフトウェアのバージョン 4.1.1 が SMS zip ファイルの一部として含められ、システムコントローラ上にインストールされます。Solaris Security Toolkit のインストールについて述べた情報メッセージが表示されます。このメッセージでは、ほかのセキュリティーソフトウェアのインストール作業と、システムコントローラの強化に対応した Solaris OS の変更を実装する作業を自動化するために Solaris Security Toolkit ソフトウェアを使用するように推奨しています。
古いバージョンの Solaris Security Toolkit が SC にすでにインストールされている場合は、SMS パッケージをインストールする前に smsupgrade が終了し、Solaris Security Toolkit に関連したカスタマイズがあれば、smsupgrade の再起動前にそれらを保存して古い Solaris Security Toolkit パッケージを削除するかどうかを確認するメッセージが表示されます。
ユーザーは、Solaris Security Toolkit を使用してシステムのサービスとデーモンの一部を無効にする必要があると判断する場合があります。また、Solaris Security Toolkit で使用できるスクリプトが無効になっている場合にそれらを有効にする場合もあります。
SC 上で各種のその他のサービスを有効にして強化をカスタマイズする方法については、『Solaris Security Toolkit 管理マニュアル』の第 7 章を参照してください。有効な状態に維持する必要があるサービスがあるが、Solaris Security Toolkit によってそれらが自動的に無効にされるという場合は、そのデフォルトを無効にすることができます。
このツールキットによって特定のサービスが無効に設定されるのを防ぐには、ドライバ内の該当する終了スクリプトの呼び出しをコメントにします。たとえば、使用している環境でネットワークファイルシステム (NFS) ベースのサービスが必要な場合には、それらを有効なままに維持できます。sunfire_15k_domain-hardening.driver スクリプトのコピー内で、disable-nfs-server.fin スクリプトと disable-rpc.fin スクリプトの前に # 記号を付け、これらをコメントにします。
Solaris Security Toolkit によるドライバスクリプトの編集と作成の詳細は、Solaris Security Toolkit のマニュアルを参照してください。
注 - 各スクリプトが実行するアクションについては、Solaris Security Toolkit のマニュアルで説明しています。 |
注 - この節で行うインストール作業と変更作業の間、SC に対する暗号化されていないアクセスメカニズム (Telnet や FTP など) はすべて無効になります。強化作業では、SC シリアルポートを介したコンソールシリアルアクセスは無効になりません。 |
システムコントローラに変更を加える場合は、Solaris Security Toolkit に含まれるファイルを変更する必要があります。次に、これらのオプションの一部を使用する手順を示します。
I1 トラフィックを無効にする (ドメインの除外) |
ドメインを除外するには、I1 ネットワーク構成から除外されるようにドメインネットワークインタフェースの構成を解除し、続いて mand デーモンを起動します。
注 - 旧 SMS 1.5 バージョンでは、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 |
ftp または telnet を有効にする |
注 - 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 の実行を解除する |
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© 2005, Sun Microsystems, Inc. All rights reserved.