WordPressを設置した直後、私は管理者のログイン名を外から読み取れる状態にしていました。
自分のサイトで確かめたので間違いありません。しかも1つの経路ではなく、3つの別々の場所から読めました。
遮断したあと、同じ場所をもう一度開いて、読めなくなったことを確かめています。何をやったのか、どう確かめたのかを書きます。
設置した直後に何が見えていたか
このサイトを立ち上げたとき、安全の設定をする前に、外から何が見えるかを調べました。
結果として、3つの経路から管理者の名前が読み取れました。
- 番号で書き手を指定する呼び出しをすると、名前の入った住所へ転送された
- 記事の情報を取り出す仕組みから、名前がそのまま返ってきた
- 書き手ごとの記事の一覧のページに、名前が表示されていた
どれも、特別なことをしたわけではありません。住所を入れて開いただけです。
なぜ名前が知られると困るのか
ログインに使う名前が分かると、あとはパスワードだけを突破すればよい状態になります。2つ必要だったものが、1つになります。
そして、この名前は自分では見えにくい場所に出ています。管理画面を見ているだけでは、外から何が見えているか分かりません。
やった設定は4つ
私が行ったのは次の4つです。
1 使っていない入り口を閉じた
xmlrpc.php という入り口があります。外部のアプリからWordPressを操作するためのもので、使っていなければ閉じておける場所です。
私は使っていなかったので、外からの接続を拒否する設定にしました。
ここは攻撃の対象になりやすい場所です。以前、別のサイトを調べたときに、29日間で3,586件の不正なアクセスが記録されていました。珍しいことではありません。
2 番号で書き手を指定する呼び出しを止めた
書き手を番号で指定すると、名前の入った住所へ転送される仕組みがあります。この転送を止めました。
このとき気をつけたのは、管理画面の中では止めないことです。投稿の一覧を書き手で絞り込む機能が、この仕組みを使っているためです。外からの呼び出しだけを止める形にしました。
3 情報を取り出す仕組みのうち、書き手の一覧だけを止めた
記事の情報を外から取り出せる仕組みがあります。ここから書き手の一覧も取れる状態でした。
全部を止めると、他の機能が動かなくなります。そのため、書き手の一覧を取る部分だけを止めました。記事の一覧を取る部分は動いたままです。
さらに、ログインしている場合は通るようにしています。編集の画面がこの仕組みを使うためです。外から名前を集められないようにするのが目的なので、これで足ります。
4 書き手ごとの一覧のページを止めた
書き手ごとに記事をまとめたページがあり、そこに名前が出ていました。このページ自体を出さないようにしました。
私は一人で書いているので、書き手ごとに分ける意味がありません。
設定しただけでは、効いたか分かりません
ここからが本題です。
設定を入れたあと、同じ場所をもう一度開いて確かめました。そして、その結果を設定前と比べています。
なぜ後だけ見ても足りないのか
設定したあとに開いて「見えません」となっても、もともと見えなかったのか、設定が効いたのかが区別できません。
私の場合、設定前にどう見えていたかを先に記録していました。
- 1つ目の経路 … 前は転送された。後は開けなくなった
- 2つ目の経路 … 前は名前が返ってきた。後は返らなくなった
- 3つ目の経路 … 前はページが表示された。後は表示されなくなった
前と後で返ってくるものが変わったので、遮断が効いたと言えます。
実際に、効いていなかったことがありました
この確認をやっていて良かったと思う場面がありました。
別の設定を追加したとき、書き足した内容に誤りがあって、遮断が効いていませんでした。設定した後だけを見ていたら、そのまま完了と報告していたところです。
前と後を比べる指示があったから見つかりました。
確かめ方そのものを何度も間違えた話は、AIの報告を8回信じて8回とも間違っていた 確かめ方の話 に書いています。
名前を隠しても、別の場所に出ていました
もう1つ、後から分かったことがあります。
上の4つを設定したあとも、記事のページに書き手の名前が表示されていました。記事の下のほうに、書き手を紹介する部分があったのです。
遮断した経路だけを確かめて、表示される場所を確かめていませんでした。
このとき対応したのは2つです。表示そのものを止めたことと、表示に使う名前を、ログインに使う名前とは別のものにしたことです。
この2つを分けておけば、どこかに出てしまっても、ログインには使えません。
探した場所は13か所ありました
念のため、どこに名前が出ているかを全部調べました。記事に6か所、固定ページに6か所、配信用の情報に1か所の、合計13か所です。
表示を止めるだけでは足りず、住所に使う名前も変えないと残る箇所がありました。
ファイルの中にも書かれていました
さらに後日、別の作業をしていて見つけたことがあります。
見た目を作るファイルの冒頭に、作成者として名前が書かれていました。このファイルは外から誰でも読めます。
それまでの確認は、画面に出る文字だけを見ていました。ファイルそのものは一度も調べていなかったのです。
0件という報告を何度も出していましたが、調べる範囲の外にありました。
いまやっていること
上の経験から、いまは次の形にしています。
週に1度、自動で点検する
思い出したときにやる形では続きません。人が忘れていても動くように、週に1度、自動で点検が走る仕組みを組みました。
点検そのものが動いているかを、ときどき確かめる
点検の仕組みを作ったからといって、動いている保証はありません。
私は、点検の命令が動いていないのに問題なしと報告される経験を何度もしています。動いていない点検は、動いていない状態のまま、毎週正常だと報告し続けます。
そのため、わざと引っかかるものを置いて、それが検出されるかを見るようにしています。
改ざんされたサイトを復旧した記録は、WordPress改ざんの復旧記録 消えたサイトを2日で戻した にあります。
設置したら最初に確かめてほしいこと
これからWordPressでサイトを作る方に、1つだけ書いておきます。
設置した直後に、外から何が見えるかを一度確かめてください。
管理画面を見ているだけでは分かりません。自分のサイトの住所を、ふつうにブラウザで開いて、何が返るかを見る。それだけで、思っていたより多くのことが分かります。
私は、自分が見えていないものが外から見えている状態を、このサイトを立ち上げるまで知りませんでした。
サイトを立ち上げた4日間の記録は、ブログを4日で15記事まで立ち上げた記録 全部AIにやらせた にまとめています。

