3

応答なしでApacheとのhttp接続を閉じるにはどうすればよいですか? リクエストがハッキング攻撃であることを検出した場合、リクエストに応答せずに接続を閉じたいです。

今、私はそのようなものを持っています:

GET / HTTP/1.0
User-Agent: Hacking-Tool

HTTP/1.1 403 Forbidden
Date: Sun, 30 Dec 2012 19:00:56 GMT
Server: Apache/2.2.0 (Linux/SUSE) mod_ssl/2.2.0 PHP/5.1.2 SVN/1.4.6
Content-Length: 13
Connection: close
Content-Type: plain/text; charset=utf-8

Stop hacking!

ハッカーが私が Linux システムを実行していると推測できないように、接続を単純に閉じるにはどうすればよいでしょうか。サーバーの署名を減らすことができることはわかっていますが、これは問題ではありません。

4

3 に答える 3

1

あなたは2つの質問をしました、それを避けるようにしてください:)。

まず、OS/アプリのフィンガープリントを防止したいということです。これを行うには、サーバー ヘッダーを削除し、Apache エラー ページを変更します... それでも、攻撃者が OS と http サーバーを推測できる可能性があります。Apache Mod Securityを使用して自分を助けることができます。

2 つ目は、アプリケーション レベルのロジック実行後に、適切な http 応答ヘッダーなしで接続を閉じることです (アプリは、要求がハッキングの試みであるかどうかを判断します)。PHPでは、これはできないと思います。パーサーが実行されると、apache によって応答が既に準備されていると思います。パーサーが何も返さない場合は、apache 自体によって空の応答またはエラー応答が送信されます。そして、ヘッダーフィルタリングを使用して、プレーンな文字列「ハッキングの試みが検出されました。管理者に通知されました。法的な反訴が続く可能性があります。」を返すだけだと思います。スクリプト キディをかなり怖がらせることができます。

PS Im は、あなたのアプリがどのようなハッキングの試みを検出できるのか興味がありますか? これは CSRF トークンの検証ですか? これは認証されていない単純なアクセス試行ですか、それとも他の形式の認証チェックですか? それともあなたが開発したセキュリティメカニズムですか?

于 2013-01-02T07:38:39.813 に答える