WordPressのセキュリティキーは、ログイン情報を保護する暗号化プロトコル。悪意のあるユーザーによる不正アクセスを防いでくれます。さらにセキュリティキーを定期的に変更することで、サイトの安全を強化することができますが、そんな作業を億劫に感じている人もいるはず。

WordPressのセキュリティキーの変更は、実は非常に簡単です。方法は3種類あり、どれも高度な専門知識は要りません。この記事を読んで、今すぐサイトの保護を強化しましょう。

まずはWordPressのセキュリティキーについてご説明した後、定期的な変更が重要な理由と、3つの変更方法をご紹介していきます。

WordPressのセキュリティキーを変更する方法について動画での解説もご用意しています

WordPressのセキュリティキーとは

WordPressのセキュリティキーは、ログイン情報を保護するための暗号化ツールであり、パスワードなどの情報をロックしたり、解除したりすることで機能します。これによって、部外者が容易にログイン情報を解読することが困難になり、サイトのハッキング対策につながります。

WordPressサイトにログインすると、Cookieによってコンピュータにログイン情報が保存されるため、ページを再読み込みしたり、サイトを再訪問したりするたびにログインする必要がなくなります。

この情報は、ランダムな文字列で暗号化された形式(WordPressによる生成)で保存されるため、解読が難しくなり、情報の盗用を防ぐことができます。

セキュリティキーはWordPressで自動生成され、wp-config.phpファイルに保存されます。種類は以下の4つです。

  • AUTH_KEY
  • SECURE_AUTH_KEY
  • LOGGED_IN_KEY
  • NONE_KEY

各セキュリティキーには、それぞれ対応するWordPressソルトもあります。ソルトとは、解読を難しくするために文字列を追加する手法です。Cookieの情報を保護するのに使えます。セキュリティキー同様、wp-config.phpファイルに保存されます。

  • AUTH_SALT
  • SECURE_AUTH_SALT
  • LOGGED_IN_SALT
  • NONE_SALT

WordPressのセキュリティキーとソルトは、どちらも情報を保護し、サイト上のパスワードを認証する役割を担います。

セキュリティキーとソルトの違い

WordPressのセキュリティキーは、パスワードと同じように、英数字や特殊文字でメッセージを暗号化するものです。そして同じキーを使って暗号化を解除し、元のメッセージに戻すこともできます。

パスワードの解読を困難するのに一役買ってくれるのがソルトです。ソルトによって、セキュリティの層を厚くすることができます。

ソルトとセキュリティキーは、どちらもセキュリティの脅威からサイトを保護するという点で類似しています。特にパスワードの強度が中程度であれば、WordPressサイトがハッキングされる可能性は十分あります。無作為な文字列を使用すれば、解読はほぼ不可能になります。

セキュリティキーを変更すべき状況

セキュリティキーは、WordPressで自動生成されるため、基本的に特別な操作は必要ありませんが、以下のような状況では変更が推奨されます。

  • 悪意のあるユーザーがサイトのwp-config.phpファイル(ローカルのバックアップを含む)を閲覧またはアクセスした可能性がある場合
  • サイトがマルウェアに感染している場合
  • ハッキング対策として半年に一度

マルウェアが検出された場合は、まずサイトをスキャンしてマルウェアを駆除しなければなりません。とは言え、本来であれば、問題が深刻になる前に検知し解決できるのが理想的です。

WordPressサイトに特化したパフォーマンス監視ツール「Kinsta APM」がおすすめです。サイト上のあらゆる問題を特定し、素早くトラブルシューティングを行うことができます。

Kinsta APM
Kinsta APM

例えば、時間のかかるAPI読み出し、低速なデータベースクエリ、最適化されていないコードなどについて、タイムスタンプ付きの情報を取得することができます。KinstaのすべてのWordPressホスティングプランに無料で付帯しています。

セキュリティキーを変更する3つの方法

WordPressのセキュリティキーについて理解を深めたところで、その変更方法を見ていきましょう。

1. 専用プラグインを使用する

WordPressのセキュリティキーを変更する手っ取り早い方法は、専用のプラグインを使用すること。Salt Shakerは、まさにこれを目的に開発されたプラグインです。

Salt Shaker
Salt Shaker

Salt Shakerでは、キーとソルトの変更スケジュールを事前に設定しておくことができます。さらに、パスワードの設定と忘却もプラグインに任せられます。

まずは、WordPressにプラグインをインストール・有効化し、「ツール」>「Salt Shaker」に移動しましょう。

