質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

2回答

2798閲覧

apacheでdos攻撃対策について

rgaruaru

総合スコア26

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2015/08/07 13:14

apacheのモジュールでdos対策をしたいと思っています。

リモートIPアドレスを元に同じIPからのアクセスの場合、
mod_evasive等のモジュールで制限をする想定です。

ただ、ロードバランサを介したネットワーク構成の為、
リモートIPアドレスがロードバランサのIPになってしまい、
想定通りに制限できません。

ロードバランサからある変数でリクエストヘッダにオリジナルの
リモートIPアドレスは設定されているので、
(X-Forwarded-Forには設定されていません)
そこを元に制限しようと思うのですが、
mod_evasiveにはそのような設定や方法がありません。

他で対応できるモジュールはあるのでしょうか?

もしくはリクエストヘッダに設定されたオリジナルの
リモートIPアドレスが制限対象となるように、
httpdの内部のリモートIPアドレスを保持している変数に
上書きするような方法はありますか?

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ロードバランサからx-forwarded-forの値が当該サーバに渡されるのであれば、
mod_evasiveを動作させるApacheに、mod_extract_forwardedを導入することで、
remote_addrがセットされるので動作させられるのですが。。。

投稿2015/08/08 14:10

Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rgaruaru

2015/08/10 12:30

回答ありがとうございます。 mod_extract_forwardedも検討していました。 LogFormatで%{X-Forwarded-For}iを指定しても-が返ってくるので、やはりサーバには渡されていないようです。 ただ、もしLB側でセットしてもらうことができるとして… mod_extract_forwardedでx-forwarded-forをremote_addrに書き換える ↓ mod_evasiveはそのHTTPヘッダをリモートIPとみなして動作する という事でしょうか。 現時点でLogFormatで%{REMOTE_ADDR}iを指定するとオリジナルIPが取得できているので、同じことのような気がするのですが… 認識が違いましたら、ぜひ回答をお願いします。
guest

0

mod_evasive20.c を見ましたが、mod_evasive で利用するリモートIPアドレスは、httpd に実際に接続している接続元の IPアドレスを利用しているようです。
ヘッダや環境変数で渡しているのではないので、設定で変更することはできないと思います。

投稿2015/08/07 16:30

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rgaruaru

2015/08/10 12:33

回答ありがとうございます。 やはりそうですよね… IP制限の部分はSetEnvIf ^REMOTE_ADDR の記述で制限できているのですが、 mod_evasiveは同じ様には行かないんですね…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問