0

Apache2 サーバーが受信したパケットから (おそらくカスタム プラグインを介して) リモート IP を取得できた場合、常に正確であることが保証されますか? それとも、この値はリファラー ヘッダーと同じくらい簡単に偽装できるのでしょうか?

私の意図する使用例は、認証されていない API 呼び出しのレートを制限することです。

4

3 に答える 3

1

無効なAPI呼び出しをレート制限することを意図している場合は、spamhausなどのサービスの使用を検討することをお勧めします。ボットやプローブである可能性が高いIPを一覧表示します。他の会社やリストもあります。しかし、あなたの意図が「悪者」を特定することである場合、ソースIPが正しい可能性はほとんどありません。

于 2012-12-07T00:10:28.157 に答える
1

信頼できません。なりすましの可能性があるだけでなく、ネットワーク要素によってサーバーに別の IP アドレスが表示される可能性があるためです。

たとえば、プロキシを介してインターネットにアクセスすることは、企業では非常に一般的です。構成によっては、サーバーの観点から見ると、すべての異なるユーザーが同じ IP アドレスから来ています。

いずれにせよ、多くのシナリオで使用できるフィルターです。たとえば、同じ IP アドレスからのログイン要求が多すぎることを検出した場合にキャプチャを表示します。

于 2012-12-06T16:44:07.343 に答える
1

TCP パケットの場合は、送信ホストに関して正確です。関連するルーターを制御できない限り、TCP パケット内の IP をスプーフィングすることはできません。スプーフィングされたソース パケットでは、最初の SYN パケットのみが返され、サーバーからの SYN+ACK 応答は、偽造元のアドレスではなく、スプーフィングされたアドレスに送信されます。ターゲットマシンからのパケットルーティングを制御できます。

一方、UDP パケットは簡単に偽造される可能性があり、それらについては何も信用できません。

同様に、プロキシ サーバーや NAT ゲートウェイなどの単純なものでさえ、パケットの発信元から「実際の」IP を隠すことができます。IP を取得しますが、元のマシンではなく、ゲートウェイ/プロキシの IP になります。

于 2012-12-06T16:55:56.503 に答える