ブログ

プラグインなしでWordPressを強化:全管理者が知るべき10の手動手順

プラグインに頼らずWordPressサイトを保護するための10の必須手動強化手順をご紹介します。実用的で実行可能、効果的です。

概要

多くのWordPressサイト所有者はセキュリティプラグインを唯一の防御手段として依存していますが、これは誤った安心感を生み出す可能性があります。真に強化されたWordPressインストールには、プラグインでは代替できない手動設定が必要です。この記事では、プラグインなしですぐに実装できる10の具体的なステップバイステップの強化策を提供します。正しいファイル権限の設定からXML-RPCの無効化まで、各ステップは特定の脆弱性に対処します。wp-config.phpのロックダウン、ディレクトリブラウジングの削除などを行う方法を学びます。これらの手順に従うことで、セキュリティプラグインを追加のレイヤーとして使用し続ける場合でも、攻撃対象領域を大幅に削減できます。最後には、一般的な攻撃に対してはるかに強靭な手動強化されたWordPressサイトが完成します。

はじめに

人気のセキュリティプラグインをインストールし、ファイアウォールを設定し、定期的なスキャンを実行したかもしれません。それでもWordPressサイトは脆弱なままである可能性があります。セキュリティプラグインは貴重ですが、手動強化が捉える低い果実を見逃すことがよくあります。プラグインだけに依存することは、玄関を施錠しても窓を開け放つようなものです。この記事では、使用するプラグインに関係なく、すべてのWordPress管理者が実行すべき10の手動強化手順を学びます。これらの手順はコーディングの専門知識を必要とせず、1時間以内で完了できます。サイトの基盤から強化を始めましょう。

1. 正しいファイル権限の設定

最も一般的な設定ミスの1つは、過度に寛容なファイルおよびディレクトリの権限です。理想的には、すべてのファイルは644、ディレクトリは755に設定します。wp-config.php ファイルは特に重要で、インストール後に440または400に設定します。FTPクライアントまたはホストのファイルマネージャーを使用して権限を調整します。現在の設定が不明な場合は、スクリプトを使用して簡単な監査を実行するか、コマンドラインで find /path -type f -exec chmod 644 {} \; および find /path -type d -exec chmod 755 {} \; を使用して確認します。この簡単な変更により、許可されていないユーザーが重要なファイルを読み取りまたは変更するのを防ぎます。

2. ダッシュボードからのファイル編集を無効化

デフォルトでは、WordPressは管理者が管理パネルから直接テーマやプラグインファイルを編集することを許可しています。攻撃者が管理者アカウントにアクセスすると、悪意のあるコードを注入される可能性があります。この機能を無効にするには、wp-config.php ファイルに次の行を追加します:

define('DISALLOW_FILE_EDIT', true);

これはテーマやプラグインをアップロードする機能には影響しません。インラインファイルエディタが削除されるだけです。正当な編集にはIDEやFTPを使用してください。

3. ディレクトリブラウジングの無効化

ディレクトリブラウジングが有効になっていると、誰でも wp-content/uploads フォルダ内のすべてのファイルを一覧表示でき、プライベートデータが露出する可能性があります。これを防ぐには、.htaccess ファイル(Apache)または同等の設定に次の行を追加します:

Options -Indexes

Nginxの場合は、サーバーブロックに autoindex off; を追加します。ディレクトリURLにアクセスしてテストします。ファイルリストの代わりに403 Forbiddenエラーが表示されるはずです。

4. XML-RPCの無効化

XML-RPCは、リモートパブリッシングやトラックバックに使用される古いプロトコルです。ブルートフォース攻撃やDDoS増幅の一般的なベクターです。どうしても必要な場合(Jetpackプラグインやモバイルアプリなど)を除き、完全に無効にします。.htaccess にこれを追加します:

# WordPress xmlrpc.php リクエストをブロック
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

または、プラグインやホストのファイアウォールを使用してアクセスをブロックします。無効にした後、サイトが正常に動作することをテストします。ほとんどの最新プラグインはXML-RPCに依存しなくなりました。

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

余分なテーマやプラグインはすべて攻撃対象領域を増やします。非アクティブであっても、古いコードは悪用される可能性があります。現在使用していないテーマは削除し、不要になったプラグインは削除します。これは、更新が行われなくなった放棄されたプラグインで特に重要です。ステップバイステップのクリーンアップガイドについては、放棄されたWordPressプラグインの隠れた危険性 に関する記事をご覧ください。

6. データベーステーブルプレフィックスの変更

デフォルトでは、WordPressはデータベースのテーブルプレフィックスとして wp_ を使用します。これは広く知られており、SQLインジェクション攻撃を容易にします。インストール時にプレフィックスを一意のものに変更します。サイトがすでに稼働している場合でも変更は可能ですが、より多くの労力が必要です。「Change Table Prefix」のようなプラグインを使用するか、phpMyAdminで手動で行います:

  1. データベースをエクスポートします。
  2. すべてのテーブルを新しいプレフィックス(例:mysec_)にリネームします。
  3. wp-config.php を新しいプレフィックスで更新します。
  4. 古いプレフィックスが使用されている options テーブルと usermeta テーブルを更新します。

実行する前に必ずバックアップを取ってください。

7. ログイン試行回数の制限

ブルートフォース攻撃は、攻撃者がアクセスを得る最も一般的な方法です。WordPressには組み込みのログイン試行制限はありません。これを手動で実装するには、テーマの functions.php にコードを追加するか、より良い方法として、must-useプラグインを使用します。または、ホスティングプロバイダーがコントロールパネルでこれを提供している場合もあります。プラグインを希望する場合は、軽量で適切にコーディングされたものを選びましょう。侵害への対応に関するより広範な戦略については、WordPressセキュリティ修復ワークフロー をご覧ください。

8. 管理者ユーザー名の変更

ユーザー名として「admin」を使用しないでください。ブルートフォース攻撃で最初に推測されます。そのユーザー名のアカウントが既にある場合は、一意の名前で新しい管理者アカウントを作成し、古いアカウントを削除します。また、ユーザー名の代わりにメールアドレスを使用してログインすることを検討してください。

9. データベースソルトとキーの強化

WordPressはユーザーセッションとCookieを暗号化するためにソルトとキーを使用します。これらが漏洩すると、攻撃者はセッションを偽造できます。WordPress Salt Generator を使用して新しい強力なソルトを生成します。出力をコピーし、wp-config.php の該当行を置き換えます。定期的に、特にセキュリティインシデント後に行います。

10. コアの自動更新を有効化

WordPressコアを最新に保つことは重要です。マイナーリリースとメジャーリリースの自動更新を有効にするには、wp-config.php にこれを追加します:

define('WP_AUTO_UPDATE_CORE', true);

メジャーリリースでは、まずステージングサイトでテストすることをお勧めしますが、セキュリティ更新を遅らせないでください。これをプラグインとテーマの更新の定期的な手動チェックと組み合わせてください。

結論

手動強化は、安全なWordPressサイトの基盤です。これらの10のステップは、スキャナーやプラグインが見落としがちな一般的な脆弱性に対処します。これらを実装することで、攻撃対象領域を減らし、安心感を得られます。セキュリティは継続的なプロセスであることを忘れずに、定期的にこれらの設定を見直しましょう。包括的なアプローチについては、プロアクティブなWordPressセキュリティ監査ガイド をご覧ください。今日、1つのステップから始めて、そこから積み上げてください。サイトのセキュリティは、今あなたが取る行動にかかっています。