なぜうちのサイトがマルウェア感染したんですか?

Q: なぜうちのサイトがマルウェア感染したんですか?
A: WordPressやプラグインの古いバージョンに脆弱性があったためです。更新していれば防げました。
まず、例え話で説明します
マルウェア感染は、家の鍵の掛け忘れと同じです。
鍵を掛けなかった家:
- ドアに鍵がかかっていない
- 泥棒が簡単に侵入
- 貴重品が盗まれる
- 「なぜ盗まれたか?」→ 鍵を掛けなかったから
WordPressの更新をしないサイト:
- セキュリティの穴が開いている
- ハッカーが簡単に侵入
- サイトが改ざんされる
- 「なぜ感染したか?」→ 更新しなかったから
マルウェア感染の主な原因
原因1:WordPressやプラグインが古い(80%)
最も多い原因です。
WordPressの古いバージョンには、セキュリティの穴(脆弱性)があります。ハッカーはこの穴を狙います。
参考データ:
- WordPressの脆弱性:年間50件以上
- プラグインの脆弱性:年間1,000件以上
感染までの流れ:
- WordPressに脆弱性が発見される
- セキュリティアップデートがリリースされる
- 更新しないサイトが残る
- ハッカーが脆弱性を悪用
- マルウェアが仕込まれる
原因2:パスワードが弱い(10%)
簡単なパスワードは、すぐ破られます。
弱いパスワードの例:
- password
- 123456
- admin
- 会社名
ハッカーの手法:
- ブルートフォースアタック(総当たり攻撃)
- 辞書攻撃(よくあるパスワードを試す)
参考データ:
- 「password」は3秒で破られる
- 8文字の英数字は3時間で破られる
- 12文字の英数字記号は数年かかる
原因3:テーマやプラグインに問題がある(5%)
無料テーマ・プラグインには、マルウェアが仕込まれていることがあります。
危険なソース:
- 海外の無料配布サイト
- 違法なコピー(nulled)
- 非公式のダウンロードサイト
公式リポジトリなら安全:
- WordPress.org
- 公式テーマディレクトリ
- 公式プラグインディレクトリ
原因4:管理画面のURLが公開されている(3%)
WordPressの管理画面は、デフォルトで誰でもアクセスできます。
デフォルトのログインURL:
https://example.com/wp-admin/
https://example.com/wp-login.php
ハッカーはこのURLに自動でアクセスして、パスワードを破ろうとします。
原因5:FTPのパスワードが漏れた(2%)
FTPの通信が暗号化されていないと、パスワードが盗まれます。
FTPの問題:
- パスワードが平文で送信される
- Wi-Fiで盗聴される
対策:
- SFTP(SSH File Transfer Protocol)を使う
- FTPSを使う
マルウェア感染の確認方法
確認1:Google Search Consoleの警告
- Google Search Consoleにログイン
- 「セキュリティの問題」を確認
- 警告があれば感染の可能性
所要時間: 1分 難易度: 簡単
確認2:セキュリティプラグインでスキャン
おすすめプラグイン:Wordfence Security
- Wordfenceをインストール
- 「スキャン」を実行
- マルウェアが検出されるか確認
所要時間: 10分(スキャン時間) 難易度: 簡単
確認3:サイトの異常を目視で確認
確認ポイント:
- トップページに見知らぬリンクがある
- 広告が勝手に表示される
- サイトの表示速度が異常に遅い
- 知らない管理者アカウントが追加されている
所要時間: 5分 難易度: 簡単
マルウェア感染後の対処
ステップ1:サイトを一時的に閉鎖
理由: 訪問者への被害拡大を防ぐため。
方法:
- サーバーの管理画面にログイン
- メンテナンスモードを有効化
所要時間: 5分 難易度: 簡単
ステップ2:バックアップから復元
バックアップがある場合:
- 感染前のバックアップを選ぶ
- 復元を実行
- 動作確認
所要時間: 30分 難易度: 普通
ステップ3:セキュリティプラグインで駆除
バックアップがない場合:
- Wordfenceをインストール
- スキャンを実行
- 検出されたマルウェアを削除
所要時間: 1時間 難易度: 普通
注意: 完全に駆除できない場合があります。
ステップ4:WordPress本体とプラグインを最新版に更新
- WordPress本体を更新
- すべてのプラグインを更新
- テーマを更新
所要時間: 10分 難易度: 簡単
ステップ5:全てのパスワードを変更
変更すべきパスワード:
- WordPress管理者パスワード
- FTPパスワード
- データベースパスワード
- サーバー管理画面のパスワード
所要時間: 15分 難易度: 簡単
ステップ6:Google Search Consoleに審査リクエスト
- Google Search Consoleにログイン
- 「セキュリティの問題」を開く
- 「審査をリクエスト」をクリック
所要時間: 5分 難易度: 簡単
審査期間: 数日〜2週間
マルウェア感染を防ぐ方法
対策1:定期的に更新する
やること:
- WordPress本体:リリース後、1週間以内に更新
- プラグイン:毎週確認して更新
- テーマ:月1回確認して更新
所要時間: 週10分 難易度: 簡単
対策2:強固なパスワードを使う
推奨パスワード:
- 12文字以上
- 大文字・小文字・数字・記号を含む
- 辞書にない文字列
例:
良い:Xk9!mP#2vQzL8rT$
悪い:password123
所要時間: 5分 難易度: 簡単
対策3:セキュリティプラグインを導入
おすすめプラグイン:Wordfence Security
機能:
- リアルタイムスキャン
- ファイアウォール
- ログイン試行回数制限
所要時間: 30分(初回設定) 難易度: 普通
対策4:バックアップを自動化
バックアップがあれば:
- 感染してもすぐ復旧できる
- 被害を最小化できる
推奨設定:
- 頻度:毎日
- 保存先:Google Drive、Dropbox
- 世代数:7世代
所要時間: 30分(初回設定) 難易度: 普通
良い例・悪い例
❌ 悪い例
WordPressの更新を1年間放置
パスワード:password
バックアップなし
→ マルウェア感染
→ バックアップがないので復旧できない
→ サイトを再構築(数週間)
✅ 良い例
毎週、WordPress・プラグインを更新
パスワード:Xk9!mP#2vQzL8rT$(12文字)
毎日自動バックアップ
→ マルウェア感染しにくい
→ 感染しても30分で復旧
まとめ
結論:古いバージョンのWordPressやプラグインが主な原因です。定期更新で防げます。
主な感染原因:
- WordPressやプラグインが古い(80%)
- パスワードが弱い(10%)
- テーマやプラグインに問題(5%)
感染を防ぐ方法:
- 定期的に更新(週10分)
- 強固なパスワード(12文字以上)
- セキュリティプラグイン導入
- バックアップ自動化
最初の一歩: まずは今日、WordPressとすべてのプラグインを最新版に更新しましょう。次に、Wordfence Securityをインストールして、スキャンを実行してください。これだけで、マルウェア感染のリスクが大幅に減ります。
次に読むべき記事:
サーバー管理のプロだけど質問ある? いまさら聞けない質問の答えがここにある|svadmin.net