Azure Active Directory (AzureAD)をご存知でしょうか?
Azure ADについて
今まで企業の端末やユーザ管理をするとき使われてきた、Windows Actice Directoryのようなものですが、根本的な設計は全く異なります。SAML認証に対応していたりと、いわゆるIDaaSのようなもので、組織がクラウドサービスを利用する際のID基盤として使われています。
Microsoft Azureや組織向けOffice 365、Microsoft 365を利用している方は、ほぼ自動的にAzureADのテナントで管理されるユーザとして利用していると思います。
AzureAD知ってるよという方、会社や学校のアカウントの個人IDもAzureADを利用して払い出されている方も多いのではないでしょうか?いろんな便利なSaaSが増えてきたし、1つのアカウントで各サービスが使えたりとメリットは大きいです。SSO便利ですよねー。
さて、かなり利用箇所を増やしてきているこのAzureADですが、セキュリティについて考えたことはありますか?
実は、初期設定だとちょっと厄介な問題に直面する可能性があることが今回わかりましたので共有としてこの場を借りたいと思います。
伝えたいこと
今回一番伝えたい、確認してほしいことは、
「Microsoft Azureポータル上の、Azure Active Directory管理画面のアクセス制限ちゃんとしてる?」
ということです。
とくに大学など学校関係のシステム管理者の方は、早急に設定を確認してください。
問題点
さて今回、問題として挙げさせてもらうのは、
「組織内もしくは元組織のユーザから、組織内もしくは元組織のユーザおよび端末、アカウントの役割などの情報を管理者の意図せず閲覧される恐れがある」という問題です。
会社の場合、所属社員は社員名簿を普段から閲覧することができると思いますので、さほど問題になることはないでしょう。
しかし、大学などの学校の場合は、状況が違ってくるのではないでしょうか?
影響範囲
AzureAD登録ユーザ・端末・その他の付随するオブジェクト
(組織内ユーザもしくは、AzureADに未だ登録されている元組織ユーザ)
詳細
私は、とある大学の学生アカウント(岡山大学、某国立大学、某通信制私立大学)にアクセスできるので、それらの大学でのAzureADの挙動を確認してみました。
まず、良い例(岡山大学)です。
岡山大学は、学生向けにOffice365を提供しているため、大学公認のAzureAD学生アカウントが個人に付与されます。その個人アカウントでMicrosoft Azureから、AzureADポータルにアクセスしてみましたが、アクセス権限がなく、閲覧ができませんでした。
次に、悪い例(某国立大学)です。
この大学も、学生向けにOffice365を提供しているため、学生は自分のAzureADアカウントを持っています。その個人アカウントでMicrosoft Azureから、AzureADポータルにアクセスしてみたところ、制限がなく閲覧できてしまいました。
AzureADに登録されたユーザ(22,699人)の情報(名前、メールアドレスなど)も閲覧できます。
WindowsにこのAzureADアカウントを設定している場合、デバイス情報なども閲覧できます。
グローバル管理者ロールになっているユーザももちろん確認できます。
ちなみに、この大学は卒業生にも永年メールアカウントのみは使えれるような配慮がなされており、入学時に発行されたAzureADアカウントは基本的に消えません。つまり、閲覧できる20000人のユーザの中には卒業生も含まれている事がわかります。
最後に、悪い例(某通信制私立大学)です。
この大学は、学生向けにOffice365は提供されておらず、ac.jpドメインのメールアドレスは提供されますが、Microsoftの管理にはなっていません。公式のAzureADはないと言っていいでしょう。
しかし、Microsoftの仕様だと思いますが、AzureADを持たない学校の、ac.jpドメインを持つ学生が下記サイトでサインアップした場合、おそらく自動的にAzureADのテナントが作成されるようです。いわば非公式AzureADが作成されます。(同じドメインのメールアドレスですでにサインアップされている場合は、2回め以降に同じドメインの違うメールアドレスでサインアップする場合、ドメインで紐付けられた上記のAzureADテナントに自動的に登録されるようです。)
その場合、学生には「Office365 A1 for students」サブスクリプション扱いになります。
これで、AzureADポータルを見に行ってみると、先程の悪い例と同じようにアクセス制限が行われてないことがわかります。
もちろんユーザ情報なども閲覧できます。2000人近くが登録されています。先程との違いとして、作成の種類が「EmailVerified」となっており、自分のメールアドレスで認証してAzureADに登録されたという事がわかります。
ちなみに、このような事情で作成されたテナントは管理者不在(設定されていない)のことが多いため、対策は非常に困難となります。
情報の悪用
- 名簿の売買
- 在校生および卒業生の名前やメールアドレスを含むため、悪意のある学生がいた場合、最悪情報を売られる場合があります。
- サイバー攻撃行為での情報の利用
- 実際の攻撃でIDを入手するのは簡単ではないかもしれませんが(学生をターゲットにフィッシングすれば簡単に盗めるかもしれない)、企業のペネトレーションテストなどでAzureAD(Office365)のIDを貸し出してくれる場合は、攻撃を考える上でのよい情報収集ポイントとなり得そうです。
対策
まず、きちんとAzureAD管理ポータルへのアクセス制限を行いましょう。
AzureADのユーザ設定より、画像の赤枠の設定をすることで、管理者以外のユーザからAzureADポータルが閲覧できないようになります。デフォルトではこれが制限されない悪設定になっています。
つぎに、適切なユーザ(管理者となるにふさわしい)を選択して、グローバル管理者などの適切な役割を追加してあげてください。
役割を追加すると、ユーザの割り当てられたロールにそれが表示されます。適切な役割が割り当てられていると、そのユーザはAzureADポータルを閲覧することができるようになります。
まとめ
適切なアクセス制限はセキュリティの基本です。
複雑なことを考える前にまずは、基本から固めましょう。