呑んべえ柴やんのセキュリティABC

情報漏洩を防ぐ大人の嗜み

セキュリティ対策の基本はユーザID隠蔽に始まりパスワード管理へ続く

f:id:BighelpSecurity:20150511152301j:plain

サビついた巨体でフットサルがんばったら歩くのにも一苦労の柴やんです。

WordPressの管理画面でもFacebookでもTwitterでも、あるいはルータでもファイアウォールでも、使う前にまずユーザIDとパスワードを正しく入力することが必要になる仕組みが身の回りに溢れています。

原宿駅での壁ドン広告みたいに、パスワード管理の重要性を訴える風潮は古くからあり今でもユーザIDとパスワードの管理はセキュリティ対策上の問題となっています。

さて今回はユーザIDとパスワードの管理においては、パスワードと同等以上に実はユーザIDの管理の方が重要なんじゃないかと思ってまして。

ユーザIDとパスワードによる方式の場合、まずユーザIDを識別すること、次にパスワードを認証するという2つの段階が不可欠なのはご存知の通りです。

ユーザIDは機器や不特定多数を対象としたサービスからの「あなたは誰」に対する返答であり、パスワードは「あなたである証拠」に対する返答です。

一般的にはパスワード管理の重要性が強調されていて、小文字や大文字、数字や記号などを含めた複雑で長い文字数のものを推奨する記事をいたるところで目にすることができます。

そして強いパスワードは覚えにくく、覚えやすいパスワードは弱いというジレンマに。

ところが、ユーザIDの管理についてはどうでしょうか。あまりその重要性について言及している記事を見かける事は多くないのではないでしょうか。

しかしそもそもユーザIDが分からなければ、どうやってそのユーザIDに対応するパスワードを知ることができるのでしょうか。

WordPress Codex(日本語版)で推奨している基本的なセキュリティ対策の考え方

例えばWordPressのセキュリティ対策を考えるときに、何から手をつけてよいのか分からない場合にはWordPress Codexの日本語版でも紹介されている「WordPress の安全性を高める」という記事は網羅的でおすすめです。

WordPress利用者であれば、どのような観点に注意を払うべきかという概念だけでも理解しておきたい内容になっています。

WordPress Codexの日本語版でも「隠蔽によるセキュリティ」の章でも触れられていますが、管理者アカウント名の変更が推奨されています。

WordPress の安全性を高める - WordPress Codex 日本語版

ユーザIDは知れ渡っている初期値のものは使わず他人に知られないものを

実はWordPressをインストールした際に必ず最初から存在しているユーザIDとしてadminという管理者権限を持つものがありますが、これがWordPressのセキュリティ対策上の問題になっています。

ちなみに、ここでの「隠蔽」とは、知れ渡っているadminユーザIDを隠すことではなく、新たに管理者権限を持つユーザIDを作成した上で、adminユーザIDを削除することで、新たなユーザIDを他人に知られないようにしましょうという意味です。

繰り返しになりますがユーザIDとは「あなたは誰?」に対する返答であり、WordPressをインストールしたままの状態では、他人でさえ「私はadminです」と勝手に返答することが可能になってしまうのです。

ユーザIDが他人に知られてしまえば、後は悪意のある他人がツールを使いパスワードを解析をするだけであなたに成りすますことができてしまいます。

つまりWordPress Codexの日本語版でも、まずはユーザIDを他人に知られないようにするというセキュリティ対策を推奨しているのです。

もちろんユーザIDを隠す(一般的に知られていないものに変更する)ことだけでは乗っ取りによる漏えいや改ざんなどを防ぐことはできません。

ユーザIDやパスワードによる成りすましを正面突破だとすれば、WordPress本体やテーマそしてプラグインが最新ではなかったり、WordPressウェブサイトにftpアクセスするパソコンそのものが汚染されている場合に結果的にWordPressウェブサイトを乗っ取られることは裏口突破になると思います。

しかしながら突破されるのが正面か裏口のどちらかだとすれば、
まずは正面の守りを強固にすることであり、そのためにはユーザIDを隠蔽することを前提としてパスワードを工夫することが大切ではないでしょうか。

少なくとも他人に知れ渡っているadminユーザIDを使い続けているワキの甘い利用者をターゲットとした正面突破の試みに対してはとても有効な対策なのではないでしょうか。

WordPress Codex(日本語版)の内容だけでは完全にユーザIDを隠蔽できない

ちなみに、Codexには記述されてはいませんが、上記の手順でユーザIDを変更したとしても、実はさらに一手間が必要になります。

自社のWordPressウェブサイトで試してみるとわかりますが、もしユーザIDを変更していても、実は隠したつもりのユーザIDがばれてしまう場合があります。

自社サイトURLの後に"?author=n" ※nは1から順番に都度1回づつ数値を入力してページを更新(adminユーザIDだけ存在ならば1のみ)

なぜadminユーザIDを変更しただけではバレてしまうのか、プラグインを使ってバレないようにする為の手順を分かりやすく説明している記事があるのでご参考まで。

www.adminweb.jp

念のためですが、WordPress Codexの記載に不備があるということではなく、あくまでも基本的な考え方を網羅しているものだと理解すべきかと思います。

まとめ:WordPressのユーザIDを隠蔽する方法

WordPressのユーザIDを隠蔽する手順としては以下の通りです。

①投稿者のアーカイブページを生成しないようにfunctions.phpを修正するか、アーカイブページを指定されてもユーザIDが表示されないようプラグインで隠す

②初期値の管理者ユーザID(admin)は削除して新たに管理者IDを作成する

FacebookTwitterなどもユーザIDを他人に知られないように

少しWordPressばかりを例えてしまいましたが、ユーザIDとパスワードが必要なサービスや機器なら同じことです。

ちなみにFacebooktwitterもそれぞれ専用にユーザID(メールアドレス)を作成してパスワードみたいに意味不明な文字列であり、あくまでログイン専用の用途でありメールの送受信は一切おこなっていません。
もちろん、加えてパスワードも管理しています。

改めてセキュリティ対策の基本の一つは「不用意に情報を提供しないこと」であり、パスワードと同じようにユーザIDの管理にも気配りすることを情報漏洩を防ぐ大人の嗜みに加えたいなと思いました。