サーバーをスパムから保護する
スパムはあなたのビジネスにとって深刻な問題であり、修正するためにあなたの時間とリソースに負担をかける可能性があります。もちろん、この問題を解決する最善の方法は、そもそも問題を起こさないことです。スパムを防ぐための一番の方法は、テーマ、プラグインを含むすべてのCMS(WordPress、Joomla、Drupalなど)がVPSサーバーまたは専用サーバーで最新であることを確認することです。これは単純すぎるように聞こえるかもしれませんが、古いプラグインによってハッカーが安全なドメインを破壊できる場合が無数にあります。
スパムから保護するもう1つの方法は、パスワードに大文字と小文字、記号、および数字を使用するようにユーザーに手動で要求するか、設定を設定することにより、強力なパスワードを適用することです。 WHMでは、セキュリティセンター>>パスワード強度の構成でパスワード強度を強制できます。 。ここでは、すべてのcPanelパスワードに対して少なくとも一定の強度をユーザーに要求できます。
Liquid Webをご利用の場合は、サーバー保護パッケージを検討してください。
誰がスパムを送信しているかを追跡する
しかし、最悪の事態がすでに起こっているとしましょう。誰がスパムを送信しているか、どのようにスパムが送信されているかをどのように追跡しますか?
最初に使用するツールは、WHMのメール>>メールキューマネージャーにあります。 。
Mail Queue Managerを使用すると、電子メールキューを確認し、送信されている電子メールを識別できます。すぐにすべてのスパムメールを削除したくなるでしょうが、それは控えてください。まず、誰が送信しているか、どのような種類のスパムが発生しているかを把握する必要があります。パスワードの侵害またはスクリプトのスパムです。スパムが発生する可能性のある方法は他にもありますが、これらはスパムサーバーに関して私たちが目にする上位2つの方法です。
まず、メールキューマネージャーを介してメールの送信元を確認する必要があります。送信された電子メールを確認するために、最近の短い期間を選択することをお勧めします。これらの結果が得られたら、電子メールの件名を確認する必要があります。自問してみてください:
- スパムのように聞こえますか?
- 誰に送信されますか?
- 受信者を知っていますか?
電子メールがスパムであることを確認したら、電子メールのヘッダーを確認する必要があります。ヘッダーは紛らわしいように見えるかもしれませんが、重要な部分を分解するためにここにいます:
以下は、スパムメールがどのように見えるかを示すヘッダーの例です。
1g8rz7-1001y8-3K-H username 609 500 <[email protected]> 1538853089 2 -received_time_usec .072187 -ident username -received_protocol local -body_linecount 241 -max_received_linelength 499 -auth_id username -auth_sender [email protected] -allow_unqualified_recipient -allow_unqualified_sender -local XX 1 [email protected] 209P Received: from username by domain.com with local (Exim 4.91) (envelope-from <[email protected]>) id 1g8rz7-0001y8-2K for [email protected]; Sat, 06 Oct 2018 15:11:29 -0400 030T To: [email protected] 033 Subject: NEW SUBJECT 058 X-PHP-Script: domain.com/index.php for xxx.xxx.xxx.xxx 050 X-PHP-Originating-Script: 609:class-phpmailer.php 037 Date: Sat, 6 Oct 2018 10:11:23 +0000 041F From: username <[email protected]> 035R Reply-To: [email protected] 063I Message-ID: <[email protected]> 068 X-Mailer: PHPMailer 5.2.22 (https://github.com/PHPMailer/PHPMailer) 018 MIME-Version: 1.0 039 Content-Type: text/html; charset=UTF-8
重要な部分は青色で強調表示されています:
-auth_id username -auth_sender [email protected]
および
058 X-PHP-Script: domain.com/index.php for xxx.xxx.xxx.xxx 050 X-PHP-Originating-Script: 609:class-phpmailer.php
侵害された電子メールアカウント
最初の2つの強調表示された行は、認証された送信者「[email protected]」を介して送信されたことを示しています。 auth_senderの場合 空白だった場合は、次のセクションにスキップしますスクリプトスパム 。これが入力されている場合は、その電子メールアカウントのパスワードを変更する必要があります。また、パスワードを盗んだマルウェアがコンピューターにある可能性があるため、電子メールアカウントにアクセスできるすべてのデバイスでローカルマルウェアスキャンを実行する必要があります。それが完了したら、キュー内のスパムのクリアという次のセクションに進むことができます。 。
スクリプトスパム
以下の行は、送信者のドメインとそのスクリプト( class-phpmailer.php )を示しています。 )メールを生成しました。
058 X-PHP-Script: domain.com/index.php for xxx.xxx.xxx.xxx 050 X-PHP-Originating-Script: 609:class-phpmailer.php
この時点から、ドメインのドキュメントルートでファイル名を検索してスクリプトを見つける必要があります。
まず、rootとしてサーバーにSSHで接続する必要があります。
ファイルを見つけるには、「 phpmailer.php」の代わりに次のコマンドを実行します。 」を見つけたスクリプトの名前を使用して、ドメインのドキュメントルートを追加します(通常、これは / home / {username} / public_htmlの下にあります 。
find /doc/root/for/the/domain -name “phpmailer.php” -type f
悪意のあるファイルの場所を見つけたら、それを無効にするか削除する必要があります。ファイルを無効にするには、次のコマンドを実行します。
重要:これによりWebサイトの機能が損なわれる可能性がありますが、スパムを阻止するため、IPがブラックリストに登録されないようにすることが重要です。
chmod 000 /name/of/file/to/be/disabled
また、アカウントに追加のマルウェアがないか確認する必要があります。これを行うための最良のツールの1つはMaldetです。 Maldetスキャナーのセットアップ方法を確認するためのリンクは次のとおりです。
ソフトウェアをインストールして適切に構成したら、ディレクトリの手動スキャンを実行する必要があります。これを行うには、サーバーにSSHで接続し、ドメインの実際のドキュメントルートを表示するように編集した後、次のコマンドを実行します(通常、これは / home / {username} / public_html の下にあります)。 。
maldet -b -a /document/root/for/the/domain
それが終わったら、次のコマンドを実行してスキャンの進行状況を確認できます
tail /usr/local/maldetect/event_log
終了したら、次のxをレポート番号に置き換えて、レポートを表示できます。
maldet --report xxxxx-xxxxx.xxxx
ここから、以前と同じようにファイルを個別に無効にできます。
chmod 000 /name/of/file/to/be/disabled
キュー内のスパムをクリアする
アカウントのパスワードを変更するか、スパムスクリプトを無効にすることでスパムを停止した後、キューをクリアする必要があります。最初に行うことは、スパムメールをクリアすることです。次のコマンドを使用して、 {email_address}を置き換えるスパムの可能性のある電子メールを消去する必要があります。 スパムメールアドレスまたはスパムメールを送信していたドメインを使用します。
重要:これにより、メールアドレスまたはドメインに関連するすべてのメールが削除されます。
grep -R --include='*-H' 'auth_id' /var/spool/exim/input | grep {email_address} | cut -d: -f1 | cut -d/ -f7 | cut -d- -f1-3 | xargs -n 1 exim -Mrm
完了したら、次のコマンドを使用して、サーバーに返送されたすべての電子メールをクリアする必要があります。
exim -bpr | grep '<>' | awk '{print $3}' | xargs -I % exim -Mrm %
最後に、引き続きサーバーを監視して、スパムの原因が2つないことを確認しますが、それを超えると、サーバーのスパムを正常に阻止できます。