もっふもっふにしてやんよ!

勉強会行った話9割、手を動かした話1割。

社内のフェデレーションユーザーがOffice365にアクセスできない場合の対処法

クライアント端末を見ると、以下のイベントが記録されます。 CertificateServicesClient-CertEnroll

Microsoft-Windows-CertificateServicesClient-CertEnroll

イベントIDは87が記録されます。

結論を書いておくと、セキュリティ上の制約によりADFSサービスへアクセスはできていたんですが、ADFSサービスからの応答を拒否していました。(こんな事例滅多にないみたいで、イベント87の資料が英語でも日本語でも全然無いので参考になれば・・・)

基本的には、下記ガイドの9ページ~12ページに示される認証フローに従い、障害切り分けを行いました。

Microsoft Office 365 自習書 AD FS によるシングル サインオン環境構築ステップ バイ ステップ ガイド https://www.microsoft.com/ja-jp/download/details.aspx?id=28716

今回は、社内ネットワークに当たるので、以下の①~⑨のどこかということになります。(9ページより引用)

f:id:moffumoffu:20170222002014j:plainf:id:moffumoffu:20170222002017j:plain

ADFSサービスのエラー画面は到達するので、①~④のDNS名前解決までは基本的に問題ありません。そのため、ADFSサービスのログを解析しました。フェデレーションサービスが全てダウンしている場合は、以下のトラブルシュートが参考になります。

フェデレーション ユーザーが Office 365 ウェブリソースにサインインしようとすると、ブラウザーに AD FS Web ページが表示されない https://support.microsoft.com/ja-jp/help/2419389/internet-browser-can-t-display-the-ad-fs-webpage-when-a-federated-user-tries-to-sign-in-to-office-365,-azure,-or-intune

Ad FS 2.0 のエラー: このページを表示できません https://support.microsoft.com/ja-jp/help/3044971/adfs-2.0-error-this-page-cannot-be-displayed

ADFSサービスのログは、サーバーマネージャからも見ることは出来ますが、イベントビューワーで見ることも出来ます。基本的に、正常系から異常系全てのログが混在しているので、必要に応じてフィルタをかけましょう。

blogs.msdn.microsoft.com

ADFSサービスにアクセス ( https://login.microsoftonline.com/ から、メールアドレスを入力した後に表示されるの画面にたどり着いた際)した場合、ADFSサーバにリクエストの受信、リクエストの検証、レスポンスの送信という3つのログが出力されるので、それを元にアクセス元IPなどの情報を集めます。 (メールアドレスを tesutodayo@contoso.com みたいに出鱈目なユーザIDを指定してあげると、ログの解析が楽になります。)

ここでエラーログが出力されていなければ問題ありません。事実、サーバーは「俺は正常にレスポンスを返したぞ」と主張しているので、ADFSサービスからクライアント端末までのどこかでレスポンスが落ちたことがわかります。ロードバランサやプロキシサーバなどを介している場合は、そちらのログを追うといいかもしれません。

そんなわけで、問題を切り分けた結果、クライアント端末しか疑いようが無かったため、色々とセキュリティ関連のソフトウェアをオフにして正常に接続が出来ることを確認しました。灯台元暗しというやつですね。