久しぶりのWordPress関連の記事です。といっても本来は体験しないほうがいいマルウェア感染実体験です…(ノД`)トホホ
おかしいな?と思いつつめんどくさがって放置していた事や、ついにはGoogleから「感染してるのでサイト警告しますよ」の通達がきた事、ロリポップのサポートなど、私が対処した事を全てまとめますので、同じようにマルウェアの感染で困っている人の助けになれば嬉しいです。
本当はそうなる前にセキュリティをしっかりしておかないといけないんですけどね…
マルウェアとは
悪意のあるソフトウェアをマルウェア(malware=malicious【悪意がある】とsoftware【ソフトウェア】を組み合わせた造語)と呼び、ウイルスもその中の一種
「パソコンがウィルスに感染した!」などといいますが、厳密にいうとウィルス、ワーム、トロイの木馬、スパイウェアなど様々な種類があるのですね。私もよくわかっていませんでした(;・∀・)
詳しくはNorton Blog「マルウェアとウィルスの違い」を参照していただけるとわかりやすいです。(Nortonさん、ありがとうございました!)
今回、私が感染したのはプログラムの一部を書き換える「ウィルス」だったと思われます。
おかしいな?と思ったきっかけ
はじめにもしかしてウィルス?と思ったのは、ブログに見覚えのない英語の広告記事が大量にポストされていた時です。(ここで気付けよ!!w )
この時はまず管理画面から該当記事を削除。これで一応対応できた気になっていたのですが、そんなわけないですよね(*ノω・*)テヘ
記事は削除したはずなのに、前の記事/次の記事で常に表示される怪しい英語広告。「まだ変なウィルスが残ってるのかなー」と思いつつ、記事が削除できたからいっかw ぐらいに考えていました。
本来はここで対処すべきでした。あほです、私。
サーバーから不審なメールを大量送信
次にロリポップ!のレンタルサーバーから「メール送信件数の上限を超
もちろん私はメールを送った覚えなどなく、「あ、これもウィルスのせい…?」とやっと少し焦り始めました。月に5,000PV程度の過疎ブログとはいえ、少しでも楽しみにしてくれている人がいる以上、その人たちに迷惑をかけるわけにはいかないからです。
そしてこのお知らせメールが1時間に1通のスピードで送られてくるようになります。。これはまずい。
メールの指示に従い、ウィルスチェック・FTPパスワードの変更を行いましたが、メールが止まりません。ドンドコ送られてきます。
「現在、WEBサーバーからのメール送信を制限しております」
「現在、WEBサーバーからのメール送信を制限しております」
「現在、WEBサーバーからのメール送信を制限しております」
…さすがに怖くなってきましたが、それでものほほんと育児していた私は「直らないなー。困ったなー。。」と思いながら放置。
そしたらね、やってきましたよ、ついに。
Googleからの警告
Google Search Consoleに登録していたため、Googleから下記メールが届きました。
え、これってブログが見れなくなるの?閉鎖しないとだめ?てかマルウェアってやばくね???と焦り、ブログを見にいくと、恐怖の真っ赤な画面が。
ちーん。
でもここで焦らないでほしいのですが、この警告はサイトに入れなくなったわけではありません。
「詳細/Details」をクリックすると現れる下の部分から「visit this unsafe site」のリンクを押せば、自己責任でサイトに飛ぶことができます。
さすがにこの警告が出るようになってしまっては、ブログのアクセス数にも響きますし、なにより危険。というわけで、私がおこなった対処法と結果を下記にまとめました。
対処1 : ウィルスチェック
まずは自分のパソコンがウィルスに感染していないかチェックします。
Macユーザーの場合、ターミナルを起動して、使用しているブラウザに応じて下記コードを打ち込みます。(ターミナルがわからない方、Windowsユーザーの方はググッてくださいね)
<Chromeの場合>defaults read /Applications/Chrome.app/Contents/Info LSEnvironment
<Safariの場合>defaults read /Applications/Safari.app/Contents/Info LSEnvironment
<FireFoxの場合>defaults read /Applications/FireFox.app/Contents/Info LSEnvironment
does not existの結果が返ってくれば問題ありません。私のMacも無事でした。
さらにトロイの木馬やiWormのチェックもおこなってください。
ウィルス含め、チェック方法はsoratomo0714さんのブログを参考にしました。ありがとうございました!
対処2 : FTP・WebDAVパスワードの変更
次に、第三者に勝手にログインされないように、FTP・WebDAVパスワードを変更します。
誕生日やアカウント名などを含まない長くて推察しにくいパスワードにします。
ユーザー専用ページ「アカウント情報」から変更できます。
対処3 : FTPアクセス制限の設定
指定したIPアドレスのみ、FTPに接続できるように設定します。
ただし、ログインするのが自分のパソコンだけの人には向いている方法ですが、自宅/会社と複数のIPを設定する場合には面倒かもしれません。この記事を見てくれている人は個人ブログをやっている方がほとんどなので問題なさそうですが(;・∀・)
ユーザー専用ページ「WEBツール」→「FTPアクセス制限」から変更できます。
対処4 : CMS管理画面のパスワード変更
ほとんどの人がCMSはWordPressを使用していますよね、きっと。
WordPressの管理画面のパスワードも長くて推察しにくいパスワードに変更します。
管理画面「ユーザー/Users」から変更可能です。
対処5 : テーマとプラグインを最新版にアップデートする
WordPressの場合、最新版でないバージョンは脆弱性を持つことが多く、ウィルスに感染する原因にも繋がります。
そのため、常にアップデートを行うことが推奨されているのですが、必ずバックアップをとり、ローカル環境でテストしてからアップデートしてくださいね!!バックアップしなくてデータが吹っ飛ぶとウィルスどころじゃない?騒ぎになるので…。
プラグインやCSSの互換性を理由にレイアウトが崩れたり、管理画面にログインできなくなることも多々あります。気をつけてください。
対処6 : WAF有効化
WAF(ウェブアプリケーションファイアウォール)を有効化することで、セキュリティが上がるようです。(よくわかってない)
ロリポップでは有効がデフォルトなので、自分で無効化していなければ元から有効になっているはずです。
ユーザー専用ページ「WEBツール」→「WAF設定」から確認できます。
対処7 : 各フォルダのパーミッションを「705」に変更
FTPにログインして、各フォルダのパーミッションを「705」に変更します。直接数字を打ち込んでもいいですし、チェックボックスを下記の通りに直してもOKです。
FTPサーバーから各自当該フォルダを選択して、設定してください。
対処8 : サーバー上のファイルをクリーンナップ
今回の対処では、このクリーンナップが一番大事でした。
先ほどGoogle Search Consoleからメールがきたと書きましたが、Googleもあくまでマルウェアに感染しているURL例を挙げてくれるだけで、どのファイルが感染しているか全て教えてくれるわけではありません。
そこでなるべく手間を省くために、まずは使用しているテーマとプラグイン以外は新しくダウンロードしたWordPressに置き換えます。そうすればマルウェアに感染している可能性が残るファイルはテーマとプラグインだけになるため、この二つのディレクトリだけをチェックすればいいのです。
そして地道にphpファイルをチェックしていくと、header.phpの中に怪しいコードが埋め込まれているのを発見しました。
その時見つけたコードがこちら▼(63行目)
見つけづらくするためにコメントの中に紛れ込ませているみたいですが、いかにも怪しい!!このコードが2箇所埋め込まれていました。
さて、ここで地道に一つ一つチェックしていくのも手ですが、私は今回の経験から先にレンタルサーバーのサポートに連絡するのがいいと感じました。
というのも、自力で怪しいコードを探しだすのも手間だし(便利なツールがあるのかもしれませんが)、サポートにやってもらうほうが確実で速いからです。
対処7 : レンタルサーバーのサポートに連絡
ユーザー専用ページ「お問い合わせ」からメールを送り、たった1日で返信がありました!週末なのにありがとう、カスタマーサービスK林さん(´;ω;`)
こんな感じで怪しいファイルを探しだして教えてくれます。K林さんすごい!ありがとう!!(´;ω;`)
指摘されたファイルを削除して(使用していないテーマはテーマごと削除)、動作チェックします。問題が解決したらサポートに再度連絡して、確認してもらうことになっています。
というわけで、これなら初めからサポートに連絡して怪しいファイルを見つけてもらえばよかった、と思った次第です…(´・ω・`)
駆除が終了したら
すべての対処を行い、Google Search Consoleから「再審査のリクエスト」をします。問題がなければ下記のようなメールが数時間で送られてきます。
このメールを受信後、サイトを表示した時の赤い警告もすぐに削除され、問題は解決しました。
よかった……(´;ω;`)
まとめ
とにかく少しでもおかしいな、と思ったら面倒くさがらずにセキュリティ対策を見直し、怪しいファイルが増えていないか、変なコードが書き込まれていないかチェックするべきだと痛感しました(ノД`)
検索順位にも反映するそうですし、セキュリティ面も考えてそろそろ本格的にhttps化もしないといかんなー、と考えております。。
こんな素人丸出しの失敗がどなたかのお役に立てば幸いですm(._.)m
では、Ryo@nydewebdesignでした!