メールの大量送信?mqueue、clientmqueueが急激増加したらsendmailを停めろ!

AWSがマルウェアに感染してしまい外部に対して大量にメールを送信する事象が発生してしまったため、対処方法について記載しておきます。

本来マルウェアに感染しないことが一番大切なことだと思いますが、万が一感染してしまった場合に復旧させる力があるか?の方がもっと私の中では大切なことです。

なぜなら、他人を頼らず、あらゆる問題をクリアできる人は、自らの力で苦難を乗り越えてきた人たちだからです。

事象

AWSでWordPressを運営していたところ、「あれ?写真のアップロードができなくなったぞ。」と思い、ターミナルでAWSに接続し、以下のコマンドでディスク容量を調べたところ、ディスクの空がまったくない100%の状態。

dfの後に「-h」を付けることで、ディスク容量を見やすく単位を付けて表示させることができます。

Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 99G 99G 0G 100% /
tmpfs 1.9G 12K 1.9G 1% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm

こうなってしまったら、WordPressの運用どころではありません。早急に対処しなくてはなりません。不正アクセスを受けているWordPressは動作も遅くなることから、「以前よりWordPressの動作がやたらと遅くなったぞ?」と感じる方は、不正アクセスも疑うべきです。

マルウェア駆除の対処方法

逼迫しているディレクトリを確認

普段、WordPressを利用しているだけで、100Gのディスクがいっぱいになることなんて、複数サイトを運営していたとしても一般利用の場合はまずありえないと思います。

ディスク容量に空きが無いことが確認できたら、どのディレクトリが容量を消費しているのかを以下のコマンドをsudoもしくはroot権限で実行します。

一階層目の各ディレクトリの利用容量を確認することができるので、最も容量が多いディレクトリを確認し、更に容量を消費しているディレクトリがどこか?を深堀して確認していきます。以下のようなコマンドを実行します。

mqueue、clientmqueueが急激に増加していたらマルウェアを疑う

以下のディレクトリ内の容量が急激に増加している場合は、マルウェアに感染している可能性があります。

  • /var/spool/mqueue
  • /var/spool/clientmqueue

mqueueディレクトリは、Sendmailが送信するメールキューが蓄積される場所。clientmqueueディレクトリは、MTA(Sendmail)において、正常にメール送信できなかったメールキューが蓄積される場所です。

つまり、外部に対して宛先不明なメールが大量に送信されると、mqueueディレクトリにメールキューが蓄積された後に、clientmqueueディレクトリに対して大量のメールキューが蓄積されていき、clientmqueueディレクトリにメールがある限り、Sendmailはメールを送信し続けます。

このような状況に陥ってしまった際に対処しなくてはならない事は、Sendmailを早急に停止させることです。「でもメールが停まるなんて…」なんてこと、気にしている場合じゃありません。

Sendmailの停止方法

以下の方法で、Sendmailを停止させます。

Sendmail 停止方法

Sendmail の状態確認方法

Sendmailの停止ができたら、以下のコマンドで状態を確認します。

sendmail is stopped

と表示されれば、正常に停止ができております。

ちなみに、Sendmailの再開方法も記載しておきます。

Sendmail の再起動方法

マルウェアの駆除が完了した後は以下のコマンドで sendmail を起動できます

Sendmail の状態確認方法

sendmail (pid 3309) is running…
などと表示されれば正常に起動できています。

悪者を追求する

Sendmailの停止ができたら、悪さをする奴がどこに潜んでいるのかをアクセスログから調査します。

Nginxログの確認

私はApacheでは無く、Nginxを普段利用しているため、Nginxのログを調査します。

/var/log/nginx

Nginxのログは上記に保存されていきます。複数あるファイルの中から、

*.access.log

となっているファイルを見つけだします。
最新のアクセス履歴を確認し、以下のようなログが短時間に大量に出力されている場合は、不正アクセスされている証拠です。

autoconf.phpって奴が待ち受けプログラムで、上記では伏せていますが、aaa.bbb.ccc.dddというところから、不正なプログラムが実行され、WordPressを管理しているクラウド上において、不正メール送信が大量に実行され、システムダウンに追い込むプログラムです。

200ステータスとなっている事は、外部からマルウェアに対してのアクセスがhttpで成功している事を意味します。

マルウェアの駆除

Nginxもしくは、Apacheのアクセスログを確認すれば、悪者を引き込むマルウェアがどこに潜んでいるのかを把握することができます。

