サービス拒否 (DoS) 攻撃とは、サーバーの悪意のあるユーザーが故意に、正当なユーザーのサービス利用を妨害しようとすることです。そのような攻撃は、次の操作によって実現されます。
ある特定の Web リソースに対する要求を、サーバーに継続的に送信する
Web Server は、要求の発生頻度が非常に高い場合に、頻繁にアクセスされる URI を監視して要求を拒否することにより、DoS 攻撃を検出できます。
次の各節では、仮想サーバーレベルで DoS 攻撃を防ぐ方法について説明します。
今回、サーバーを調整することでサービス拒否攻撃を防止できるようになりました。具体的には、要求の制限を構成し、仮想サーバーごとの最大接続数を監視します。これらの値のいくつかを構成すると、サーバーのパフォーマンスに影響が及ぶ可能性があります。
サーバーの要求の制限を構成するには、「構成」>「仮想サーバー」>「サーバー設定」>「要求の制限」をクリックします。次の表に記載したパラメータを構成します。
表 7–4 要求の制限の構成
パラメータ |
説明 |
---|---|
要求の制限 |
この仮想サーバーで要求の制限を有効化/無効化します。要求の制限オプションはデフォルトで無効になっています。 |
最大接続数 |
この仮想サーバーで許可する最大同時接続数。 |
最大 RPS |
1 クライアントに許可される 1 秒あたりの最大要求数。 |
RPS 計算間隔 |
秒あたりの平均要求数 (RPS) が計算される時間間隔。デフォルト値は 30 秒です。 |
継続条件 |
ブロックされた要求タイプが再度サービスを受けられるようになるために満たす必要のある条件を決定します。 サイレンス — サービスが再開するには、拒否された要求の数が後続の期間内でゼロまで落ちる必要があります。 しきい値 — サービスが再開するには、拒否された要求の発生頻度が低下して RPS のしきい値を下回る必要があります。 デフォルト値は「しきい値」です。 |
エラーコード |
ブロックされた要求に使用する HTTP 状態コード。デフォルトのコードは、HTTP 503 (サービス利用不可) です。 |
属性の監視 |
省略可能な監視対象の要求属性。 |
CLI の使用
CLI 経由でサーバーへの要求を制限するには、次のコマンドを実行します。
wadm> enable-request-limits --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 |
CLI リファレンスの enable-request-limits(1) を参照してください。
最大同時接続数を制限できます。処理中の要求が少なくとも指定された数だけ存在している状態で、一致する要求が受信されると、その要求は拒否されます。要求が拒否されるのはその特定の期間内だけである点に注意してください。同時要求数が低下してこの制限を下回るようになると、新しい要求が処理されます。