
とあるWebニュースでWordPressのログイン画面が危険に晒されていることがあることを知った。
初心者な分だけ不安になり、このブログサイトのセキュリティについて気になった。
なにせ、初心者が自分で立ち上げている時点で不安が多く、先だっては子テーマではなく親テーマにカスタマイズを加えていたほどだ。
Webニュースの通りに「https://ss54-life.com/wp-login.php」にアクセスしてみたら、そこに表示されたのは――
『 Hello! My Name Is 404 』
一見ふざけたメッセージのようだけど、実はこの表示がセキュリティ的には合格の証だった。
自覚のないままだが、最低限で必要なレベルはクリアできていたのだ。
WordPressは初期状態で危ない!?
WordPressはインストールしたままだと「https://あなたのドメイン/wp-login.php」というURLでログイン画面が丸見えになっているらしい。
このままだとブルートフォース攻撃(文字組みの総当たりでIDとパスワードを試す攻撃)の対象になりやすいのだ。
だが、自分のサイトは今回のチェックと修正でログイン画面が非表示になっていることを確認できて、ひと安心だ。
SiteGuard WP Pluginの重要性を理解する
WordPress管理画面を見てみると、プラグイン「SiteGuard WP Plugin」はすでにインストールされていた。
これは、このブログサイト立ち上げ当初に調べたオススメプラグインとして多く書かれていて、軽い気持ちでインストールと有効化して「何となく」で設定しておいたものだ。
設定を改めて確認すると、以下のような対策が取られていた。
- ログインURLが /wp-login.php ではなく、自動生成された別のURLに変更されている
- ログインページにひらがな画像認証が追加されている
- /wp-admin にアクセスしても、リダイレクトでログインページ(TOPページ)に転送される
なるほど、だから /wp-login.php にアクセスしても404が出るわけだ。
でも、警告文も出た!?
一方で、/wp-login.php にアクセスした際にPHPの警告が表示された。
Warning: Undefined variable $tag in utility-keyvisual.php on line 662
これは、Gold Blogのテーマファイル内の未定義変数が原因らしい。
エラーメッセージが表示されてしまうのは、外部に余計な内部構造を晒してしまうという意味で気持ちワルイので、これも避けておきたい。
wp-config.phpでエラー表示をオフにする
この問題は、WordPressの設定ファイル「wp-config.php」に以下の記述を加えることで解決できた。
書く場所は、「 」の直前だ。
if ( ! defined( ‘WP_DEBUG’ ) ) {
define( ‘WP_DEBUG’, false );
}
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
私のケースは、これでPHPのWarningやNoticeがブラウザ上に表示されなくなり、本番環境としてふさわしい状態になったと思う。
まとめ:セキュリティチェックは自分でできる
「ログイン画面がむき出しになっていないか?」
これは自分で簡単にチェックできる。
- 「 https://あなたのドメイン/wp-login.php 」にアクセスして普通にログイン画面が表示されるか?
- 「 SiteGuard 」などのプラグインでデフォルトではないログインURLに変更されているか?
- /wp-admin/ にアクセスした際の挙動はどうか?
今回は「チェックしてみた」からだったが、結果としてサイトの安全性を見直すきっかけになった。
あなたのWordPressブログは、大丈夫?
この記事を書いた人Wrote this article

kyosuke
Swing&Savor54(スイセイ ごーよん)の編集人にして埼玉在住のアラフィフ サラリーマン。老後の「行くとこ・やること」を考えながら、初老の日常を発信していきます