悪者を引き込む不正なプログラムは、様々なファイル名称であらゆるディレクトリ内部に潜んでいますので、上記のような不正アクセスが無いかをアクセスログから追求していきます。

マルウェアの所在がつかめたら、とにかく該当ファイルに対する削除の実行です。

マルウェアが駆除できると、アクセスログに出力される200ステータスのアクセスが404ステータス(アクセス失敗)に変更されます。

上記まで確認できれば、マルウェアの駆除は完了です。

マルウェアはありとあらゆるディレクトリ内に潜んでいますので、マメにアクセスログをチェックしながら、不正実行されているファイルを突き詰め、全て削除する必要があります。

全てのマルウェアを削除できたら、rebootコマンドで再起動してプロセスを切ってから、Sendmailを再開させます。

マルウェアに感染しないための対処方法

ウイルス対策ソフトを必ず入れる

一番の対処方法は、利用しているパソコンをウィルスに感染させない事です。ウィルスに感染したパソコンから、WordPressを管理するFTPソフトなどを実行すると、マルウェアがWordPress内(ディレクトリ内部)に侵入します。

普段利用しているパソコンには、必ずウイルス対策ソフトを入れたり、極力Windowsは利用せずに、MACから操作する方がおすすめです。

そして一番厄介なのが、お客さんにFTPなどでWordPressを自由に操作できる環境を渡してしまっている場合です。

WordPressに対してアクセスできる環境が自分自身以外に存在する場合、外部で操作しているパソコンがウイルス感染していて、マルウェアが仕込まれ、同一環境下で管理している他のお客さんのサイトまで被害にあってしまったらたまったもんじゃありません。

WordPressにアクセスできる環境を制限する。そして必ずウイルス対策ソフトを入れておく。お客さんにアクセス環境を渡す場合は、FTPアクセスなど必要以上に渡さない。もしくは渡す以上は問題が発生しても自らの責任を負わない。などと対応するのが望ましいと思います。

外部のSendmailを利用する

WordPressを管理している同一環境下でSendmailを動かしていると、そのSendmailを利用して今回と同じような事象が発生してしまいます。WordPressを管理している同一環境下においては、Sendmailを実行させず、他の環境でSendmailを動かしておいた方が、万が一マルウェア感染が発生しても被害を最小限に留める事ができます。

一つのSendmail上で、複数のユーザ環境下、それが複数企業に及ぶ場合は、マルウェアに感染してSendmailを停止させるという事は、相手の業務を停める事や、ディスク容量確保のためにメールキューを削除しなくてはならないという事態に陥ってしまいます。

常にWordPress、プラグインは最新化を行う

よく言われることですが、マルウェアに感染しないためにもとっても大切なことです。もしお客さん環境下などで、古いバージョンのWordPressを利用している場合などは、特に注意が必要です。

セキュリティ対策が十分な環境を選定する

利用者の立場になると気が付かないですけれど、提供する側の立場に立つと、安定したシステム管理の大切さや難しさを身をもって体感することができます。

安い値段や無料でシステム管理(サイト提供など)を請け負うことなんてことは絶対にダメです。WordPressの管理はそんな生易しいものではありません。

以下は、私がおすすめするセキュリティ対策が万全のWordPress利用におすすめの環境です。

外部からの不正アクセスを防御するためのセキュリティ対策(WAF)がシッカリ実装されているエックスサーバーの中でも、シックスコアを利用するのがとてもおすすめです。

万が一被害にあってしまい、もう被害が甚大過ぎて対処できそうにない!っといったときは、今利用している環境から、WordPressの投稿、固定ページデータをエクスポートしてシックスコアに申し込んで、14日間の無料利用期間を利用して、新たな環境を構築して、データをインポートしてしまうのがおすすめです。

その際注意しなくてはならないのは、プラグイン、テーマ、画像のディレクトリは、今の環境から絶対にそのままコピーさせてはNGです。マルウェアの呼び込みプログラムは、ありとあらゆる場所に潜んでいるため、コピーすると新たな環境で再び活動を開始します。

また、複数サイトを管理している場合は、被害を最小限に留めるためにも、システムを分散管理することも大切なことです。

今回感染したマルウェアって賢いのかな?と思い、知り合いの優秀でダークサイドな?ディベロッパーさんに見せたら、「相手が気が付くマルウェアなんてそもそも賢く無い…」という回答でした。

世の中、悪い人の更に上をいく悪い人がいるもんだ…!?と思ってしまいました。



不正アクセス防止のため、コメント入力いただいた方の送信元ホスト名、IPアドレスを記録しています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

新着記事

全ての記事を確認する