| Apache HTTP Server の Quality-of-Service (QoS) | |
|---|---|
| 安定版リリース | 11 |
| リポジトリ | |
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| 入手可能な | 英語 |
| タイプ | Apache HTTPサーバー用モジュール |
| ライセンス | Apacheライセンス |
| Webサイト | mod-qos |
mod_qos は、異なる要求に異なる優先順位を提供できる制御メカニズムを実装する Apache HTTP サーバーのサービス品質(QoS) モジュールです。
説明
ウェブサーバーは、限られた数の同時リクエストしか処理できません。QoSは、サーバー負荷が高い場合でも重要なリソースが利用可能であることを保証するために使用されます。mod_qosは、重要度の低いリソースへのリクエストを拒否し、より重要なアプリケーションへのアクセスを許可するために使用されます。また、例えば、非常に重要なリソースや非常に重要なユーザーへのリクエストに対して、アクセス制限を無効にすることもできます。
制御メカニズムは次のレベルで利用できます。
- リクエストレベルの制御:mod_qosは、名前空間(URL)への同時リクエスト数を制御します。これは、Webサーバー内のページやアプリケーションごとに異なる優先度を定義するために使用されます。
- 接続レベルの制御:mod_qosはWebサーバーへのTCP接続数を制御し、単一のクライアントまたは未知のネットワークからの接続を制限します。これにより、仮想サーバーへの最大同時接続数を削減したり、動的なHTTPキープアライブ設定を実装したりできます。
- 帯域幅レベルの制御: Web サーバー上の特定の URL への要求/応答を制限します。
- 疑わしいリクエスト URL または HTTP ヘッダーをドロップする汎用リクエスト ラインとヘッダー フィルター。
このモジュールは、リソースを異なるWeb サーバーに分割するためにリバース プロキシで使用する場合に役立ちます。
ユースケース
遅いアプリケーション
最初のユースケースは、 mod_qos が単一のアプリケーションの応答速度低下による Web サーバーのサービス停止を回避する方法を示しています。アプリケーション (ここでは /ccc) の応答速度が非常に遅い場合、リクエストはタイムアウトが発生するまで待機します。待機リクエストが多数発生すると、Web サーバーは空き TCP 接続を使い果たし、アプリケーション /aaa または /bbb への他のリクエストを処理できなくなります。mod_qos は、他のリソースの可用性を確保するために、アプリケーションへの同時リクエスト数を制限します。
HTTPキープアライブ
HTTP 1.1のキープアライブ拡張機能は、複数のリクエスト/レスポンスに対して持続的なTCP接続を可能にします。これにより、ネットワークトラフィックが削減され最適化されるため、Webサーバーへのアクセスが高速化されます。この持続的な接続の欠点は、クライアントとサーバー間でデータが交換されていないにもかかわらず、サーバーのリソースがブロックされることです。mod_qosを使用すると、十分な接続が空いている限りサーバーはキープアライブをサポートし、定義された接続しきい値に達するとキープアライブのサポートを停止できます。
クライアントは多数の同時接続を開きます
単一のクライアントが、Webサーバーから様々なコンテンツをダウンロードするために、多数のTCP接続を同時に開くことがあります。クライアントが多数の接続を取得している間、他のユーザーは空き接続がないため、サーバーにアクセスできない場合があります。mod_qosは、単一のIP送信元アドレスに対する同時接続数を制限できます。
単一のURLへの多数のリクエスト
URLへのリクエスト数を制限する必要がある場合も、mod_qosが役立ちます。mod_qosは、このURLへの1秒あたりの最大リクエスト数を制限します。また、このモジュールは帯域幅も制御できます。最大許容帯域幅を指定するだけで、moq_qosは必要に応じて帯域幅の調整を開始します。
低帯域幅のサービス拒否攻撃を軽減する
mod_qosは、クライアントが生成しなければならない最低限のアップロード/ダウンロードスループットを強制することで、低帯域幅のDoS攻撃からApacheウェブサーバーを保護するのに役立ちます。[ 1 ]
歴史
mod_qosの最初のリリースは2007年5月に作成され、オープンソースソフトウェアプロジェクトとしてSourceForge.net [ 2 ]で公開されました。このプロジェクトは、Webサーバー上の特定のリソース(リクエストURLのパス部分)への同時HTTPリクエスト数を制限することができました。その後、さらに多くの機能が追加され、その一部はApacheサーバーをDoS攻撃から保護するのに役立ちました。[ 3 ] [ 4 ] 2012年には、mod_qosはUbuntu Linuxディストリビューション に含まれました。[ 5 ]
主なリリース: [ 6 ]
- 2007 年 5 月、バージョン 1: URL パスごとに同時要求を制限します。
- 2007 年 7 月、バージョン 2.2: サポート ユーティリティの導入。
- 2007 年 8 月、バージョン 3: 接続レベルのコントロールとステータス ビューアーが導入されました。
- 2007 年 9 月、バージョン 4: 要求/応答の調整と一般的な要求のフィルタリング。
- 2007 年 12 月、バージョン 5: ユーザー定義イベントによる制限。
- 2008 年 3 月、バージョン 6: クライアント (IP) ごとの制御メカニズム。
- 2008 年 5 月、バージョン 7: クライアントが生成する必要がある最小のアップロード/ダウンロード スループットを強制します。
- 2009 年 9 月、バージョン 9:クライアント特性測定を使用した異常検出。
- 2012 年 2 月、バージョン 10: 地理位置情報機能 (ISO 3166 国コード) を追加しました。
- 2014 年 5 月、バージョン 11: 応答スロットル (バイト/秒の制限) が大幅に改善されました。
- 2015 年 7 月、バージョン 11.15: サーバーごとだけでなく、クライアント (IP) レベルでもシリアル化されます。
- 2016 年 5 月、バージョン 11.28: DSCP IP フィールドを制御することで差別化サービスをサポートします。
参考文献
- ^ "mod_qos マニュアル" . 2012年3月13日時点のオリジナルよりアーカイブ。2012年11月29日閲覧。
- ^ "SourceForge.netのmod_qos" . 2007年5月18日. 2012年11月24日閲覧。
- ^ Marcus Spiegel (2009年7月15日). 「mod_qosでslowloris DDoSを防御する方法」 HowtoForge . 2012年11月24日閲覧。
- ^チャーリー・キューナスト (2010 年 5 月)。「システム管理者のすべてのタグ: Mod_qos gegen Slowloris」。 Linux マガジン。2012 年 11 月 24 日に取得。
- ^ 「Ubuntu用のmod_qosパッケージ」 。 2012年11月24日閲覧。
- ^ 「変更ログ」 。 2012年11月27日閲覧。
