- 追加された行はこの色です。
- 削除された行はこの色です。
*概要 [#p08d363e]
プアなマシンやメモリの少ないマシンで運用している場合、F5によるリロード攻撃を受けるとスワップが大量に発生したりして、数時間反応が返ってこなくなり、結局再起動せざるを得なくなる場合がある。
poorなマシンやメモリの少ないマシンで運用している場合、F5によるリロード攻撃を受けるとスワップが大量に発生したりして、数時間反応が返ってこなくなり、結局再起動せざるを得なくなる場合がある。
F5連打によるリロード攻撃対策のために同一IPからの同時アクセスを制限する。
それを行うには、apache2用のモジュール、mod_limitipconn.cをインストールする。
詳しくはこちら、http://dominia.org/djao/limitipconn2.html
*設定手順 [#rdadbab1]
*インストール [#rdadbab1]
**インストール [#z636a80e]
上記URLよりtar.gz package をダウンロードする。
# wget http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz
--01:35:14-- http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz
=> `mod_limitipconn-0.22.tar.gz'
dominia.org をDNSに問いあわせています... 18.208.0.43
dominia.org[18.208.0.43]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 6,333 [application/x-gzip]
100%[==============================================>] 6,333 13.19K/s
01:35:15 (13.18 KB/s) - `mod_limitipconn-0.22.tar.gz' を保存しました [6333/6333]
# tar zxf mod_limitipconn-0.22.tar.gz
# cd mod_limitipconn-0.22
ここではDSOとしてインストールします。
Makefileの編集
# vi Makefile
>修正
# the used tools
APXS=/usr/local/apache2/bin/apxs
apache2のapxsの場所を指定
# make install
/usr/local/apache2/modules/mod_limitipconn.so
が自動的にインストールされます。
httpd.confの編集
**httpd.confの編集 [#edc236ce]
# vi /usr/local/apache2/conf/httpd.conf
>
LoadModule limitipconn_module modules/mod_limitipconn.so
が追加されていることを確認する。~
その下の辺りに、
その下の辺りに以下を追加。
ExtendedStatus On
<IfModule mod_limitipconn.c>
<Location />
MaxConnPerIP 5
MaxConnPerIP 10
</Location>
</IfModule>
Location / 以下すべてに対して、MaxConnPerIP 5 で同一IPからの同時接続を5つに制限する。
Location / 以下すべてに対して、MaxConnPerIP 10 で同一IPからの同時接続を10個に制限する。あまり小さい値にすると、同時に沢山のコネクションを張るブラウザや、ブラウザのコネクション数の設定を変更されている場合は画像などが表示されなくなってしまう。
apache2の再起動
**apache2の再起動 [#i5c2a076]
# /etc/rc.d/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]
*動作確認 [#m6281271]
**動作確認 [#m6281271]
これで、F5を連打しても、
#ref(f5.png)
のように、同一IPから同時に5接続以上アクセスするとエラーが出るようになる。
のように、同一IPから同時に10接続以上アクセスするとエラーが出るようになる。
* コメント [#d1976d0e]
#pcomment(apache2で同一IPからの同時アクセスを制限する/コメント)
#comment