Salt Shakerの設定
Salt Shakerの設定

この画面で、セキュリティキーとソルトを定期的に変更するスケジュールを設定することができます。「Change Now」をクリックして、即座に変更することも可能です。

2. 一般的なセキュリティプラグインを使用する

セキュリティプラグインは、一般的にバックアップや更新など、多くのセキュリティに関連したタスクを自動化してくれます(場合によっては、サーバーにファイアウォールやマルウェアスキャンなどのセキュリティ強化策が用意されていることも)。

Sucuriは、WordPressサイトのセキュリティに特化した、優れた選択肢です。リモートマルウェアのスキャン、アクティビティ監査、ハッキング後の対処など、一連のセキュリティ機能を無料で使用することができます。

Sucuri Security
Sucuri Security

また、400万以上のインストール回数を誇るファイアウォールとマルウェアスキャンに特化したWordfenceもおすすめです。SucuriとWordfenceの比較や詳しい機能はこちらをご覧ください。

今回は、Sucuriを使ったセキュリティキーの変更方法をご紹介します。プラグインをインストールして有効化したら、「Sucuri Security」>「Settings」に移動し、「Post-Hack」タブを選択します。

Sucuriプラグイン
Sucuriプラグイン

画面を下にスクロールし、「Generate New Security Keys」をクリックしてください。

新しいセキュリティキーを生成
新しいセキュリティキーを生成

また、Salt Shaker同様、キーの変更スケジュールを設定することも可能です。ドロップダウンメニューで期間を選択し、「Submit」をクリックします。

3. 手動で変更する

最後に、サイトのファイルにアクセスして、セキュリティキーを自分で変更することもできます。重要なコアファイルを編集することになるため、操作に不安がある初心者の方には、上記いずれかの方法をおすすめします。

まずは、WordPressの秘密鍵ジェネレータで新たなセキュリティキーとソルトの値を取得します。

WordPressの秘密鍵ジェネレータ
WordPressの秘密鍵ジェネレータ

その後、何か問題が発生した場合に備えて、ウェブサイトのバックアップを作成しましょう。あるいは、ステージング環境の構築でもOKです。Kinstaのお客様なら、プレミアムステージング環境アドオンを使って構築することができます。ステージング環境とは、サイトの複製を作成し、本番サイトに影響を与えることなく、ソフトウェアのテストや更新を行うことができる環境です。

次に、wp-config.phpファイルを見つけて編集します。FTPでファイルをダウンロードしたら、編集して再度アップロードしてください。ファイルマネージャーを使用してファイルを直接編集することも可能です。

このファイルは、public_htmlフォルダに格納されています。以下のスクリーンショットでは、一番下にwp-config.phpファイルがあります。

wp-config.phpファイルを見つける
wp-config.phpファイルを見つける

ファイルを開き、「Authentication Unique Keys and Salts」が表示されるまでスクロールします。

wp-config.phpファイルでセキュリティキーを変更
wp-config.phpファイルでセキュリティキーを変更

見つけたら、ソルトとキーをWordPressで生成された新たなコードに置き換えましょう。これで完了です。なお、この操作を行うと、ログインしているすべてのユーザーが再度ログインしなければなりません(ユーザー名とパスワードには影響なし)。

完了したら、「Save」をクリックして保存しましょう。変更後の値は、二度と必要になることはないため、記録しておく必要はありません。

WordPressのログインを保護する6つのヒント

セキュリティキーの変更は、サイトのセキュリティを高めるのに効果的ですが、サイトを保護する方法は他にも多数あります。以下、6つの方法も実践してみてください。

1. 強力なパスワードの生成を推奨

安全なパスワードを設定することは基本的な対策ですが、サイトのアクセス権を持つすべてのユーザーにこれを徹底してもらうことが重要です。

会社でのパスワードの作成にパスワード生成ツールを採用しているユーザーは、なんとわずか4%。76%のユーザーが自分でパスワードを作成していると言われています。

したがって、誰かが推測されやすい脆弱なパスワードを使用しているかもしれません。今日でも、流出したパスワードの中で最も多いものは「password」と「123456」というから驚きです。ウェブサイトの安全性を確保するには、重複のない強力なパスワードを生成するようにしてください。

また、小文字と大文字の両方を使うと安全性が高まります。さらに、特殊文字や数字も加えて、できるだけ長いパスワードを設定してください。辞書に載っているような既存の言葉や、以前に使ったことのあるパスワードは避けましょう。

2. 二要素認証の導入

