こんにちは宮川(@miyakawa2449)です。
10回に分けてWordPressの脆弱性・改ざん対策を記事にしています。
前回は「1.WordPress基礎のキソ。最新版にアップデート!」のお話でした。
今回はWordPressのユーザー情報の守り方の扱いについて紹介します。
2.あなたのWPユーザ ー情報丸みえですよ
WordPressユーザーであればご存知と思いますが、ユーザー名とパスワードの2つがあればWordPressの管理画面にログインできます。
他人にログインされ、パスワードを変更されてしまえば、例え元の管理者であってもWordPressの管理画面に入ることができなくなります。
※最悪、サーバーからファイルを全て削除、データベース(MySQL)もリセットして、バックアップから復元することになるかも。
■ユーザーIDがバレるだけでも危険!!
WordPressをウェブサーバーに設置した初期の状態では「admin」ユーザーが初期ユーザー(デフォルトユーザー)として存在します。
admin というユーザー名が残っているということは、「パスワード」だけ突破できればハッカーはログインが可能なんです。
adminユーザーはWordPress全体を管理できる「スーパーユーザー」です。
「スーパーユーザー」というのはマンションなど例えると、どの部屋も開けられる「マスターキー」のような存在です。
■adminユーザーは即削除してください
ログインユーザー名とパスワードの組み合わせも他人にバレてはいけないというのは理解していただけましたか?
「admin」というユーザーはハッカーに狙われやすいんです。
だから、adminユーザーは即削除しなくてはいけません。
ただし、初期ユーザーの「admin」のみで運用しているWordPressサイトの場合は、adminを「削除」することができません。
adminの削除前に新しい管理者を事前に登録しておきましょう。
■ユーザーIDを抜き出す方法
adminは削除しない限り、存在するユーザーです。
adminが残っていれば、ブルートフォースアタック(総当たり攻撃)でパスワードが抜かれてしまえば、乗っ取り改ざんなど自由になってしまいます。
ところが、admin 以外のユーザーIDが安全か!と言えば、そうではありません。
実は何の対策も施していないWordPressは共通して「ユーザーID」が丸見えにできるのです。
■REST APIを利用したユーザーIDを抜き出し方と対策
REST API という機能がWordPress 4.7 以降用意されました。
次のURLにアクセスすると情報が抜け出せます。
https://example.com/wp-json/wp/v2/users
※「example.com」はご自身のWordPressの環境に応じて変更してください。
※WordPressのインストール先の階層によってはURLが異なる場合があります
このままではセキュリティ上問題があるため、この機能を向こうにする必要があります。
適切なプラグインがございますので、ご自身のWordPressにインストールを行って適応ください。
Disable REST API | WordPress.org
「https://example.com/wp-json/wp/v2/users」にアクセスすると下記のように何も情報が抜き出されない状態になります。
※セッションが無効になっている状態でアクセスしてください。
紹介したプラグインのアップデートなどには十分に気をつけてください。
■?/author=n によるユーザーID対策
「https://example.com/?author=n」にアクセスすると、「https://example.com/author/user-id/」に遷移し、ユーザーの記事一覧が表示される機能があります。
※「example.com」はご自身のWordPressの環境に応じて変更してください
※WordPressのインストール先の階層によってはURLが異なる場合があります
※「?author=n」の「n」には1以上の自然数が入ります
.htaccessに次の内容を書き加えて保護することができます。
ただし、.htaccessに書き加える際は次のルールをお守りください。
- WordPressのルートにある「.htaccess」に書き加える
- 「# BEGIN WordPress」より上の行に書き加える
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (^|&)author=.* [NC]
RewriteRule ^.*$ /? [L,R=301]
</IfModule>
「https://example.com/?author=n」にアクセスして、トップページにリダイレクトすれば終了です。
コメント
[…] WordPress に入っている初期ユーザーは管理画面から削除。 【8/1更新】 […]
[…] 前回は「2.WordPress に入っている初期ユーザーは管理画面から削除。」のお話でした。 […]