WordPressの外から見える状態チェック
WordPressのサイトのURLを入れると、攻撃する側の手がかりになる情報が、外から見える状態になっていないかを確かめられます。バージョン番号や、ログインに使う名前などです。
なぜ「見える」ことが問題なのか
WordPressを狙う攻撃の多くは、自動で動いています。たくさんのサイトを順に見て回り、古いバージョンやログイン名が分かったサイトから先に狙います。
見えていること自体がすぐに被害につながるわけではありません。ただ、見えていないサイトより、狙われる順番が早くなります。手間をかけずに減らせるものは、減らしておくほうが得です。
確かめている項目
| 項目 | 見えていると、何が分かるか |
|---|---|
| バージョン番号 | どの弱点が残っているか、当たりを付けられる |
| readme.html | WordPressを使っていること。場合によってはバージョン |
| 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か所だけです。どれも、ふつうのブラウザで誰でも開ける場所です。
関連
- 個人のWordPressでやる最小限。5つだけ
- 簡易PHP診断(WordPressが動いているPHPの状態)
- 道具の一覧に戻る