WordPressウェブサイトセキュリティチェックリスト:脅威からサイトを保護する

EdgeOneDev-Dev Team
10 分読む
May 29, 2025

wordpress website security checklist.png

今日のデジタル環境において、WordPress ウェブサイトのセキュリティを確保することは非常に重要です。1回のセキュリティ侵害がデータの損失やユーザー情報の漏洩、さらにはオンラインの評判の損傷につながる可能性があります。この包括的なセキュリティチェックリストは、WordPressサイトを 一般的な脅威から守り、堅牢な防御を維持するための重要なステップをガイドします。

1. ホスティングとサーバーのセキュリティ

安全なホスティングプロバイダーの選択

  • 専用のWordPressセキュリティ機能を備えたホスティング会社を選ぶ
  • 定期的なサーバー更新とセキュリティパッチを提供するプロバイダーを探す
  • WP EngineやKinstaのような隔離された/コンテナ化された環境を優先する
  • DDoS保護やサーバーレベルのファイアウォールを提供しているか確認する

EdgeOne Pagesは、高速配信のためのエッジコンピューティングを使用した安全なWordPressホスティングを提供します。これには、WAFDDoS保護、およびボット管理を使用して脅威から防御し、HTTPSはデータの暗号化を保証します。

サーバーレベルのセキュリティ構成

  • サーバーのハードニング技術を実施する
  • ApacheサーバーでModSecurityを有効にする
  • 最適なセキュリティのためにPHP設定を構成する(exec、system、shell_execなどの関数を無効にする)
  • 最新のサーバーソフトウェアを使用し、定期的に更新する

SSL証明書の実装

  • HTTPS接続を有効にするためにSSL証明書をインストールする
  • 適切なSSL証明書の更新リマインダーを設定する
  • HTTP Strict Transport Security (HSTS)を実装する
  • すべてのHTTPトラフィックをHTTPSにリダイレクトする

