web-dev-qa-db-ja.com

HTTPリクエストのIPアドレスを偽装できますか?

私が作成しているWebサイトで、必要な場合に備えて、提出物のIPアドレスを記録する予定です。プロキシは気にしませんが、IPアドレスを完全にスプーフィングすると目的が無効になります。

完全なGETアクションを実行するには、(受信したかどうかにかかわらず、正当なIPアドレスが必要ですか?)または、ランダムな偽装IPアドレスからの投稿でWebサイトがスパム送信される可能性がありますか?

(POST違いますか?)

27
TND

いいえ、そうです。または多分。これは、「IPアドレス」データをどこから取得しているか、およびそれらを信頼しているかどうかによって異なります。

IPパケット自体からアドレスを取得している場合は、パケットを送信した人がそのIPアドレスに送信されたパケットにアクセスできると信頼できます。これは、そのIPアドレスの正当なユーザーであるか(ボットネット、オープンプロキシ、Torのこの時代では、「正当な」という単語の適切に制限された値の場合)、またはパケットを送信した人が中間システムにアクセスでき、通過するパケットを確認できます。

ただし、リバースプロキシが広く普及しているため、IPパケットは接続の送信元を誤って表すことが多いため、「実際の」オリジンIPアドレスをプロキシから提供できるように、さまざまなHTTPヘッダーが導入されています。ここでの問題は、正確な情報を提供するために、ヘッダーを送信する人を信頼する必要があることです。また、デフォルト(または見当違いのcopy-pasta'd)の設定では、これらのヘッダーのスプーフィングを未然に防ぐことができます。したがって、リバースプロキシがリクエストに正当に関与しているかどうかを識別し、それら(およびWebサーバー)が適切に構成され、セキュリティ保護されていることを確認する必要があります。

32
womble

番号。

(HTTPが使用する)TCP接続には、双方向通信が必要です。 SYNパケットのソースIPは簡単に偽装できますが、SYN-ACKサーバーからの応答は、最初のパケットで偽装したIPにルーティングされます。サーバーからの応答が表示されない限り、接続を完了できません。

ただし、Torなどの匿名プロキシツールは、接続のソースを簡単に匿名化する手段を提供できます。これにより、IP禁止によってスパム制御を簡単に無効にできることに注意してください。

23
Shane Madden

短い答え..今日はできません。

過去のコンピュータは、TCPトラフィックのシーケンス番号で非常に予測可能でした。つまり、攻撃者はシーケンス番号を把握するまで正当なトラフィックを送信し、何が起こるかをかなりよく推測することができました次に、TCPトラフィックを送信して、なりすましのIPアドレスを模倣し、反対側のホストが信じるようにします。そのため、 方向ハンドシェイク =。

今日、私は10年以上言うと思います。コンピュータはランダム化の点ではるかに優れているので、不可能ではないにしても、かなり困難です。私の考えでは、攻撃者がそれをするのは時間の無駄です。

12
Mike

HTTPはTCPで実行されます。 TCPが機能するためには、GETまたはPOSTリクエストを発行するのに十分な距離になる前に、完全な3ウェイSYN/ACKハンドシェイクが必要です。単純なスプーフィングされたソースはあまり効果がありませんが、他のより高度なスプーフィング(MitM)は依然として効果的です。

8
techieb0y