はい。私は現在、Apache-behind-Nginxのログで、ログ内の通常の要求/応答のように見えるため、「不明」という値を参照しています。私はこれが可能だと信じているのは、は、X-Forwarded-For
ヘッダーのデータに基づいてREMOTE_ADDRをリセットする要求を変更しているためです。したがって、元のREMOTE_ADDR
の値が有効である可能性がありますが、逆プロキシとApacheを通過する際に、REMOTE_ADDR
はアプリケーションに到着するまでに無効と表示されます。
あなたはPerlのlibwww-perl
をインストールしている場合は、あなたが(独自のドメインまたはアプリケーションであることをexample.comを変更する)このように、この状況をテストすることができます。
HEAD -H 'X-Forwarded-For: ' -sSe http://www.example.com/
HEAD -H 'X-Forwarded-For: HIMOM' -sSe http://www.example.com/
HEAD -H 'X-Forwarded-For: <iframe src=http://example.com>' -sSe http://www.example.com/
(また、あなたは可能にする任意の他のツールを使用することができます)カスタムリクエストヘッダーを使用してHTTPリクエストを手作業で作成することができます。
アクセスログを調べてログに記録されている値を確認し、アプリケーションが不正な入力をどのように処理したかを確認します。 `
あなたはデータをどこに送り返すべきかについて嘘をつくことはできません... TCPはあなたにパケットを送るためにあなたのIPを知る必要があるので、HTTPリクエストを送る前にTCP接続はSYN/ACKをIPに送信して、接続を作成することができます。 – tobyodavies
データをどこに送り返すかは、確かに嘘です。それはDoS攻撃のいくつかの形式の問題です。 – Xeoncross
@Xeoncross:ソースのなりすましを使ったDoS攻撃は、Apacheまでは行かないでしょう - ネットワーキングスタックは接続を半開状態にしているでしょう( 'SYN/ACK'を' SYN/ACK'を確実に生成する方法がないため、 ACK ') - これは多くのDoSスプーフィング攻撃のポイントでもあります。ハーフオープン接続用のテーブルは、一部のシステムではごく小規模*でしたが、一度満たされると受け入れを停止しました。とにかく、偽装された送信元アドレスでTCP接続を何とか開いたとしても、空のアドレスではなく* REMOTE_ADDRと表示されます。 – Piskvor