WordPress管理者・投稿者向け:セキュリティ向上のためのユーザー情報の工夫
■ はじめに:WordPressサイトのセキュリティを守るために
WordPressは便利で使いやすい反面、セキュリティの設定が不十分だと攻撃者に狙われるリスクが高まります。特に、ユーザー名やパスワードの管理が甘いと、サイトの乗っ取りが発生する可能性があります。
例えば、以下のような乗っ取り手口が確認されています。
● 乗っ取りの手口例
- ユーザー名が公開されるリスク
投稿記事やブログで「投稿者」として表示される名前が、そのままログインID(ユーザー名)である場合、攻撃者にとって格好のターゲットになります。 - ブルートフォース攻撃
攻撃者は特定したユーザー名に対し、辞書攻撃やランダムなパスワード入力を繰り返し、不正ログインを試みます。 - 結果として…
サイトが乗っ取られると、次のような被害が想定されます:- 不正な広告やウイルスの配布
- 投稿内容の改ざん
- 個人情報の流出
■ 結論:ユーザー情報の工夫で守れるセキュリティ
こうしたリスクを軽減するには、管理者と投稿者それぞれができることを実践することが大切です。本記事では、具体的な対策をわかりやすくご紹介します。
■ 管理者の立場でできること
管理者は、全体のセキュリティを管理する重要な役割を担っています。以下の手順を参考にして設定を整えましょう。
1. functions.phpを利用したREST APIの制限
WordPressのREST APIが有効だと、ユーザー名が公開される可能性があります。これを防ぐために以下のコードをfunctions.php
に追加します:
phpコードをコピーするadd_filter('rest_endpoints', function ($endpoints) {
if (isset($endpoints['/wp/v2/users'])) {
unset($endpoints['/wp/v2/users']);
}
return $endpoints;
});
理由:これにより、認証されていない外部ユーザーがREST API経由でユーザー情報を取得することを防げます。
2. 投稿者名を非表示にする(CSSの活用)
投稿者名が公開されると、ユーザー名が露出する危険があります。以下のCSSをテーマの「外観」→「カスタマイズ」→「追加CSS」に追加します:
cssコードをコピーする.post-author {
display: none;
}
理由:これにより、投稿記事上の「投稿者名」が表示されなくなります。
3. 二段階認証の導入
プラグイン「Google Authenticator」を使用し、ログイン時に追加の認証コードを要求します。
理由:仮にユーザー名やパスワードが漏洩しても、不正アクセスを防ぐことができます。
4. ログイン試行回数の制限
プラグイン「Limit Login Attempts Reloaded」をインストールして、一定回数のログイン失敗でIPをブロックします。
理由:ブルートフォース攻撃を防ぐための必須設定です。
■ 投稿者(その他のユーザー)の立場でできること
投稿者や寄稿者は、自分のアカウントを安全に管理する責任があります。以下の対策を心がけましょう。
1. ログインIDと表示名を分ける
ログインIDとブログ上で表示される名前を異なるものに設定してください。
手順:
- WordPress管理画面の「プロフィール編集」を開く。
- 「ニックネーム」を入力(例:
山田先生
)。 - 「このサイト上の表示名」を「ニックネーム」に設定。
理由:これにより、ログインIDを第三者に推測されるリスクを大幅に軽減できます。
2. 強固なパスワードを設定
パスワードは以下の条件を満たすものを使用してください:
- 12文字以上
- 英大文字・小文字、数字、記号を混ぜる
- 他のサイトで使い回さない
理由:強固なパスワードはブルートフォース攻撃への最大の防御策です。
3. 不審なメールやリンクを開かない
万が一、WordPress関連の通知メールを受け取った場合は、リンクをクリックする前に正当なメールか確認してください。
■ まとめ
WordPressの運用において、セキュリティの向上は管理者と投稿者の双方の協力が不可欠です。本記事で紹介した対策を実践すれば、不正アクセスのリスクを大幅に減らすことができます。
参考資料として活用可能なチェックリスト
管理者用:
- REST APIの制限
- 投稿者名の非表示設定
- 二段階認証の導入
- ログイン試行回数の制限
投稿者用:
- ログインIDと表示名の分離
- 強固なパスワードの設定
- 不審なメールやリンクへの注意