表 2-1 WebLogic Server ホストのセキュリティ
セキュリティ アクション
|
説明
|
ハードウェアを物理的に保護する
|
権限のないユーザが、デプロイメント マシンまたはそのネットワーク接続を変更できないように、ハードウェアを安全な場所に置く。
|
オペレーティング システムが提供するネットワーク サービスを保護する
|
悪意のある攻撃者がオペレーティング システムにアクセスしたり、システム レベルのコマンドを実行することがないように、電子メール プログラムまたはディレクトリ サービスなどのネットワーク サービスについて専門家に確認してもらう。
ファイル システムを企業ネットワーク内の他のマシンと共有することを避ける。
|
不正アクセスを防ぐことのできるファイル システムを使用する
|
各 WebLogic Server ホスト上のファイル システムで、保護されているリソースへの不正アクセスが防止されていることを確認する。たとえば、Windows コンピュータでは、NTFS のみを使用する。
|
ホスト マシンのユーザ アカウント数を制限する
|
WebLogic Server ホストに必要以上のユーザ アカウントを作成せず、各アカウントに付与するファイル アクセス特権を制限する。ホスト マシンにシステム管理者特権を持つユーザ アカウントを 2 つ、WebLogic Server を実行する特権を持つユーザ アカウントを 1 つ作成するのが理想的。
アクティブなユーザ アカウントを定期的に再検討する。退職者があった場合にも見直す。
Background Information: WebLogic Server コンフィグレーション データの一部と Java Server Pages (JSP) および HTML ページを含む URL (Web) リソースの一部は、ファイル システム上にクリア テキストで保存される。ファイルおよびディレクトリへの読み込み特権を持つユーザまたは侵入者が、WebLogic Server の認証計画および認可計画で確立するセキュリティ メカニズムを破る可能性がある。
|
システム管理者特権を持つユーザ アカウントを少なくとも 2 つ作成する
|
システム管理者ユーザ アカウントの 1 つは、ドメインの作成時に作成される。それ以外のユーザ アカウントを作成する。
少なくとも 2 つのシステム管理者ユーザ アカウントを作成することにより、辞書攻撃によって一方のユーザがロックアウトされた場合でも、もう一方のユーザがアカウント アクセスを保持できる。
|
システム管理者ユーザ アカウントの名前は、簡単に推測されないものにする
|
安全性を高めるために、「system」、「admin」、「administrator」などのすぐに分かるような名前をシステム管理者ユーザ アカウントに使用することは避ける。
|
パスワードを保護する
|
プロダクション マシンのユーザ アカウントのパスワードは、推測が難しいものに設定し、注意して守る必要がある。
パスワードの有効期限が定期的に切れるように、ポリシーを設定する。
クライアント アプリケーションでパスワードをコーディングすることは避ける。
|
各ホスト コンピュータで、1 つのユーザ アカウントにのみ WebLogic リソースへのアクセス権を付与する
|
各 WebLogic Server ホスト コンピュータでは、オペレーティング システムを使用して、WebLogic Server の実行用に特別なユーザ アカウント (wls_owner など) を設定する。
このオペレーティング システム (operating-system: OS) のユーザ アカウントには、以下の特権を付与する。
BEA ホーム ディレクトリとは共通ファイル用のリポジトリのことで、同じマシンにインストールされる複数の BEA Products が使用する。WebLogic Server 製品インストール ディレクトリには、プログラム ファイルを含む、システムにインストールする WebLogic Server ソフトウェア コンポーネントがすべて含まれる。ドメイン ディレクトリには、コンフィグレーション ファイル、セキュリティ ファイル、ログ ファイル、J2EE アプリケーション、および単一の WebLogic ドメイン用のその他の J2EE リソースが含まれる。WebLogic Server ホスト コンピュータに複数のドメインをインストールする場合、各ドメイン ディレクトリを保護する必要がある。
デフォルトでは、BEA インストール プログラムはすべての BEA ファイルとドメイン ディレクトリを単一のディレクトリ ツリーに格納する。このツリーの最上位ディレクトリの名前は bea である。WebLogic Server ファイルはすべてこのディレクトリ ツリーのサブディレクトリ (bea\weblogic810 ) に入り、ドメイン ファイルは別のサブディレクトリ (bea\user_projects\domains\ domain1 、bea\user_projects\domains\ domain2 、...) に入る。
ただし、WebLogic Server 製品インストール ディレクトリおよびドメイン ディレクトリを BEA ホーム ディレクトリの外部に配置することもできる。詳細については、『インストール ガイド』の「WebLogic Platform インストールのためのディレクトリの選択」を参照してください。
その他の OS ユーザには、BEA ファイルおよびドメイン ファイルへの読み込み特権、書き込み特権、または実行特権を付与しない。
これにより、WebLogic Server と同じマシンで実行されている他のアプリケーションの BEA ファイルおよびドメイン ファイルへのアクセスが制限される。このように保護しないと、その他のアプリケーションの一部は書き込み特権を得て、動的コンテンツを提供する JSP およびその他のファイルに悪意のある実行コードを挿入する可能性がある。そのファイルが次にクライアントに提供されると、挿入されたコードが実行される。
|
特別な OS ユーザ アカウント下で WebLogic Server の Windows サービスを実行する
|
Windows プラットフォーム上で、WebLogic Server インスタンスを Windows サービスとして実行できる。これにより、サーバ インスタンスは Windows コンピュータを起動するたびに自動的に起動するようになる。
WebLobic Server インスタンスを Windows サービスとして実行するように設定するには、Windows レジストリを修正する特権を持つユーザ アカウントで Windows コンピュータにログインする必要がある。詳細については、『WebLogic Server のコンフィグレーションと管理』の「WebLogic Server インスタンスの Windows サービスとしての設定」を参照。
WebLogic Server インスタンスを Windows サービスとして実行するのに、これらの管理者レベルの特権は不要である。その代わり、Windows サービスは WebLogic Server を実行するために作成した特別な OS ユーザ アカウント下で実行する必要がある。
WebLogic Server インスタンスが確実に特別な OS ユーザ アカウント下で実行されるように、Windows サービスの [プロパティ] ページでユーザ名とパスワードを指定する。詳細については、『WebLogic Server のコンフィグレーションと管理』の「サービスが実行されるユーザ アカウントの検証」を参照。
|
UNIX 上で保護されているポートにバインドするには、ユーザ ID を切り替える、またはネットワーク アドレス変換 (NAT) ソフトウェアを使用するよう、WebLogic Server をコンフィグレーションする
|
UNIX システムでは、特権を付与されたユーザ アカウント (大概の場合は root) 下で実行されるプロセスのみが、1024 未満のポートにバインドできる。
ただし、WebLogic Server のような長期にわたって実行されるプロセスは、これらの特権を付与されたアカウント下で実行してはならない。その代わり、以下の処理のいずれかを行うことができる。
サーバ インスタンスの起動にノード マネージャを使用する場合は、セキュア ポート上でのみ、また単一の既知のホストのみから、リクエストを受け入れるようにノード マネージャをコンフィグレーションする。
Administration Console オンライン ヘルプの「UNIX での保護されたポートへのバインド」を参照。
|
プロダクション マシンで開発しない
|
まず開発マシンで開発し、開発が終わりテストが終了したら、コードをプロダクション マシンに移行する。これにより、開発環境でのバグが、プロダクション環境のセキュリティに影響を及ぼすことを防止できる。
|
開発ソフトウェアおよびサンプル ソフトウェアをプロダクション マシンにインストールしない
|
プロダクション マシンに開発ツールをインストールしない。開発ツールをプロダクション マシンにインストールしないことにより、侵入者が WebLogic Server プロダクション マシンに部分的にアクセスできても、影響を減らすことができる。
プロダクション マシンに、WebLogic Server のサンプル アプリケーションをインストールしない。BEA インストール プログラム上で、標準インストールにするかカスタム インストールにするかを尋ねられた場合は、以下の操作を実行する。
1. [カスタム インストール] を選択する。[次へ] をクリックする。
2. [コンポーネントを選択] ページで、[Server Examples] チェック ボックスからチェック マークをはずす。[次へ] をクリックする。
BEA インストール プログラムの残りのページの操作を完了する。
|
セキュリティ監査を有効にする
|
WebLogic Server が動作するオペレーティング システムが、ファイルおよびディレクトリ アクセスのセキュリティ監査をサポートする場合は、監査ログを使用して、拒否されたディレクトリまたはファイル アクセス違反をトラッキングすることを推奨する。管理者は、監査ログ用に十分なディスク スペースを確保する必要がある。
|
オペレーティング システムを保護する追加ソフトウェアの使用を検討する
|
多くのオペレーティング システムでは、プロダクション環境を保護するために、追加ソフトウェアを実行することができる。たとえば、侵入検知システム (Intrusion Detection System: IDS) を使用すると、プロダクション環境を変更しようとしたときに、検出できる。
使用可能なソフトウェアの情報については、使用しているオペレーティング システムのベンダに問い合わせる。
|
オペレーティング システムのサービス パックおよびセキュリティ パッチを適用する
|
推奨されているサービス パックおよびセキュリティ関連のパッチのリストについては、オペレーティング システムのベンダに問い合わせる。
|
最新の BEA のサービス パックを適用し、最新のセキュリティ勧告を実装する
|
サイトのセキュリティ問題を担当されている方は、新しいセキュリティ勧告についての通知を受け取るために、http://dev2dev.bea.com/advisories の「BEA Advisories & Notifications」ページで登録すること。
セキュリティ勧告で推奨されている対策は、「Advisories & Notifications」ページに掲載される。
また、各サービス パックがリリースされたら適用すること。サービス パックには、製品の各バージョンおよび以前にリリースされた各サービス パックのすべてのバグの修正が含まれている。サービス パックは、http://commerce.bea.com/downloads からダウンロードできる。
BEA Products でセキュリティ問題が発生した場合は secalert@bea.com に報告すること。
|
プロダクション環境で開発モードの WebLogic Server を実行しない
|
プロダクション モードでは、プロダクション環境向けにより適切でセキュアな設定で実行されるようにサーバを設定する。
|
Java Transaction API (JTA) トランザクション ログを保護する
|
「トランザクションのモニタ」で説明しているように、トランザクション ログは複数のファイルで構成されている。これらのファイルは、改ざんされないようにオペレーティング システム固有の方法を用いて保護する必要がある。改ざんされた場合、トランザクションの回復が行えなくなる可能性がある。
JTA の移行を行うには、同じクラスタに属するすべてのサーバに、トランザクション ログ ファイルに対する書き込み、削除、および読み込みのパーミッションが必要になるが、別のドメインまたはクラスタに属するユーザによるアクセスは禁止する必要がある。
|