| 安定リリース | 11
|
|---|---|
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| 利用可能 | 英語 |
| タイプ | Apache HTTP サーバー用モジュール |
| ライセンス | Apacheライセンス |
| Webサイト | mod-qos.sourceforge.net |
mod_qos は、異なる要求に異なる優先順位を提供できる制御メカニズムを実装するApache HTTP サーバー用のサービス品質(QoS) モジュールです。
説明
Web サーバーは、限られた数の同時リクエストしか処理できません。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 Webサーバーを保護するのに役立ちます。[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-05-18 . 2012-11-24閲覧。
- ^ Marcus Spiegel (2009-07-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日閲覧。
外部リンク
- 公式サイト
