私はwww.example.com
と言うウェブサイトを運営しています。その上にwww.example.com/path/file.html
と言うパスとファイルがあります。
Apacheログには、次のようなGET要求がリストされます。GET /path/file.html HTTP/1.1
www.example.com/path/file.html
に対応するどちらが正しいかこのような行は200のステータスコードになり、すべてが正常です。
しかし、私は他のエントリがあります:
GET http://www.example.com/path/file.html HTTP/1.1
または
GET http://www.othersite.net/ HTTP/1.1
http://www.example.com/http://www.example.com/path/file.html
やhttp://www.example.com/http://www.othersite.net/
のような存在しないものに対応します(私のサーバーはこれらに対して404を返します)。
私のウェブサイトの実際のユーザーは常にローカルですが、これらのリクエストは常に遠く(イタリア、ラトビアなど)からのものです。これは何?これらのリクエストには特別な理由がありますか?他の人はこれらが起こるのを見ましたか?
それは少なくとも1年間続いており、継続的です(ただし、私は浸水していません)。
次のような透過的な攻撃ではありません
GET //mysql-admin/ HTTP/1.1
またはGET /webdav/test HTTP/1.1
GET http://www.example.com/path/file.html HTTP/1.1
GET http://www.othersite.net/ HTTP/1.1
これらは、サーバーをHTTPプロキシとして使用しようとする試みです。これが、リクエストのパスではなく完全なURLの意味です。 2番目の例のように別のドメイン名が存在する場合、それらはサーバーをオープンプロキシとして悪用しようとしているため、適切に拒否されています。
自分のサイトからページをリクエストするときに完全なURLを提供するのは、壊れたHTTPクライアントからのものであるか、別のサイトを使用せずにサーバーがプロキシとして機能しているかどうかを確認するプローブです。
ログに4xx応答しかない限り、心配する必要はありません。サーバーが実際にプロキシを使用している場合(Apacheが構成できるように)、それを修正することが重要です。オープンプロキシはさまざまな種類の悪用(自分ではなく他のホスト)のツールであるためです。