web-dev-qa-db-ja.com

サーバー上でスパムメール送信スクリプトを見つける方法

過去3か月間、ホスティングプロバイダーから、サーバーがスパムメールを送信しているというメールを受け取っていますが、今日、調査したところ、実際に送信されていることがわかりました。 eximを使用して状況を確認したところ、コマンドexim -bcpで28の出力が表示された後、exim -bpを使用し、IDを見つけてexim Mvh idを使用しました。すべてのIDをテストしましたが、スクリプトのソースが提供されませんでした。その後、exim/main.logもチェックしてみましたが、何も出力されませんでした。

ウイルス対策を使用してサーバーをスキャンしましたが、何も見つかりませんでした。また、サーバーをフォーマットしましたが、それでもメリットはありません。スパムを送信しているスクリプトの検出にご協力いただけるかどうかお知らせください。

3
Kinshuk Lahiri

exim -bP log_file_pathを実行して、テンプレート化されたログファイルパスを取得します。 %smainに置き換え、それをログファイルとして使用して確認します。 (日付などは%Dも)。それが実際に見たのと同じmain.logファイルを指している場合は、lsofを使用して、ログファイルのローテーションなどが壊れていないかどうかを確認します。ファイルが現在のログファイルである場合、ファイルシステムがいっぱいではなく、メッセージは流れていますが、ログが空である場合は、システムが危険にさらされています。

メッセージの送信元を確認してください。ローカルユーザーからのものである場合、そのユーザーはメールを挿入しています。それがウェブホスティングユーザーの場合は、どのPHPアプリケーションが古く、スパマーにあなたを悪用させているかを把握する必要があります。PHP =アプリは少なくとも12年間発生しています。ウェブサーバーに適用できるさまざまなオプションがあり、vhostが多数あり、それができない場合は、送信者アドレスをロックダウンするためのPHP configs)ソースを特定します。

メッセージがリモートIPアドレスから送信されている場合は、自分をオープンリレーに変えるために何をしたかを理解してください。

認証されたユーザーが表示されている場合、そのユーザーのパスワードは脆弱です。SMTPに対してユーザーが選択したパスワードを許可しないでください。生成した強力なパスワードを使用して、書き留めることが許可されていることをユーザーに伝えます。レート制限の例でEximwikiを調べて、不正なSMTPAUTHの試行をレート制限することを検討してください。

接続が認証されておらず、単にリモートオープンリレーである場合、問題はExim構成ファイルをどれだけカスタマイズしたかによって異なります(exim -bVを実行して、アクティブな構成ファイルへのパスを見つけます)。在庫にかなり近い場合は、relay_from_hostsという名前のhostlistがあり、その中にホストが多すぎる可能性があります。それをロックします。

3
Phil P

ルートとして、ps auxを使用してすべてのプロセスを表示し、疑わしいものを探すことができます。 find /path/to/cgi-bin -iname \*.phpを使用して、攻撃者が導入したPHPスクリプトを探すこともできます。

ただし、攻撃内容によっては、どちらにも見えない場合があります。攻撃者がサーバーを制御している疑いがある場合、スクリプトを探すことは、修復ではなく、フォレンジックの演習です。 侵害されたサーバーに対処するにはどうすればよいですか? の指示に従ってください。

1
Falcon Momot

私も同じ問題を抱えていました。これにより、IPがブラックリストに登録されることさえありました。

私のホストは、WHMにpyxsoftマルウェア対策プラグインを追加するように勧めました。

ワードプレスで感染したファイルを検出し、それらのファイルを削除するとスパムは停止しましたが、毎日戻ってきました。だから私は毎回それらを削除しなければなりませんでした。

それから私は再び私のホストに相談しました、そして彼らはCSXで行くことを勧めました http://configserver.com/cp/cxs.html

私はまだこれを試していませんが、これが侵害されたWebホストをより良い方法で世話することを願っています。

1
Hyder

eximを使用しているため、Linuxのディストリビューションを実行している可能性があります。その場合は、iptablesを使用して、ポート25への発信接続をブロックできます。この場合、接続をドロップして、しばらくの間接続が維持されるようにすることができます。 netstat -antp | grep :25を使用してシステムを監視し、プロセスがメッセージを送信しようとしていることを確認します。次に、プロセスをチェックして、どこから実行されているかを確認できます。 kill -STOPを使用すると、プロセスが実行されないようにして、プロセスを調べる時間をさらに増やすことができます。

これを行っている間に電子メールを送信する必要がある場合は、eximが実行するユーザーをiptablesルールから除外します。これにより、eximは、他のユーザーをブロックしながらメールを送信できます。

Webサーバーを実行している場合は、電子メールを送信するスクリプトが含まれている可能性があります。利用可能なスクリプトのいくつかは、スパマーがサーバーを使用して電子メールを送信することを可能にします。ウイルススキャナーによって検出されないサーバーから電子メールを送信する方法は他にもいくつかあります。電子メールの送信方法を特定するまでは、iptablesでブロックするのが最善の策かもしれません。

0
BillThor