二要素認証(2FA)は、サイトへのアクセスを2段階で認証します。1段階目は通常のパスワード、2段階目はメッセージやメールで送信されるリアルタイムコードで認証するというのが一般的です。2段階目のキーはボットが生成することができないため、クラウドのセキュリティを高めることができます。

この認証方法は、WP 2FAなどのプラグインで導入可能です。

WP 2FA
WP 2FA

WP 2FAは、メールでのOTP(ワンタイムパスワード)、メールリンク、プッシュ通知、音声認証、WhatsAppなど、複数の認証方式をサポートしています。インストールも容易で、WooCommerceストアや、会員制サイトであってもすぐに二要素認証を設定することができます。

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

悪意のあるユーザーにパスワードを知られていなくても、既知のパスワードとユーザー名の組み合わせを使ってサイトにアクセスされてしまうことも。このような脅威は、ブルートフォース攻撃(総当たり攻撃とも)と呼ばれ、年々増えています。

これについては、プラグインを使ってログイン試行回数を制限することができます。Limit Login Attempts Reloadedがおすすめです。

Limit Login Attempts Reloadedプラグイン
Limit Login Attempts Reloadedプラグイン

このプラグインは、WordPressやWooCommerceのログイン画面で、ログイン試行の回数を制限してブルートフォース攻撃を防ぎ、サイトのパフォーマンスすら最適化してくれます。また、WordPressのログイン画面URLを変更し、不正アクセスを防ぐという手もあります。

4. 自動ログアウトの有効化

設定にもよりますが、WordPressは一定期間(通常48時間から14日間)経過すると、ユーザーを自動的にログアウトする仕様になっています。しかし、タブでセッションを開いた状態にしておくと、ブラウザのCookieを通じてハッキングが行われる恐れがあります。

そのため、一定時間後にユーザーをサイトからログアウトさせるプラグインを利用するのも効果的です。Inactive Logoutプラグインは、アイドル状態(何の操作も行われていない状態)のユーザーセッションを自動的に終了させることができる優れものです。

Inactive Logoutプラグイン
Inactive Logoutプラグイン

セッション終了時間を設定したり、ユーザーにログアウトを通知する10秒間のカウントダウンを有効にしたりすることができます。ユーザーへの通知メッセージは編集も可能で、セッション終了ページにリダイレクトすることができます。このプラグインは、ユーザインターフェース(UI)もシンプルで、操作も簡単です。

5. ユーザー役割の見直し

サイトのアクセス権を持つユーザーに対して、適切な権限を付与しているか確認することも大切です。例えば、特定の操作のために、あるユーザーの役割を編集者から管理者に引き上げ、そのままになっているということもあり得ます。ユーザー役割を元に戻すことを忘れると、第三者が管理者アカウントをハッキングし、すべてにアクセスしてしまうということも。上位のユーザー役割を不必要にユーザーに割り当てると、攻撃に対する脆弱性が高まります。

したがって、必要な操作を終えたら、ユーザー役割は元に戻すように心がけましょう。定期的にユーザー役割を見直し、各ユーザーに適切なアクセス権限が与えられているか確認することをおすすめします。ユーザー役割の変更は、WordPress管理画面の「ユーザー」ページから簡単に行えます。

6. XML-RPCの無効化

WordPressでは、XML-RPCを使って遠隔操作でコンテンツを公開できます。安全な機能ではありますが、ブルートフォースでのアクセスに悪用される可能性もあります。

この機能が特に必要ない場合は、プラグインを使用するか、.htaccessファイルを編集して、XML-RPCを無効にすることをお勧めします。

まとめ

WordPressのセキュリティキーを定期的に変更することで、ログイン情報を保護することができます。セキュリティキーはプラグインを使ったり、サイトのファイルを編集したりすることで簡単に変更可能です。これによって、ハッキング等を防ぐことができます。

セキュリティキーを変更する1番簡単な方法は、Salt Shakerのような専用プラグインを使用すること。Sucuriのようなセキュリティプラグインでも実行できます。セキュリティプラグインには、マルウェアスキャンやファイアウォールなど、他にも便利な機能が組み込まれています。また、wp-config.phpファイルを編集して自分で変更するという手も。

安全なホスティングサービスを選ぶことで、サイトのセキュリティを向上させることができます。Kinstaでは、サイト保護に2つの強力なファイアウォール、無料のSSH接続、ワンクリックでインストール可能なSSL証明書、そしてマルウェア・不正使用部門によるサポートをご利用いただけます。KinstaのWordPress専用マネージドホスティングをぜひお試しください。