同じIPアドレスからの接続数を制限したい


「mod_limitipconn」を使うことで、同一IPアドレスからの接続数を制限することが可能です。

 

mod_limitipconnとは?

当社WEBサーバーソフト「Apache(アパッチ)」で利用できるモジュールの一つです。
1つのIPアドレスからの同時コネクション数を制限する機能を持っています。
(制限を超えたクライアントには、503 Service Temporary Unavailable を応答します)

 

活用事項

以下のような事例に対して効果があります。

  • ダウンロードツールの使用
  • ブログへのコメントスパム
  • ブログへのトラックバックスパム
  • 悪意のあるサービス不能攻撃

 

例1)ゲームの体験版や動画ファイル等、サイズの大きなファイルをダウンロードさせる場合、特定のクライアントが分割ダウンロード機能を使用してコネクションを大量に消費するのを防止できます。
ファイル形式での制限が可能(たとえばexeファイルのみ制限する等)なので通常のWEB閲覧に支障が出ることはありません。

例2):短期間に同一IPからの大量のトラックバックスパム・コメントスパム行為を防ぎます。(スパム行為そのものが防げるというわけではございません。)

 

設定方法

お客様サーバーに.htaccessファイルを設置することで利用できます。

※ .htaccessファイルの設置は、まず通常のテキスト形式でアップロードいただき、アップロード後「.htaccess」にファイル名を変更します。
※ .htaccessは設置ディレクトリ以下全てにその効果が影響いたします。

 

記述コマンド

.htaccessファイルに記述する主なコマンドは下記の通りとなります。

    MaxConnPerIP 2
    MaxConnPerIPに続く数字が同時接続の制限数です。
    制限数は2以上から自由に設定が可能です。
    0=無制限となります。
    ※閲覧できない可能性がありますので、1には設定しないでください。
    OnlyIPLimit
    制限するMIME TYPE(ファイル形式)を選択できます。
    例)PNG ファイルのみ制限を掛ける場合
    OnlyIPLimit image/png
    例)オーディオ系ファイル全てに制限を掛ける場合
    OnlyIPLimit audio/*
    NoIPLimit
    制限を掛けないMIME TYPE(ファイル形式)を選択します。
    例)テキスト形式のファイルには制限を掛けない場合
    NoIPLimit text/*

 

記述例

例1)
拡張子が.exe、.zipのファイルへの最大同時接続数を1に制限する場合

    <FilesMatch "\.(exe|zip)$">
    MaxConnPerIP 1
    </FilesMatch>

    例2)
    オーディオ系ファイル全てへの最大同時接続数を2に制限する場合

    <Limit GET>
    MaxConnPerIP 2
    OnlyIPLimit audio/*
    </Limit>

 

注意点
  • お客様のサイト構成によってはご希望の効果が得られない場合があります。
  • サイボウズ等による複数アクセスが不可となってしまうケースがあります。
  • 携帯電話からのアクセスに影響が出る場合があります。
  • 規模の大きい企業の場合、デフォルトゲートウェイ経由でのアクセスに影響を受けてしまうことがあります。
  • 携帯電話からのアクセス等、プロクシ経由で複数人がアクセスするとすぐに最大同時接続数に達してしまう可能性があります。
  • ひとつのページに大量の画像コンテンツが表示されるサイトの場合、1クライアントが大量にコネクションを張るので表示されない画像が出る可能性があります。
  • お客様の自己責任においてご利用くださいますようお願いいたします。
評価点数: 2 (1 件の投票)