Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11g リリース2 (11.1.2.3) for All Platforms E61950-08 |
|
![]() 前 |
![]() 次 |
サービス拒否攻撃(DoS攻撃)または分散型サービス拒否攻撃(DDoS攻撃)は、コンピュータのリソースを対象ユーザーが利用できないようにする試みです。よくある1つの攻撃方法では、標的となるマシンを外部からの通信要求で溢れさせてしまいます。これにより、攻撃を受けたマシンは正規のトラフィックに応答できなくなるか、あるいは応答が遅くなり、事実上利用不可能になってしまいます。
サービス拒否攻撃は認証済リクエストと非認証リクエストに分類され、さらに次のように分類されます。
NAPリクエスト
HTTPリクエスト
認証済NAPリクエスト
認証済NAPリクエストの場合、OAMサーバーはセッション内でカウンタを使用して、再試行数を制限します。それでもユーザーはエラー・ページにリダイレクトされた後に、同じことを繰り返すことがあります。これによりサーバー・リソースが不必要に消費されて、OAMサーバーが過負荷状態になる可能性があります。
ノート:
OAMサーバーが認証済NAPリクエストで過負荷になるのを防ぐため、関連するWebLogic過負荷構成設定を使用します。これにより、サーバーは負荷でクラッシュしないようになります。しかし、これでは正当なユーザーが悪意のあるユーザーと区別されません。
認証済HTTPリクエスト
大量のHTTP認証済リクエストに対しては、WebLogic過負荷構成をmod_securityモジュール設定と組み合せることによって対処できます。
非認証NAPリクエスト
非認証NAPリクエストは、WebLogic MDBプール制限によって対処します。これにより、OAMサーバーに転送されるNAPリクエスト数が制限されます。
繰り返しますが、これでは正当なユーザーが悪意のあるユーザーと区別されません。
非認証HTTPリクエスト
OAMサーバーのフロントエンドとなるOHSサーバーにmod_securityモジュールを構成することにより、悪意のあるリクエスト(非認証HTTPリクエスト)を拒否できます。
詳細は、次を参照してください。
OAMサーバーに対するリクエスト数が処理可能な量を予想外に上回ると、OAMサーバーはクラッシュすることがあります。
OAMサーバーに対するリクエストの数を制限するには:
WebLogicコンソールで、Message Driven Beanプールを使用してOAMサーバーに対するNAPリクエスト数を制限します。
MDBeanはNAPリクエストをサーバー・キューから取り出して、サーバーへ処理のために送ります。MDBeanインスタンスの数を制限することにより、任意の時点に処理されるリクエスト数が制限されます。
WebLogicコンソールで、(OAMサーバーに対するリクエスト数を制限するために)使用できるWebLogicワーカー・スレッドの数を構成します。
MDBeanはNAPリクエストをサーバー・キューから取り出して、サーバーへ処理のために送ります。MDBeanインスタンスの数を制限することにより、任意の時点に処理されるリクエスト数が制限されます。
WebLogicコンソールで、(OAMサーバーに対するリクエスト数を制限するために)使用できるWebLogicワーカー・スレッドの数を構成します。
『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』のスレッド管理に関するトピックを参照してください。
WebLogicコンソールで、『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』の次のトピックに従い、最大着信リクエスト・サイズ、完了メッセージ・タイムアウトを指定し、ファイル記述子の数を設定して、パフォーマンスを最適化します。
メッセージ・サイズのチューニング
完了メッセージ・タイムアウトのチューニング
ファイル記述子数のチューニング
WebgateがOAMサーバーに認証リクエストを送信する場合を考えます。資格証明が正常に収集および検証された後で、OAMサーバーはセッションおよび関連Cookie (OAM_ID、ObSSOCookie)を作成します。ところがネットワーク遅延のために、OAMサーバーがそれをWebgateへ送信し、それによりWebgateが認証リクエストをOAMサーバーへ再送信する時間により、レスポンスはタイムアウトしてしまいます。OAMサーバーはセッションを認識し、それからObSSOCookieを再作成して、レスポンスをエージェントへ送信します。ネットワーク遅延がまだ続いていると、このサイクルはサーバーとWebgateの間で無限に繰り返します。ユーザーは再度ログインするように求められことがなく、エラー・メッセージも表示されません。
関連項目:
『パフォーマンスおよびチューニング・ガイド』の「ネットワーク待機時間の制御」。
ModSecurityは、既存のApacheベースのWebサーバー・インフラストラクチャの一部分としてデプロイできるWebアプリケーション・ファイアウォール(WAF)です。このモジュールを、OAMサーバーのフロントエンドとなるOHSサーバーにプラグインできます。こうすると、Mod_securityモジュールがOAMサーバーをサービス拒否攻撃から守ります。
柔軟なルール・エンジンがModSecurityの中心になります。HTTPトランザクション・データと連携する特殊なプログラミング言語である、ModSecurityルール言語を実装しています。新しい構成ディレクティブはhttpd-guardianスクリプトを使用して、サービス拒否(DoS)攻撃をモニターします。デフォルトでは、httpd-guardianは1分間で120個以上、または5分間で360個以上のリクエストを送信するクライアントから防御します。
関連項目:
http://www.modsecurity.org/documentation/modsecurity-apache/2.5.12/html-multipage/configuration-directives.html#N10689
大量のHTTPリクエストから防御する手順
mod_securityモジュールを、OAMサーバーのフロントエンドとなるOHSサーバーに追加します。
OHSサーバーの構成で、サービス拒否(DoS)攻撃をモニターするhttpd-guardianスクリプトを使用するよう構成ディレクティブを設定します。
構文:
SecGuardianLog |/path/to/httpd-guardian
次に例を示します。
SecGuardianLog |/usr/local/apache/bin/httpd-guardian