ちょっとジレンマになってしまったのですが、どうやって解決すべきかわかりません。私はサーバー上の多くの電子メールを含むフォルダを見つけましたが、フォルダを見てみると、そのような多くの電子メールを送信するPHPファイルはありませんでした。
SSHにログインするためにこれまでに行ったことは次のとおりです。
コマンドの実行
grep cwd /var/log/exim_mainlog | grep -v /var/spool | awk -F"cwd=" '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -n
その後、コマンドを実行します。
ls -lahtr /root/to/folder
ただし、一括メールを送信するスクリプトは表示されず、今日最後に確認したときに「高」と表示され、135,000に設定されています。
これから進む方法の提案がありますか?
答え1
使用
netstat -tnp
リモートサーバーのポート25と通信するプロセスPIDを見つけます。
psを使って/proc/PID/cmdと/proc/PID/exeを見てください。
wgetコマンドの出力などの奇妙な出力があるかどうか、サーバーログ(Apacheエラーログなど)を確認してください。
PHPまたは他のCGIには、修正する必要があるセキュリティホールがあります。共有サーバーの場合、誰かがFTPパスワードを受けやすい可能性があります。
アップデート:Linuxでは、プロセスを起動してディレクトリからファイルを削除できるため、そのファイルが表示されなくなる可能性があることに注意してください。使用するためにメモリから実行可能ファイルをコピーします。
cp /proc/PID/exe foo.exe
これでファイルを確認できます。
答え2
SMTP
ポリシーによっては、誰かがサーバーを使用してメールを送信している可能性があります。
サーバーでサービスが実行されていますかdovecot
?courier