HTTP リクエストを実行したユーザーを見つけることはできますか?

HTTP リクエストを実行したユーザーを見つけることはできますか?

数日前にサーバーが HTTP ダウンロードを実行したとのことですが、ウイルスの可能性があります。リクエストの送信元 IP/ポート、送信先 IP/ポート、プロトコル、時間、長さ、メソッドがわかっています。

私のサーバーがハッキングされたのかもしれませんが、どのユーザーとどのプログラムが HTTP 要求を行ったのかを見つけたいです。それは可能ですか? Linux はすべての送信 HTTP 要求を記録しますか? そうでない場合、上記の情報を使用して見つけることは可能ですか?

答え1

httpdサーバーを使用している場合は、httpログがあり、リクエストに役立つ場合があります(追加のモッドApacheのmod_dumpioはより良いフィードバックを提供する可能性があります。また、サーバー上で現在何がhttpを要求しているかをよりよく知るために、このコマンドをオンデマンドで実行することをお勧めします。

# tcpdump filter for HTTP GET 
sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

# tcpdump filter for HTTP POST 
sudo tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'

# tcpdump for specific client
tcpdump -vvvnn port 80 and host ip_addr_of_client -i any

関連情報