WordPressの外から見える状態チェック

WordPressのサイトのURLを入れると、攻撃する側の手がかりになる情報が、外から見える状態になっていないかを確かめられます。バージョン番号や、ログインに使う名前などです。

誰でもブラウザで開ける場所だけを確かめます。ユーザー名などは画面に出しません。入力した内容は保存しません。

なぜ「見える」ことが問題なのか

WordPressを狙う攻撃の多くは、自動で動いています。たくさんのサイトを順に見て回り、古いバージョンやログイン名が分かったサイトから先に狙います。

見えていること自体がすぐに被害につながるわけではありません。ただ、見えていないサイトより、狙われる順番が早くなります。手間をかけずに減らせるものは、減らしておくほうが得です。

確かめている項目

項目見えていると、何が分かるか
バージョン番号どの弱点が残っているか、当たりを付けられる
readme.htmlWordPressを使っていること。場合によってはバージョン
xmlrpc.phpパスワードを大量に試せる古い入口が開いていること
ユーザー一覧(REST API)ログインに使う名前
?author=1 の転送先ログインに使う名前
アップロードの一覧表示公開するつもりのないファイルの場所

この道具は、どれも誰でもブラウザで開ける場所を1回ずつ読むだけです。パスワードを試したり、隠れたファイルを探したりはしません。ログインに使う名前が見つかっても、名前そのものは画面に出しません。

見つかったときの直し方

ログインに使う名前が分かる

パスワードの総当たりでは、名前が分かっていれば半分は済んだことになります。セキュリティ系のプラグインの多くに、REST APIのユーザー一覧と「?author=」の転送を止める設定があります。あわせて、ログイン名と表示名を別のものにしておくと安心です。

xmlrpc.php が有効

スマホアプリからの投稿や、一部の連携サービスで使う入口です。使っていなければ止めて構いません。レンタルサーバーによっては、管理画面に「XML-RPCの制限」の項目があります。

バージョン番号が見える/readme.html がある

まずWordPressを最新にすることが先です。そのうえで、番号を表示しない設定にし、readme.html は消しておきます(更新のたびに戻るので、プラグインで消すと楽です)。

アップロードの一覧が見える

サーバーの設定でフォルダの一覧表示を止めます。空の index.php を置くだけでも防げます。

隠すことと、直すことは別

バージョン番号やログイン名を隠すのは、見つかりにくくする工夫です。古いプラグインの弱点そのものは残ります。自動の攻撃は、番号を確かめずに手当たり次第に試してくることもあります。

順番は、まず本体・プラグイン・テーマ・PHPを最新にする。そのうえで、外から見える情報を減らす。この2つをそろえて、はじめて効きます。

定期的に確かめる

プラグインを足したり、テーマを替えたりすると、消したはずの readme.html が戻ったり、ユーザー一覧が見えるようになったりします。大きな更新のあとに1回、この道具で確かめる習慣にしておくと安心です。

この道具で分からないこと

外から見える状態しか分かりません。すでに改ざんされていないか、プラグインやテーマが最新か、管理画面のパスワードが強いかは確かめられません。不審な動きがあるときは、管理画面とサーバーのログを確かめてください。

あわせて守りたいもの

外から見える情報を減らしても、管理画面のパスワードが弱ければ意味がありません。長く、ほかのサービスと使い回していないパスワードにし、できれば二段階の認証を入れてください。管理画面に入れる場所(国や回線)を絞れるレンタルサーバーもあります。

この道具が読み込むのは、トップページを含めて6か所だけです。どれも、ふつうのブラウザで誰でも開ける場所です。

関連