前回の対策からひと月ほど経って、マルウェアスキャナーがマルウェアを発見したので対策します。
マルウェアスキャナー
マルウェア発見はこんな感じ。プラグインから最新ファイルを突き止めるのは有料版を購入する必要があります。
とりあえず、サーバーでファイルの確認。
こんなファイル名 WordPress にあったかなって名前のファイルを発見。
中身を開いたら、不正にリダイレクトをかける記述を発見。
- 不正ファイル名:opl.php
- 不正内容:マルウェアでよく使われる eval 関数 を利用して不正な処理をしている。
すぐに不正ファイルを削除して、再度 WordPress にマルウェアスキャナをかけるとマルウェアがなくなりました。
このマルウェアスキャナーはかなり優秀です。感謝。
Jetpack Protect
Jetpack Protect はダッシュボードに
「Don’t worry about a thing.The last Protect scan ran 1 hour ago and everything looked great.(何も心配しないで。最後の保護スキャンは 1時間前に実行され、すべてが良好に見えました。)」
と表示され今回はマルウェアを見つけることができませんでした。
有料版なら更新が早いので見つけていた可能性があります。
サーバー内の不要ファイルを削除
不正ファイルがサーバー内に仕込まれた原因は突き止めることができませんでした。
原因はいろいろと考えられますが、アイデアが浮かんで作りかけの更新していない WordPress から脆弱性を突かれて不正侵入された可能性があります。
サーバーにインストールしていた WordPress は全て汚染されていたので、手を付けていない WordPress はアンインストールして利用ドメインは初期化しました。
また、レンタルサーバーをファイルの移動や倉庫にも使っていましたが、どこにバックドアやマルウェアが隠れているか分からないのでサーバーに保存していたフォルダやファイルも削除しました。
サーバーが犯されるのは想定外でしたが、今後はできる限り1サーバーに1サイトで脆弱性を突かれないように運営していこうと思います。
サイトの確認
マルウェアスキャナでマルウェアに汚染されていないことを確認後です。
サイトが乗っ取られると、知らない間に不審なユーザーが登録されています。非常に危険なのですぐに確認してください。
管理画面の左メニュー[ユーザー]内[ユーザー一覧]を押します。
知らないユーザーがここにいたらすぐに削除してください。
SiteGuard プラグイン
今回、被害が大きくならなかったのは SiteGuard プラグインの功績が大きいです。
スパマーのログインをブロックした状況を確認します。
管理画面左メニューの SiteGuard の[ダッシュボード]内[ログイン履歴]を確認します。
IP アドレス 102.129.152.76 にアタックされていました。
IPアドレス詐欺チェッカーで確認すると詐欺のリスクが高いIPアドレスです。危ない。
SiteGuard でログインロックを使っていたので、同一接続元からの連続したログイン失敗を検出して、当該接続元からのログインをロックします。
多くの接続元を使用する攻撃や、ゆっくりとした攻撃には効果がない場合がありますが、機械的なログイン試行をブロックするには効果を発揮します。
さらに SiteGuard でスパム対策をしました。
- 管理ページのアクセス制限
- ログインページの変更と URL の複雑化
- フェールワンスの導入
フェールワンスは正しい入力を行っても、ログインを一回失敗します。わかっていてもログインに失敗すると毎回どきっとします。
これで、SiteGuard の対策は完了です。
WordPress ログインパスワードの複雑化
WordPress のログインパスワードを特定まで時間がかかるように複雑化しました。
パスワードの変更方法は、管理画面の左メニュー[ユーザー]内[ユーザー一覧]を押します。
右がユーザー画面に切り替わったらパスワードを変更するユーザーの[名前]か[編集]を押します。
プロフィール画面が開くので、アカウント管理の新しいパスワーから[新しいパスワードを設定]を押すとログインパスワードを変更できます。
これで、サイトのパスワードが盗まれていてもスパマーはログインできません。
サーバーのパスワードを変更する
今回のトラブルは Xサーバーだったので、パスワードを変更してパスワードの特定が困難になるように複雑化しました。
- Xserverアカウント
- FTPパスワード
これで、サーバー方面と FTP を利用した通信のブロックが完了です。
その他の対策
不正アクセスの原因は大きく2種類あります。
- セキュリティーホール:例)WordPress 等のプログラムにセキュリティ上問題のある脆弱性があり、スパマーにバグを利用して不正なコマンドの実行やファイルの設置をされた。
- パスワードの流出:例)FTP情報が流出してスパマーから不正にFTP接続されると、ファイルの改ざんや不正プログラムの設置などしたい放題。
セキュリティホール検知サイト
まずはマルウェアやバックドアなど徹底的に調べます。
ウェブサイトのセキュリティ状況をチェックするサイトです。URL を入力するとチェックできます。
Wordfence Security プラグインの導入
WordPress にファイアーウォールプラグインをインストールします。
Wordfence Security は WordPress プラグインディレクトリから自動でインストールできます。
インストールして有効化すると Wordfence Security が起動して
- セキュリティアラートを送信するメールアドレスの入力
- メーリングリスト参加の可否
- 利用規約や契約、プライバシーポリシーのチェック
の必要事項を記載して[次へ]を押します。
有料版のプレミアムライセンスキーの入力画面です。[いいえ、結構です]を押します。
有料版と無料版の違い
- 有料版は年1万円程度の料金で、リアルタイムのファイアウォール ルール、マルウェア シグネチャ、国のブロックを取得し、動的に更新される IP ブロックリストを使用して 40,000 を超える悪意のある IP をブロックします。プレミアムカスタマーサポートが含まれています。
- 無料版は、サイトを安全に保つために必要な基本的なツールで攻撃をブロックします。ファイアウォール ルールとマルウェア シグネチャは 30日間の遅延があります。
Wordfence が起動します。
上部通知にある「サイトをできるだけ安全にするために、Wordfence Web アプリケーションファイアウォールを最適化する時間を取ってください。」の[設定するにはここをクリック]を押します。
Wordfence ファイアウォールの最適化が開きます。
- サーバーの構成が分かっている場合はプルダウンから選択してください。(分からない場合はそのままでOK)
- .htaccess や .user.ini ファイルをダウンロードしてください。最適化に失敗した場合に置き換えると元に戻せます。
- 準備が済んだら[次へ]を押して設定を完了します。
まとめ
まだ、終わったわけではないですが、マルウェアの検出も不正ログインの痕跡もいまのところないです。
本当に、
- Google からサイトの乗っ取りを指摘されて検索結果から排除
- サーバーから不正アクセスの連絡を受けてレンタルスペースの強制隔離
になる前に対策できたことが不幸中の幸いでした。
1か月ほど様子を見て、問題が無いようなら Xserver をさらに高速な最新サーバーに無料移行します。
また問題があるようなら、ドメインを初期化して、ワードプレスとプラグインのクリーンインストールをするつもりです。
コメント