Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3セキュリティの管理 12c (12.1.3) E57576-07 |
|
前 |
次 |
この章では、WebLogic Server 12.1.3環境でセキュリティを構成する方法の主な手順を要約しています。その環境で稼働するWebLogicドメインの作成前、作成中、作成後それぞれのタスクを中心に説明しています。
この章の内容は次のとおりです。
「秘密鍵、デジタル証明書、信頼性のある認証局からの証明書の取得」を参照してください。
「秘密鍵、デジタル証明書、信頼性のある認証局からの証明書の格納」を参照してください。
本番環境で保護する必要があるWebLogic Serverのすべてのコンポーネントと、WebLogic Serverホスト、WebLogicセキュリティ・サービス、WebLogic Serverで使用されるファイルとデータベースを保護するために推奨される特定のタスクを含む完全なチェックリストは、『Oracle WebLogic Server本番環境の保護』を参照してください。
WebLogic Serverを本番環境にインストールする場合、次の項で説明するガイドラインを強くお薦めします。
WebLogic Serverのインストール・プログラムを開始する前に、次のタスクを実行します。
My Oracle Supportアカウントを作成し、WebLogic Serverインストールをオラクル社に登録して、セキュリティの更新を自動的に受け取れるようにします。詳細は、http://www.oracle.com/support/index.html
にアクセスしてください。
認可されたユーザーのみにアクセス権を制限して、ホスト・マシン、オペレーティング・システムおよびファイル・システムを保護します。例:
認可されていないオペレーティング・システム・ユーザーが、マシンおよびネットワーク接続を使用できないように、ハードウェアを安全な場所に設置します。
最新のオペレーティング・システム・パッチとセキュリティ更新をホスト・マシンに必ず適用します。
注意: 新しいパッチが入手できるようになったら、すぐにダウンロードしてインストールする必要があります。 |
オペレーティング・システムで提供されるネットワーク・サービスとファイル・システムを保護して、認可されないアクセスを防ぎます。たとえば、すべてのファイル・システム共有を保護するようにします。
オペレーティング・システムのファイル・アクセス権限を設定して、WebLogic Serverによって使用または管理されるディスクに格納されているデータ(セキュリティLDAPデータベースや、キーストアが作成されて管理されるディレクトリなど)へのアクセスを制限します。
ホスト・マシンのユーザー・アカウント数を制限します。グループを作成しして、次のユーザー・アカウントのみを含めます。
WebLogic Serverをインストールするユーザーのみ
WebLogicドメインを作成し、ノード・マネージャを使用して、管理サーバーと各管理対象サーバー・インスタンスをドメインで起動するユーザー
これらのユーザー・アカウントの権限を次のディレクトリのみに制限します。
Oracleホーム — ホスト・コンピュータ上のすべてのOracle Fusion Middleware製品に対して作成されるルート・ディレクトリ
WebLogicホーム — WebLogic Serverインストールのルート・ディレクトリ
ドメイン・ホーム — WebLogicドメインのルート・ディレクトリ
注意: 一部のプロセスは、デフォルトではUnixプラットフォームの/tmp のような一時ディレクトリへのアクセス権が必要です。ユーザー・アカウントの権限がOracleホーム、WebLogicホームおよびWebLogicドメイン・ディレクトリのみに制限される場合、ユーザーは自らがアクセス権を持つディレクトリを指すように環境変数(TEMP またはTMP など)を変更する必要があります。 |
ホスト・マシンのすべてのWebサーバーが、権限のないユーザーとしてのみ実行するようにします。決してroot
として実行してはなりません。CERT Coordination Center (http://www.cert.org/
)の「Security Practices & Evaluations」の情報も参照してください。
ソフトウェア開発ツールまたはサンプル・ソフトウェアがインストールされていないことを確認します。
評価の高い侵入検知システム(IDS)など、オペレーティング・システムを保護する追加ソフトウェアの使用を検討します。
詳細は、『Oracle WebLogic Server本番環境の保護』のWebLogic Serverホストの保護に関する項を参照してください。
インストール中には次に注意してください。
サンプル・アプリケーション・コンポーネントをインストールしないでください。
セキュリティ更新の指定インストーラ画面で、「セキュリティ・アップデートをMy Oracle Support経由で受け取る」を選択します。
詳細は、『Oracle WebLogic Server本番環境の保護』のセキュリティ資料の参照に関する項とセキュアな方法でのWebLogic Serverのインストールに関する項を参照してください。
Derby DBMSデータベースを削除します。WebLogic Serverにバンドルされているこのデータベースは、サンプル・アプリケーションやサンプル・コードでデモンストレーション・データベースとして使用されます。Derby DBMSはWL_HOME
/common/derby
ディレクトリにあります。
次のサイトの「重要なパッチ更新およびセキュリティ・アラート」ページにアクセスして、WebLogic Serverのセキュリティの注意事項を確認します。
http://www.oracle.com/technetwork/topics/security/alerts-086861.html
本番環境で使用するためにWebLogicドメインを構成する際に、構成ウィザードなどのツール、pack
/unpack
コマンドまたはWLSTを使用するときは、次のようにします。
ドメインが本番モードで実行するように構成します。セキュリティおよびロギングに関するデフォルトの設定は、ドメイン・モードにより決定されます。本番モードでは、アプリケーションのデプロイおよび管理サーバーの起動にはユーザー名とパスワードが必要になるなど、セキュリティ構成が比較的厳しくなっています。
完全なWebLogicドメインまたはリモート・マシン上の管理対象サーバー・ドメイン・ディレクトリで使用されるドメインのサブセットを、unpack
コマンドを使用して作成している場合は、-server_start_mode=prod
パラメータを使用して本番モードを構成します。
ドメインのモードを開発から本番または本番から開発に変更できることに注意してください。ただし、セキュリティ要件が厳しい本番環境では、(開発モードのドメインを本番モードに変更するのではなく)ドメインの作成時に本番ドメイン・モードを設定することをお薦めします。
詳細は、『Oracle WebLogic Serverドメイン構成の理解』の開発モードおよび本番モードに関する項を参照してください。
ドメインが他のWebLogicドメインと相互運用する場合、または将来にその予定がある場合は、注意してリソース名を選択します。多くのリソース名はドメインの作成時に確定されます。クロス・ドメイン・セキュリティ、トランザクションおよびメッセージングを使用するときは、リソース名に厳しい要件を適用する必要があります。
詳細は、『Oracle WebLogic Server JTAアプリケーションの開発』のトランザクション通信の要件に関する項を参照してください。
WLSTを使用してドメインを作成するとき、次のようなパスワードが必要なエンティティを構成するために、暗号化されていないパスワードをコマンドに入力しないでください。
ドメイン管理者
ノード・マネージャ・ユーザー
データベース・ユーザー
JKSキーストア(キーストアの作成時とWebLogic Serverでのキーストアの構成時)
ウォレット
WLSTコマンドで暗号化されていないパスワードを指定するのはセキュリティ・リスクです。その他のユーザーがモニター画面から簡単に見ることができます。また、それらのコマンドの実行をログするプロセスのリストにそのパスワードが表示されます。したがって、コマンドにはパスワードを指定しないでください。コマンドが実行されるとき、ドメインの構成を完了するために必要なパスワードがあれば、WLSTによって自動的にプロンプトが表示されます。
ドメインを作成して開始したら、次のタスクを実行してドメインのセキュリティを最適化します。
パスワード検証プロバイダを構成して、パスワード作成ルールを管理および適用します。パスワード検証プロバイダは、いくつかのWebLogic認証プロバイダで作動するように構成されています。
詳細は、第18章「パスワード検証プロバイダの構成」を参照してください。
セキュリティ・レルムにユーザーを作成または追加するときに、ユーザー・アカウントで「ユーザーのロックアウト」オプションの保護が最大に設定されていることを確認します。「ユーザーのロックアウト」の構成はレルム単位で定義されることに注意してください。したがって、デフォルトの「ユーザーのロックアウト」設定がニーズに合わない場合、新しいセキュリティ・レルムを作成するたびに設定のカスタマイズが必要になることがあります。
詳細は、「ユーザー・アカウントの保護」および「WebLogic Serverでのパスワードの保護の仕組み」を参照してください。
管理サーバーと、複数のマシンに分散する管理対象サーバー・インスタンスの開始、停止および再起動を行うようにノード・マネージャを構成した場合、ノード・マネージャのセキュリティを適切に構成してください。
Javaノード・マネージャ(本番環境で推奨)を使用している場合は、『Oracle WebLogic Serverノード・マネージャの管理』のJavaベースのノード・マネージャ・セキュリティの構成に関する項を参照してください。
セキュリティ要件がそれほど厳しくない環境に適したスクリプト・ノード・マネージャを使用している場合は、『Oracle WebLogic Serverノード・マネージャの管理』の手順2のノード・マネージャ・セキュリティの構成に関する項を参照してください。
監査を有効にします。こうすると、システムで発生するイベントやその他のアクティビティに関する情報を自動的に収集して格納できます。監査には次のいずれかの方法があります。
構成監査 - 有効になっている場合、構成管理サーバーが、ユーザーがドメイン内のリソースの構成を変更したときやドメイン内のリソースの管理操作を呼び出したときに、ログ・メッセージの送信と監査イベントの生成を行います。
WebLogic監査プロバイダ - リクエストの操作とそれらのリクエストの結果に関する情報を、否認防止を目的として収集、格納、および配布するオプションのセキュリティ・プロバイダ。構成監査が有効になっているとき、WebLogic監査プロバイダも構成監査イベントをロギングします。
監査によってパフォーマンス・オーバーヘッドが発生する可能性があるため、その考慮も必要です。ただし、監査の構成を調整すると、このようなオーバーヘッドを最小限に抑えることができます。監査を有効にするときは、監査ログに使用できる十分なディスク領域があることを確認します。詳細は、第8章「WebLogic監査プロバイダの構成」を参照してください。
JVMプラットフォームMBeanサーバーにリモートからアクセスできないようにしてください。詳細は、http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html
の「Monitoring and Management Using JMX Technology」を参照してください。
Federal Information Processing Standards (FIPS) 140-2に準拠する要件がある場合は、第37章「FIPSモードの有効化」に説明されている該当の手順を実行します。
完了メッセージ・タイムアウトの構成設定がシステムに適していることを確認します。詳細は、『Oracle WebLogic Serverサーバー環境の管理』のネットワーク・リソースの構成に関する項を参照してください。
IDと信頼を保持するために使用されるキーストアを作成して構成します。つまり、ID証明書を含むキーストアと信頼性のある認証局(CA)証明書を含むキーストアです。第30章「キーストアの構成」を参照してください。
WebLogic Serverに対してOracle OPSSキーストア・サービス(KSS)を使用している場合、第31章「Oracle OPSSキーストア・サービスの構成」を参照してください。
次の項目を確認するように、証明書の検証と失効チェックを構成します。
証明書チェーンの各証明書が認証局によって発行されていること。第35章「SSL証明書の検証」を参照してください。
WebLogic Serverが検証する各証明書の失効ステータスが最新であること。第40章「X.509証明書失効チェック」を参照してください。
ホスト名検証を構成します。SSL接続を行うとき、ホスト名検証が、クライアントの接続先URLのホスト名と、サーバーが返送するデジタル証明書のホスト名が一致していることを確認します。詳細は、第32章「ホスト名検証の使い方」を参照してください。
管理ポート、ネットワーク・チャネル、データベース接続、LDAPサーバー接続、保護する必要がある通信を処理するその他のリソースについて、SSLを構成します。特に、ドメインのリモート・サーバー・インスタンスへの接続は必ずSSLで保護してください。どのコンポーネントで一方向または双方向SSLを構成する必要があるかは、本番環境の全体的なトポロジーによって異なります。詳細は、次のトピックを参照してください:
表4-1 SSL構成に関するトピック
項目 | 参照先 |
---|---|
基本のWebLogicドメインで通信を保護するためのSSL使用方法の概要 |
『Oracle WebLogic Serverセキュリティの理解』のSecure Sockets Layer (SSL)に関する項 |
基本のWebLogicドメインで一方向SSLを使用する状況と双方向SSLを使用する状況 |
『Oracle WebLogic Serverセキュリティの理解』の一方向/双方向SSL認証に関する項 |
基本のWebLogicドメインでSSLを構成する手順 |
|
ドメイン管理サーバーとのセキュアな通信のための管理ポートの構成 |
『Oracle WebLogic Serverサーバー環境の管理』の管理ポートと管理チャネルに関する項 |
データベース通信の保護 |
『Oracle WebLogic Server JDBCデータ・ソースの管理』のデータ・ソース・セキュリティの理解に関する項 |
Web層、中間層およびデータ層でコンポーネントを保護するためのOracle Fusion MiddlewareでのSSLの使用方法の概要 |
『Oracle Fusion Middlewareの管理』のOracle Fusion MiddlewareでのSSLに関する項 |
WebLogic ServerでのSSL構成のベスト・プラクティス |
「セクション2. セキュリティのベスト・プラクティス」、ドキュメントID 1074055.1、My Oracle Support ( |
注意: 次の点に注意してください。
|
サービス拒否攻撃を防ぐために、外部チャネルに対してリクエストのサイズおよび時間を制限します。詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』のサービス拒否攻撃の可能性の軽減に関する項を参照してください。
複数の認証プロバイダを使用する場合は、JAAS制御フラグを適切に設定します。詳細は、「複数の認証プロバイダの使用」を参照してください。
デフォルトのWebLogic Serverセキュリティ・ロールにユーザーおよびグループを正しく割り当てたことを確認します。詳細は、『Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』のユーザー、グループおよびセキュリティ・ロールに関する項を参照してください。
WebLogic Server環境用の秘密鍵、デジタル証明書、信頼性のあるCA証明書を取得するための選択肢は複数あります。選択の際には、次の検討事項に注意してください。
本番環境の場合、EntrustやSymantec Corporationなどの信頼できる認証局からのみ秘密鍵やデジタル証明書を取得することを強くお薦めします。詳細は、「本番環境のための証明書の取得と格納」を参照してください。
WebLogic Serverで提供されるデジタル証明書、秘密鍵、信頼性のあるCA証明書を使用できるのは開発環境のみです。keytoolまたはCertGenユーティリティを使用して、自己署名証明書を生成することもできます。詳細は、「開発環境でのキーストアと証明書の使用」を参照してください。
秘密鍵、デジタル証明書、および信頼できるCA証明書を取得した後は、それらを格納し、WebLogic Serverでそれらを使用してIDを検索および確認できるようにする必要があります。秘密鍵、秘密鍵に関連付けられたデジタル証明書、および信頼できるCA証明書は、キーストアに格納されます。続いて、WebLogic Serverで当該キーストアを構成する必要があります。
項目 | 参照先 |
---|---|
キーストアの作成 | キーストアの作成 |
WebLogic Serverで使用されるキーストアの構成 | 「WebLogic Serverでのキーストアの構成」 |
キーストアを作成して鍵と証明書をその中に保存するためのkeytoolユーティリティの使用手順の例 | キーストアの作成: サンプル |
キーストアに含まれる証明書の表示 | キーストアの内容の表示 |
まもなく期限切れになる証明書の更新 | 期限切れになる証明書の置換 |
WebLogic Serverには、ユーザー・アカウントを侵入者から保護するための構成オプションが定義されています。デフォルト・セキュリティ構成では、これらのオプションは最高の保護レベルに設定されています。WebLogic Server管理コンソールで、「構成」→「ユーザーのロックアウト」ページ(セキュリティ・レルムごとにある)を使用してこれらのオプションを変更できます。
システム管理者は、すべての構成オプションを無効にしたり、ユーザー・アカウントがロックされるまでのログイン試行回数を増やしたり、ユーザー・アカウントがロックされるまでの無効なログイン試行期間を延ばしたり、ユーザー・アカウントのロック時間を変更したりできます。これらの構成オプションを変更すると、セキュリティ・レベルが低下して攻撃を受けやすくなることに注意してください。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザー・ロックアウト属性の設定に関する項を参照してください。
注意: 「ユーザーのロックアウト」オプションは、デフォルト・セキュリティ・レルムとそのすべてのセキュリティ・プロバイダに適用されます。「ユーザーのロックアウト」は、すべてのセキュリティ・レルムで作動します。構成されているすべてのプロバイダ(カスタム・プロバイダも含む)に対応し、デフォルトで有効になっています。独自のメカニズムでユーザー・アカウントを保護する認証プロバイダを使用する場合、セキュリティ・レルムでの「ユーザーのロックアウト」を無効にしても問題ないかどうかを検討してください。他の認証プロバイダがセキュリティ・レルムで構成される可能性があるためです。 ユーザー・アカウントがロックされたためそのユーザー・アカウントを削除して、同じ名前とパスワードを持つ別のユーザー・アカウントを追加しても、「ユーザーのロック・アウト」構成オプションはリセットされません。 |
ロックされたユーザー・アカウントの解除については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザー・アカウントのロック解除に関する項を参照してください。ロックされたユーザー・アカウントに対するロックの解除は、WebLogic Server管理コンソールや、UserLockoutManagerRuntimeMBean
のclearLockout
属性を介して行うことができます。
接続フィルタを使用すると、ネットワーク・レベルでアクセスを拒否できます。接続フィルタは、個々のサーバー、サーバー・クラスタ、または内部ネットワーク(イントラネット)にあるサーバー・リソースの保護に使用できます。たとえば、ユーザーの企業のネットワーク外部からの非SSL接続を拒否できます。ネットワーク接続フィルタは、プロトコル、IPアドレス、およびDNSノード名に基づいてフィルタ処理するよう構成できる点において一種のファイアウォールです。
接続フィルタは、管理ポートを使用する場合に特に便利です。ネットワーク・ファイアウォール構成によっては、接続フィルタを使用して管理アクセスをさらに制限できる場合もあります。一般的には、管理ポートへのアクセスをWebLogicドメイン内のサーバーやマシンのみに制限するために使用されることが考えられます。攻撃者がファイアウォールの内側にあるマシンにアクセスできても、それが許可されたマシンでない限り、管理操作を実行することはできません。
WebLogic Serverでは、weblogic.security.net.ConnectionFilterImpl
というデフォルトの接続フィルタが用意されています。この接続フィルタは、すべての着信接続を受け入れます。また、サーバーは、このクラスが提供する静的ファクトリ・メソッドを使うことで、現在の接続フィルタを取得できます。アクセスを拒否するようにこの接続フィルタを構成するには、WebLogic Server管理コンソールで接続フィルタ・ルールを入力してください。
また、weblogic.security.net
パッケージのクラスを実装することで、カスタム接続フィルタを使用することもできます。接続フィルタの作成の詳細は、『WebLogicセキュリティ・サービスによるアプリケーションの開発』のネットワーク接続フィルタの使用に関する項を参照してください。デフォルト接続フィルタと同じように、カスタム接続フィルタもWebLogic Server管理コンソールで構成できます。
接続フィルタを構成するには:
受信メッセージのロギングを有効にします。「接続ログを有効化」オプションを使用すると、成功した接続と接続データがサーバーの接続ログに記録されます。この情報は、サーバーの接続に関連する問題をデバッグするために使用できます。
ドメインで使用する接続フィルタを選択します。
デフォルト接続フィルタを構成するには、「接続フィルタ」にweblogic.security.net.ConnectionFilterImpl
を指定します。
カスタム接続フィルタを構成するには、ネットワーク接続フィルタを実装するクラスを「接続フィルタ」フィールドで指定します。このクラス名は、WebLogic ServerのCLASSPATH
にも指定する必要があります。
接続フィルタのルールの構文を入力します。
関連項目:
Oracle WebLogic Server管理コンソール・オンライン・ヘルプの接続フィルタの構成に関する項を参照してください。
接続フィルタのルールとカスタム接続フィルタの作成については、『WebLogicセキュリティ・サービスによるアプリケーションの開発』のネットワーク接続フィルタの使用に関する項およびカスタム接続フィルタの開発に関する項を参照してください。
WebLogic Scripting ToolまたはJava Management Extensions (JMX) APIを使用して新しいセキュリティ構成を作成することもできます。