Microsoft 365(Office 365)で許可したアプリのOAuth認証を取り消す、システム管理者が禁止する

前回の記事の通り、悪意のないアプリならOAuth認証してもOKですが、悪意のあるアプリの場合は意図せず情報が抜き取られる可能性があるため対策を考えます。

個人での対応:アプリ許可の取り消し

twitterやfacebookと同様、Microsoft 365でもOAuthの同意を取り消す画面が存在しています。

まずはマイアカウントにアクセス。

アプリの権限に移動。

権限を取り消したいアプリ(今回は"Miro")の"取り消し"をクリック。

一覧から"Miro"が消え、取り消すことが出来ました。

なお、公式の案内だと" https://myapps.microsoft.com/ "からやれとの事ですが、上手くいかなかったのでマイアカウントからやってます。

システム管理者の対応:OAuth認証の一覧出力

まずは不法な同意の付与を検出して修復する – Office 365 | Microsoft Docsに書いてある通り、Get-AzureADPSPermissions.ps1を使った認証一覧出力をやってみます。

前準備として…

Install-Module AzureAD
Get-AzureADTenantDetail
Connect-AzureAD

を実施し、

Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation

で出力されたファイルを確認

確認辛すぎワロタwwww これ、1ユーザーしかいないテストテナントですよ?3,000人規模の会社でセキュリティインシデント発生して調査するの、辛すぎやしませんか…?

まぁExcelでごにょごにょすればちょっとはマシですかね。Permissionも出るし、ヤバげな権限を求められてるアプリはなんとか出せるかな…。C列がアプリ名なのでそれでフィルタかけた図。Miroが検知できます。

システム管理者の対応:そもそもユーザーがOAuth同意する事を禁止する

あんまりやりたくないですが、ひとまずの対応として禁止する作戦です。これはAzure AD管理者画面から禁止することが出来ます。エンタープライズ アプリケーション -> ユーザー設定 です。

これをオフにすると、ユーザーは新たなアプリに対してOAuth認証許可を出すことはできません。 ※ 既に認証を許可済みのアプリは禁止できないので注意。

けどこれやっちゃうとGraph Explorerなどのマイクロソフト社製の便利ツールにもアクセス出来なくなるから困っちゃうんだよな~。OAuthで漏れるのはユーザーが見れる範囲の情報だから我慢する、とするか、定期的に権限棚卸して不審なアプリを許可していないか確認する運用回避か。

国井さんのブログに書いてある通り、使ってもよいアプリを管理者側で制御する事も出来るが…。

Azure ADにおけるOAuthの承諾設定 | Always on the clock

悩ましい所です。

Posted by tera