先日見かけた次の記事を参考にセキュリティ強化を試してみました。(たぶん強化になってると思う)
日本のWordPress 約15%がユーザーID丸見え、4割がログイン画面むき出し! 18万サイトを調査【プライム・ストラテジー調べ】
ずいぶんと煽ってる記事のタイトルですが、書いてあることは基本的にうなづける内容だと思います。
行った設定は次の2点
ユーザーID(管理画面用アカウント)の非表示化
上の記事で指摘されている通り、どうも標準設定のWordPressでは管理画面にログインする際に使うユーザーIDがむき出しとなっているようです。ブログの記事上で「投稿者名」として表記されてるし、htmlソースを覗くとアチコチのタグにこのユーザーIDが埋め込まれていました。
対処法としては「ユーザーID」ではなく「ニックネーム」を使うことにしました。
管理画面のメニュー「ユーザー」ー>「プロフィール」をたどり、「ニックネーム」を設定したら「ブログ上の表示名」でその「ニックネーム」を選択し、「プロフィールを更新」して設定は完了です。
投稿している記事の量で時間が左右しますけど、しばらくするとすべてのページ(トップページや個々の記事等)にこの設定が反映します。
Basic認証の導入(WordPressログイン画面表示の回避)
Basic認証が設定されているページ(例えばWordPressログイン画面)へアクセスすると次のようなポップアップが表示され、ユーザー名・パスワードの入力を求められます。
要はいきなりWordPressのログイン画面を表示させないようにロックをかけているわけです。もちろんWordPressのログイン情報(ユーザーIDとパスワード)が漏洩していなければ、WordPressのログイン画面が表示されたとしても不正ユーザーにログインされることは多分ないでしょう。しかしパスワードに対して総当たり攻撃されてしまう可能性はあります。さらにユーザーIDがブログ上に表示されている場合、ターゲットはパスワードだけになりますから、リスクも高まります。
それでBasic認証をかける方法として今回検討したのは次の3つ。
- WordPress用のプラグインを使う
何点かプラグインが公開されています。これを使うことにより簡単な設定が可能みたいです。しかし私はあまりプラグインを使いたくない者でして、今回は見送ってます。 - 「.htaccess」と「.htpasswd」をサーバーに設定する
一応試してみましたが、ファイルに記述するパスワードを暗号化する必要があり、その暗号化に第三者のWebサービスを使う必要があるため「なんとなく嫌だな」でこれも見送り。 - ホスティングサービスの設定機能を利用する
契約している「さくらインターネット」の管理機能「ファイルマネージャ」で簡単に設定できました。助かりました。
なおBasic認証で利用可能な文字の種類や文字列の長さは限定的です。セキュリティ強度として低いものであることは留意が必要でしょう。
上記2点以外にも様々なセキュリティ強化の手段があるようですが、徐々に勉強しながらやれる範囲で試してみることにします。プラグインを使うと簡単にいろいろ出来るみたいですが、慎重に進めます。