WordPressを安全に守るための初心者向け最新5ステップ
WordPressは世界中で愛用されているだけに、攻撃対象としても人気の高いプラットフォームです。サイトを公開する前に、まずは基礎的なセキュリティ対策を施しましょう。以下では、初心者の方にも分かりやすく、実際に手を動かしやすい「最新5ステップ」と、それに合わせたチェックリストをご紹介します。
1. まずは「アップデート」の見直し
1‑1. コア・テーマ・プラグインを常に最新へ
WordPress本体、使っているテーマ、全プラグインは、セキュリティパッチが含まれる更新がリリースされるたびに即座に反映させます。
- 自動更新を有効にしておくと、管理画面を覗くたびに「更新済み」と確認でき、抜け漏れを防げます。
- ただし、プラグイン間の互換性を担保するため、更新前に必ずテスト環境またはステージング環境で動作確認を行いましょう。
1‑2. バージョン管理・更新履歴の管理
- 更新を行った際に「何が変更されたか」をメモ書きしておくと、後からなぜ変更したかを思い出せます。
- 可能ならGitを併用し、リポジトリにアップデートログを保存しておくと、元に戻す時も楽です。
2. 認証強化:パスワードと二要素認証 (2FA)
2‑1. 強いパスワードの作成
- 12文字以上、英大文字・英小文字・数字・記号を混在させる。
- パスワードマネージャー(1Password, Bitwarden など)を使い、複雑なパスワードを管理しましょう。
2‑2. 二要素認証の導入
- 代表的なプラグイン「Google Authenticator」「Wordfence 2FA」などで、ログイン時にスマホアプリで生成されたワンタイムパスワードを求める設定へ変更。
- 認証コードをメールで送信する方式より、SMSやメールを狙った攻撃に対して効果が大きいです。
2‑3. 管理者IDの非標準化
- 「admin」や「root」など、推測しやすいユーザーIDは避け、よりランダム性の高い名前に変更。
- 既存のユーザーID変更時は、FTP や phpMyAdminで手動変更するか、ユーザー編集プラグインを利用してください。
3. ログイン保護と監視体制の構築
3‑1. ログイン試行回数の制限
- 「Limit Login Attempts Reloaded」「iThemes Security」などで、失敗連続回数を超えるとIPを短時間ブロック。
- ブロック IP が逆に正規ユーザーのアクセスを妨げないよう、VPN で接続したときの例外設定も忘れずに。
3‑2. ログインページの名前変更
- 典型的な URL(
wp-login.php、wp-admin)をカスタムに変更し、ブルートフォース攻撃から一歩遅れる。 - プラグイン「WPS Hide Login」や「Loginizer」で簡単に設定できます。
3‑3. ログファイルとアラート設定
- wp-config.phpに次の行を追加して、すべてのエラーをログに記録。
define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', true ); // デバッグログを保存 define( 'WP_DEBUG_DISPLAY', false ); // スクリーンに表示しない - ログインの失敗や不審なアクセスが検知されたら、メール通知や Slack 通知で即座にアラートを受け取るように設定しておくと安心です。
4. セキュリティプラグインとサーバー環境の最適化
4‑1. 包括的セキュリティプラグインの導入
- Wordfence Security:ファイアウォール+マルウェアスキャン、リアルタイムトラフィック監視。
- Sucuri Security:ホスト側での保護(Cloudflare の WAF 併用可)。
- ただし、同じ機能を複数のプラグインでカバーすると重複や衝突が起きやすいので、1〜2 個のプラグインで統括するのがベストです。
4‑2. ファイルアクセス制御
.htaccess(Apache)やnginx.conf(Nginx)で、wp-config.php や wp-admin フォルダへの直接アクセスを禁止。- 例(Apache)
<Files wp-config.php> Order allow,deny Deny from all </Files> <FilesMatch \.php$> AuthType Basic AuthName "Restricted Area" AuthUserFile /path/to/.htpasswd Require valid-user </FilesMatch>
4‑3. データベースの保護
wp-config.php内で DB_TABLE_PREFIX をwp_以外の独自文字列に変更し、SQL インジェクション難読化。- データベースへの直接接続許可リストを IPホワイトリストで限定。
5. 定期的なバックアップと脆弱性スキャン
5‑1. バックアップ戦略
- 完全バックアップ + ディファレンシャルバックアップ を毎日実行。
- バックアップファイルはサーバー外(クラウドストレージ:Google Drive, Amazon S3, Backblaze B2 など)へ定期的に保存。
5‑2. バックアップのテスト
- バックアップを取ったら、実際に復元テストを行い、「失敗したらもう使えない」 という状況を回避。
- もし 復元ポイントが古い なら、最新のバックアップを作っておく。
5‑3. 脆弱性スキャンとレポート
- Wordfence に含まれるマルウェアスキャンを週に1〜二回実施。
- スキャン結果は メールレポートで受け取る設定にしておくと、抜け漏れチェックが楽です。
チェックリスト:完了すべき防御ライン
| # | 項目 | 実施済み |
|---|---|---|
| 1 | コア・テーマ・プラグインを最新へ更新 | ☐ |
| 2 | パスワードは12文字以上、英大文字・小文字・数字・記号混在 | ☐ |
| 3 | 二要素認証(2FA)を有効化 | ☐ |
| 4 | 管理者IDを非標準化 | ☐ |
| 5 | ログイン試行回数制限設定 | ☐ |
| 6 | ログインページ名変更(例: /secret-login) |
☐ |
| 7 | デバッグログをファイル化し表示をオフ | ☐ |
| 8 | Wordfence あるいは同等プラグイン搭載 | ☐ |
| 9 | ファイルアクセス制御(.htaccess, nginx.conf) | ☐ |
| 10 | データベーステーブルプレフィックス変更 | ☐ |
| 11 | バックアップを毎日実行し外部に保存 | ☐ |
| 12 | バックアップ復元テスト | ☐ |
| 13 | 週1回マルウェアスキャン実施 | ☐ |
| 14 | スキャン結果のメールアラート設定 | ☐ |
上記チェックリストを週単位で毎回確認しながら、「アップデート+2FA+ログイン制限+ファイアウォール+バックアップ」のサイクルを習慣化します。こうした「定型作業」が、WordPressを安全に保つ最大の武器になります。
まとめ
WordPressのセキュリティは、一度整えたら終わりではなく、継続的なメンテナンスが鍵です。初心者でも手軽に実践できる5つのステップを押さえつつ、常に最新情報に触れ、必要に応じて対策をアップデートしていけば、ハッカーから自サイトを守ることは十分に可能です。ぜひ、このガイドを活用し、安心してサイト運営を始めてください。

コメント