Webアプリケーションファイアウォール(WAF

  • CloudflareやEdgeOneのようなWAFを設定する
  • 疑わしいトラフィックをブロックするためのファイアウォールルールを構成する
  • オーディエンスが地理的に限定されている場合は国ブロックを有効にする
  • ブルートフォース攻撃を防ぐためにレート制限を実装する

2. WordPressコアセキュリティ

定期的なWordPressの更新

  • マイナーリリースの自動更新を有効にする
  • メジャーバージョン更新用のテスト環境を作成する
  • 定期的な更新チェックをスケジュールする(少なくとも週1回)
  • 更新プロセスと結果を文書化する

安全なインストールの実践

  • 可能な場合はコアディレクトリから「wp-」プレフィックスを削除する
  • デフォルトのwp-contentディレクトリ名を変更する
  • ファイル転送には安全なFTP(SFTP)を使用する
  • 公式ソースからのみWordPressをインストールする

ファイル権限

  • 適切なファイル権限を設定する:ファイルは644、ディレクトリは755
  • wp-config.phpを600の権限で構成する
  • wp-content/uploadsの権限が755であることを確認する
  • ファイルの所有権が正しいことを確認する(www-dataまたは適切なユーザー)

不要なファイルと情報の削除

  • 未使用のテーマやプラグインファイルを削除する
  • 公開表示からWordPressのバージョン情報を削除する
  • readme.htmlや他のドキュメントファイルを削除する
  • 不要なインストールファイルを排除する

データベースプレフィックスの変更

  • デフォルトの「wp_」データベースプレフィックスをカスタムのものに置き換える
  • wp-config.php内の対応する参照を更新する
  • プレフィックス変更後のデータベース機能を確認する
  • このプロセスを支援するためにセキュリティプラグインの使用を検討する

3. プラグインとテーマのセキュリティ

安全なプラグインまたはテーマを選択するためのベストプラクティス

  • 信頼できるソース(WordPress.org、信頼できる開発者)からのみプラグイン/テーマを使用する
  • 更新頻度とWordPressバージョンとの互換性を確認する
  • セキュリティ履歴や脆弱性レポートをレビューする
  • 開発者のサポート応答の速さを確認する

定期的な更新とメンテナンス

  • 信頼できるプラグインの自動更新を有効にする
  • 手動更新チェックのための定期的なスケジュールを確立する
  • プラグインのセキュリティ発表やパッチを監視する
  • 本番環境に適用する前にステージング環境で更新をテストする

未使用のプラグインとテーマの削除

  • 未使用のプラグインをすべて無効にして削除する
  • 1つのデフォルトテーマを除いてすべての非アクティブテーマを削除する
  • インストールされたプラグインを文書ファイルで記録する
  • 定期的なプラグイン監査を実施する

サードパーティコンポーネントのセキュリティ監査

  • プラグインの権限とアクセス要件を確認する
  • 既知の脆弱性についてプラグインをスキャンする
  • 重要なプラグインのコード品質を評価する
  • eコマースプラグインのデータ処理慣行を評価する

4. ユーザーアクセス管理

強力なパスワードポリシー

  • 最低12文字の複雑なパスワードを強制する
  • 大文字、小文字、数字、特殊文字の組み合わせを要求する
  • パスワードの有効期限ポリシーを実施する
  • ユーザーのためのパスワード強度指標を使用する

二要素認証

  • すべての管理アカウントに2FAを有効にする
  • 信頼できる2FAメソッドを選択する(SMSよりも認証アプリが推奨)
  • 緊急アクセス用のバックアップコードを提供する
  • 2FA回復手順を文書化する

ユーザーの役割と権限

  • すべてのユーザーに最小特権の原則を適用する
  • 定期的にユーザーの役割を監査し、権限を調整する
  • 必要に応じて特定の機能のためにカスタム役割を作成する
  • デフォルトの役割から不要な機能を削除する

ログイン試行の制限

  • ログイン試行を制限するプラグインをインストールする(Limit Login Attempts Reloadedなど)
  • 段階的なロックアウト期間を設定する
  • 複数回の失敗した試行後にIPをブロックする
  • ログインフォームにCAPTCHAを実装する

デフォルトの管理者ユーザー名の変更

  • ユニークなユーザー名を持つ新しい管理者アカウントを作成する
  • デフォルトの「admin」アカウントを削除または降格する
  • 可能な場合はメールアドレスをユーザー名として使用する
  • 実名の代わりにペンネームを使用することを検討する

5. コンテンツとデータベースのセキュリティ

データベースセキュリティ対策

  • 定期的にデータベースを最適化および修復する
  • 未使用のテーブルや投稿の修正を削除する
  • 可能な限りデータベース暗号化を実施する
  • SQLインジェクションを防ぐためにパラメータ化されたクエリを使用する

コンテンツ保護戦略

  • .htaccessを構成して機密コンテンツを保護する
  • 会員サイトのためにコンテンツ制限を実施する
  • 独自の画像にウォーターマークを使用する
  • プレミアムコンテンツのためにDRMソリューションを考慮する

SQLインジェクションの防止

  • すべてのユーザー入力を検証およびサニタイズする
  • データベースクエリをエスケープする
  • データベース操作には準備済みステートメントを使用する
  • フォームでの入力検証を実施する

ファイルアップロードのセキュリティ

  • アップロードできるファイルタイプを制限する
  • 処理前にアップロードをマルウェアスキャンする
  • 可能であればアップロードされたファイルをウェブルートの外に保存する
  • 上書きを防ぐためにアップロード時にファイル名を変更する

6. マルウェアの予防とスキャン

セキュリティプラグインの概要

  • Wordfence、Sucuri、またはiThemes Securityのような評判の良いセキュリティプラグインをインストールする
  • リアルタイムの監視と警告を設定する
  • ファイル整合性監視を有効にする
  • 疑わしい活動のためにIPブロックを設定する

定期的なマルウェアスキャン

  • 自動的に毎日または毎週のマルウェアスキャンをスケジュールする
  • 月に1回深部スキャンを実施する
  • 包括的なカバレッジのために複数のスキャンツールを使用する
  • マルウェア定義を常に最新の状態に保つ

マルウェア除去手順

  • マルウェア除去プロセスのステップバイステップの文書を作成する
  • 感染したサイトのための隔離手順を作成する
  • クリーンバックアップ復元プロトコルを確立する
  • セキュリティインシデント対応計画を維持する

ブラックリスト監視

  • 検索エンジンのブラックリスト登録のアラートを設定する
  • Google Search Consoleでセキュリティ問題を監視する
  • 複数のサービスでのブラックリストステータスを確認するためのツールを使用する
  • ブラックリスト削除のための修正手順を文書化する

7. バックアップと復旧計画

定期的なバックアップスケジュール

  • 毎日の自動バックアップを構成する
  • スペースを節約するために差分バックアップを実施する
  • 各バックアップに含まれるものを文書化する
  • バックアップの整合性を定期的にテストする

オフサイトバックアップストレージ

  • バックアップを複数のプラットフォームに保存する(クラウドサービス、物理ドライブ)
  • ストレージ前にバックアップファイルを暗号化する
  • 重要なデータのために地理的冗長性を実施する
  • Dropbox、Google Drive、または専門のバックアッププロバイダーのサービスを使用する

復元プロセスのテスト

  • 四半期ごとの復元演習をスケジュールする
  • 復元手順をステップバイステップで文書化する
  • 復元時間要件を測定する
  • 複数のチームメンバーに回復手順を訓練する

緊急対応計画

  • 文書化された災害復旧計画を作成する
  • セキュリティインシデント中の通信プロトコルを確立する
  • 復旧中の役割と責任を定義する
  • ホスティングおよびセキュリティサービスの緊急連絡先情報を維持する

8. 監視とメンテナンス

セキュリティログと監視

  • WordPressのアクティビティログを有効にする
  • セキュリティログを毎週レビューする
  • 疑わしい活動のためのアラートを構成する
  • 将来の参考のためにログをアーカイブする

稼働時間の監視

  • ウェブサイトの稼働時間監視ツールを実装する
  • ダウンタイムの通知を設定する
  • パフォーマンスパターンと異常を追跡する
  • ベースラインパフォーマンスメトリックを文書化する

定期的なセキュリティ監査

  • 四半期ごとの包括的なセキュリティ監査をスケジュールする
  • 自動スキャンツールと手動チェックを組み合わせる
  • 監査結果と修正手順を文書化する
  • 時間の経過とともにセキュリティ改善を追跡する

更新後のセキュリティチェック

  • 更新後にサイト機能を確認する
  • 主要な更新後に新たな脆弱性をスキャンする
  • プラグイン更新後にセキュリティ設定をレビューする
  • 変更を文書化する

9. 追加のセキュリティ層

CAPTCHAの実装

  • ログイン、登録、およびコメントフォームにCAPTCHAを追加する
  • reCAPTCHA v3のような最新のCAPTCHAソリューションを使用する
  • 代替手段としてハニーポット技術を実装する
  • セキュリティとユーザーエクスペリエンスのバランスを取る

コメントのセキュリティ

  • コメントのモデレーションを有効にする
  • Akismetなどのスパム対策を実施する
  • コメントする前に登録を要求する
  • 古い投稿のコメントを無効にする

ブルートフォース保護

  • 失敗したログイン試行の後にIPをブロックする
  • ログインURLの変更(wp-adminリダイレクト)を実施する
  • 失敗したログイン後にCAPTCHAを設定する
  • IP地理位置制限を考慮する

IPブロック技術

  • ターゲット市場にない高リスク国からのIPをブロックする
  • 信頼できるIPアドレスのホワイトリストを作成する
  • 動的IPブラックリストを使用する
  • 一時的なブロックと永久的なブロックのポリシーを実施する

10. WordPressセキュリティプラグインの機能

WordPressセキュリティプラグインを選択する際には、以下の機能を考慮してください:

  1. マルウェアスキャン:定期的にサイトをマルウェアスキャンし、脅威が検出された場合は警告します。
  2. ブルートフォースログイン保護:不正なログイン試行を防ぎ、失敗した試行の数を制限し、疑わしいIPアドレスをブロックします。
  3. ハッカー偵察技術への保護:ポートスキャンや脆弱性探索などの偵察試みに対して検出およびブロックします。
  4. 定期的なルールセット更新を伴うWAF:定期的に更新されるルールを持つWebアプリケーションファイアウォール(WAF)は、一般的なWebアプリケーション攻撃をブロックできます。
  5. レートベースのスロットリングとブロック:単一のIPアドレスからのリクエストのレートを制限して、悪用やDDoS攻撃を防ぎます。
  6. 二要素認証:ログイン時に第二の確認形式を要求することで、追加のセキュリティ層を追加します。
  7. パスワード監査:ユーザーのパスワードの強度とセキュリティポリシーへの適合性をチェックします。
  8. 国ブロック:特定の国からのトラフィックをブロックして、悪意のある地域からの攻撃リスクを減らします。
  9. 高度なブロック技術:IPブロック、ユーザーエージェントブロック、リファラーブロックなどの高度なブロックオプションを提供します。

結論

WordPressウェブサイトのセキュリティを確保することは、警戒心と積極的な措置を必要とする継続的なプロセスです。この包括的なセキュリティチェックリストに従うことで、セキュリティ侵害のリスクを大幅に減少させ、一般的な脅威からサイトを保護できます。最新のセキュリティベストプラクティスについて常に情報を得て、セキュリティ対策を定期的に見直し、更新することを忘れないでください。強力な防御があれば、安全で信頼性の高いオンラインプレゼンスを維持できます。

Tencent EdgeOneは、Tencentエッジノードに基づいた加速とセキュリティソリューションを提供し、WAFAnti-DDoSなどのセキュリティ保護サービスを提供します。ノードは、さまざまなレイヤー3/4/7攻撃リクエストを特定してブロックし、DDoS攻撃トラフィックを浄化し、スマートAIエンジンとボットポリシーエンジンを使用して、ウェブ、ボット、CC攻撃の振る舞いを分析し、攻撃ブロックポリシーを更新します。これにより、悪意のあるリクエストがオリジンサーバーに到達するのを防ぎ、ビジネスへのスムーズで安定したアクセスを保証します。サインアップして、無料トライアルを始めましょう!