2021年1月28日、クライアントのディレクターから「サイトがハッキングされました。見てもらえませんか?」と連絡を受けました。
そもそも僕がWordPressでサイト制作をしていたためだ。
今回はこの件を解決したので、後学のための覚書として記録します。
症状
-
症状
- フロント画面URLをたたくとアクセスできる
- Yahoo!検索の検索結果から該当サイトをクリックすると詐欺サイトへジャンプ
- FTP、phpMyAdminにはアクセスができる
- WordPressダッシュボードは「403Forbidden」になる
グーグル検索から該当サイトをクリックすると問題なくアクセスできていた。
実際のエラーメッセージ
Forbidden
You don’t have permission to access this resource.
制作環境
- 制作環境
- さくらレンタルサーバ
- WordPress
- オリジナルテーマ
- ID/Paswordともに3文字で同じもの
ID/Paswordが貧弱なのでコレが原因と思いました…
前兆
コメント機能を開放していないサイトであったのに、英語でのコメントが来ていたようだ。
当然コメントフォームはない…
チェックしたこと
順番に記します。
FTP内のファイルチェック
・新しいファイルがないかタイムスタンプを見る?→ない
・更新ファイルがないかタイムスタンプを見る?→ない
さくらレンタルサーバのサーバコントロールパネルをチェック
・何か連絡はきていないか?→ない
・バックアップはあるか?→ある
・諸々の設定をチェック→問題なさそう
原因が分からなかったのでググる
・なかなかヒントになる記事がみつからず
【原因発見!】ファイルの中身をチェック
・テーマファイル→大丈夫そう
・ドメイン直下.htaccessをチェック→なんか変な書き込みを発見!
.htaccessのコード比較
・さくらレンタルサーバーのクイックインストール機能を使ってWordPressをインストールしたばっかの.htaccessのソースコードを比較→違う
解決方法を探すためにググる
・解決方法が書いてある記事を見つける!
▼記事URL
【WordPress】ある日突然、ダッシュボードが「403 Forbidden」の対処法⇒.htaccessが改ざんされた可能性あるので修正する
https://howcang.com/2021/01/24/403-forbidden/
結果:やったこと
・書き換えられたファイルはドメイン直下の以下の2つのファイル。
→.htaccess
→index.php
・作業はFTPソフトからではなく、さくらレンタルサーバーのコントールパネル内のファイルマネージャーから作業
・パーミッションが「444」になっていたので「644」に変更した。
・書き換えられた2つのファイルを正しく書き直す。
改ざんされていたソースコード|.htaccess
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
### ↓↓こいつが加筆されている↓↓ <FilesMatch ".(py|exe|php)$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "^(about.php|radio.php|index.php|content.php|lock360.php)$"> Order allow,deny Allow from all </FilesMatch> ## ↑↑ここまで↑↑ <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> |
上記ソースコード記載にある以下4つのファイルはサーバー上になかった。
about.php
radio.php
content.php
lock360.php
index.phpは改ざんされていたので修正。
解決後の対応
・改ざんの前であろうバックアップからDBを戻す
・WordPressユーザーを全て削除、新規ユーザーを管理者としID/PWをごにょごにょ難しそうなのにする
・さくらレンタルサーバーからセキュリティ的なとこ再チェック
・WordPressダッシュボードから設定を確認。
・WordPressプラグイン「All In One WP Security」をインストール設定
さいごに
まず今回解決できて良かったです。
WPは「セキュリティがアレだよね…」って記事をチラホラ見ますが、個人的にID/PWを強固にして、しっかり管理して「おや?」って思ったら調査しておけば大丈夫なCMSと思っております。
正確な原因は分かってないですが以下の3つの事が少なからず良くなかったと思います。
1. ID/PWが貧弱すぎた
2. コメントが来ていたのを放置していなかった
3. WordPressやプラグインを全くアップデートしていなかった
今回のサイトの保守は対応していなかったため、今回の作業賃は相当額もらおうかと思っております。
クライアント様にはWordPressの弱点を再度説明して「そちらでサイトの面倒を見ることが困難であれば保守をさせてください。」と再度お願いしてみようと思います。
この記事が皆さんのお役立てば幸いです。