放置の為にDoS攻撃の対策やっとく

不安と労力を減らすために前回はロードアベレージのチェックとアパッチの反応があるかどうかのスクリプトを作りました。
目的は他のことにも手が回るように、放置プレイの為に、更に守りを固めようという事でDoS攻撃の対策をやろうと思います。

ってかネットワークは共有もんだから、やってた方がいいよね。

過去に転送量とかをコントロールできるmod_bwとも、mod_dosdetectorを使い比べて、その当時はやりたかった事にマッチしていたmod_bwをインストールしてた訳ですが、考えた結果はどっちが実用的かなあというとmod_dosdetectorかなと。
もっとアクセスの多いウェブサイトだったら転送量を絞る事が有効になってくるやろうね。

ほとんど参考サイトのままですが若干違いがあるので、簡単に載せとこうと思います、wgetしてますが、実際はSCPで飛ばしました。

sudo yum install httpd-devel
mkdir usr
cd /home/account/usr
wget http://downloads.sourceforge.net/project/moddosdetector/moddosdetector/version-0.2/mod_dosdetector-0.2.tar.gz?use_mirror=jaist
tar -zxvf mod_dosdetector-0.2.tar.gz
cd mod_dosdetector-0.2
make
sudo make install

httpd.confに自動的にモジュールが組み込まれてました。

sudo vim /etc/httpd/conf.d/dosdetector.conf
DoSDetection On
DoSPeriod 60
DoSThreshold 20
DoSHardThreshold 30
DoSBanPeriod 7200
DoSTableSize 100
DoSIgnoreContentType ^(image/|application/|text/javascript|text/css)

バーチャルホスト内にRewriteの記述をしました。

<VirtualHost *:80>
※※※※※※※※※
RewriteEngine On
RewriteCond %{ENV:SuspectHardDoS} =1
RewriteRule .*  - [R=503,L]
ErrorDocument 503 "/error/HTTP_SERVICE_UNAVAILABLE.html.var"
</VirtualHost>

デフォルトのエラーページにメアドがでちゃうので

sudo vim /var/www/error/include/bottom.html

この中にある2行目くらいにある記述を消しました。

05

テストしてみたですが今回はちゃんと動きました、前回は設定にミスがあったんでしょう。

ほい、実は最初は上手くいかず、リダイレクトされずロードアベレージがガンガンあがってしまって、スクリプトのメールがちゃんと来ました。
ミスですが、昨日のスクリプトもちゃんと動いてるって事でOK(笑)

06

でもある程度までになるとhttpdを再起動するように修正というか付け足さないと万一触れない時に大暴走した時に困りますよね。
それはまあ多分なんとかなる。

でも、アパッチのモジュールも自分で作れたら更に色々できるし、もっと好みのものが作れるんだろうなあ。
と、とりあえずはこんな感じです。

まあ昔はネームサーバーにかなりのめり込んでましたが、最近はめっきりウェブサーバー系のネタばっかりになってますね、ですがMySQLも触りたいのですよね。
ワードプレスから触ってるっちゃ、触ってますけど。
SQLとかコマンドとか覚えられないし・・・

とまあ、多分しばらくはウェブサーバー系が続くだろうから、いっその事メールサーバーも運用をやめてGoogleAppsでも使おうかなあなんて思っちゃったりなんか。
運用って言ってもLogwatchでチェックしかしてないですけどね。

 

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です