この記事はカンムアドベンドカレンダー6日目の記事です。
本当はファミリーリンクで子どもたちのスマホをどう管理しているかみたいなことを書こうと思ったのですが、間に合わなかったので下書きしていたこちらの記事で参加します(笑)
昨日は、thirayuさんの
でした。
このくらいサクッとGASをかけるようになりたいです。最近はChatGPTのおかげで大分なるほど!こう書けばいいのか!みたいなのができていい時代ですね。
ということで本題へ入ります。
社内端末のデバイストラストをやりたいと思い、Intune準拠済みや、Jamf Pro Intune連携のデバイスコンプライアンスを試していたのですが、どうも安定しないので証明書を利用してのデバイストラストができないかを検証してみました。
完全にデバイストラストができたかと言われると微妙なのですが、それなりにはできたのではないかなと思います。
※手順等間違ってたら教えてください。
検証環境
- PKIにSecure W2を利用します。SCEPMAN等でも可能です。
- オレオレ証明書でも可能ですが、自動配布等ができないので運用がしんどいと思います。検証するには十分です。
- Entra ID P1以上ライセンス
- Intune P1以上ライセンス
- macのMDMとしてはJamf Proを利用
CA証明書等を設定する
ルート証明書を作成する
- Secure W2にログインします。
- 「PKI」→「Certificate Authorities」→【Add Certificate Authority】をクリックします。
- 設定をして、【Save】をクリックします。
中間証明書を作成する
- 同じように進み、Typeを「Intermediate CA」を選択します。
- 先程作成したRoot証明書を選択し、各種設定を行い【Save】をクリックします。
失効URL等を控える
- 発行した証明書の右側にあるビューアイコンをクリックします。
- 下のほうにあるCRLURLを控えます(BaseとDelta両方とも)
SCEP設定
Jamf Pro設定
以下のサイトに詳しく手順があるのでこちらを参照してください。
Intune設定
以下のサイトに手順があるのでこちらを参照してください。
Intune CA Partnerで設定をします。
https://www.securew2.com/solutions/managed-devices/scep-ca-integration-with-microsoft-intune
Entra ID設定
証明機関がEntra管理センターでどこにいってしまったんだ?と思ったのですが、Security Centerの中にありました。
まず、Root証明書等をアップロードしていきます。
- 「Security Center」→「証明機関」→【アップロード】をクリックします。
- 事前にダウンロードしたルート証明書を選択し、事前に控えた証明書失効リストのURLを入力して【追加】をクリックします。
- 同様に中間証明書もアップロードします。
証明書ベースの認証設定
- 「認証方法」→「ポリシー」→【証明書ベースの認証】をクリックします。
- 「有効にする」トグルをオンにします。
- まずはテストするので、対象にしたいテストグループを選択します。
- 「構成」タブをクリックし、「規則の追加」をクリックします。
- 「証明書の発行者」にチェックを入れ、利用する証明書の発行者を選択し【追加】をクリックします。
認証強度や、アフィニティバインドは利用したいパターンにあわせて選択してください。
詳細は以下のlearnを参照してください
ログインテスト
シークレットウインドウ等で、Officeポータル等にログインしてみます。
対象ユーザー名を入力すると、「証明書またはスマートカードを使用する」というリンクが表示されていると思いますので、そちらをクリックします。
- 証明書選択画面が表示されるので、対象の証明書を選択し【OK】をクリックします。
- macの場合はキーチェーンへのアクセス許可を求められるので、macにログインする際に利用しているパスワードを入力し【常に許可】をクリックしてください。
- 証明書が正常であれば、ポータル等にログインすることができます。
認証強度を証明書のみに設定する
認証強度を新規作成する
既存のままだとスマートキー等のMFAデバイスも利用することが可能な状態となっています。
今回は証明書がないとログインさせない!という要件を作っていきます。
- Entra管理センターにアクセスします。
- 「保護」→「条件付きアクセス」→「認証強度」→【新しい認証強度】をクリックします。
- わかりやすい名前を入力し、 「証明書ベースの認証」にチェックを入れ【次へ】をクリックします。
- 内容に問題がなければ、【作成】をクリックします。
条件付きアクセスポリシーを作成する
作成した認証強度を利用して条件付きアクセスポリシーを作成します。
- Entra管理センターへアクセスします。
- 「保護」→「条件付きアクセス」→【新しいポリシーを作成する】をクリックします。
- テストのためテストユーザーがいるグループのみを対象に設定します。
- ターゲットリソースも必要に応じて設定してください。
- 「許可」で、「アクセス権の付与」で「認証強度が必要」にチェックをつけ、先程作成した認証強度を選択し、【選択】をクリックします。
- ロックアウトしないよう注意してください。という通知を確認します。
- 「ポリシーの有効化」を「オン」に設定し、【保存】をクリックします。
macOSのゼロタッチキッティングはどうなる?
このままだと証明書がない限りログインすることが不可能です。
Jamf Proからゼロタッチキッティング時にEntra IDへのログインを強制させていたりする場合には、証明書データが端末にまだない状態となるので、ログインすることができません。
一時アクセスパスワード(TAP)で突破できるか確認してみる
対象ユーザーに一時アクセスパスワードを発行して、ログインを試してみました。
結果、証明書がないということでログインすることができませんでした。
※最終的にどうしたのかは、認証強度を修正する を参照してください。
Jamf Proアプリを対象外アプリとして登録する
条件付きポリシーで、Jamf Proアプリを対象外アプリとして設定してみました。
一般ユーザーからのJamf ProへのSSOは特に証明書が無くアクセスできても問題ないので、対象外としてみました。
結果特に問題なく、ゼロタッチキッティングが完了し、SCEPの構成プロファイルによってクライアント証明書が自動生成されるため、その後はクライアント証明書を利用してEntra IDから各種SaaSへアクセスすることができます。
Windowsのセットアップはどうなる?
Autopilotでの初回ログインもログインができませんでした・・・。
ということで、こちらも一時アクセスパスワードで突破できるかを試してみましたが、だめでした。
※最終的にどうしたかは、認証強度を修正する を参照してください。
認証強度を修正する
これじゃ厳しいなと思っていたのですが、認証強度にTAPチェックできるということをすっかり忘れていたので、新しく証明書ベース+TAPを許可する認証強度を作成しました。
一度作成した認証強度は編集できないようなので、新規で作成し、条件付きアクセスポリシーを編集しました。
Windows、もmacOSもTAPで先に進むことができた
編集後再度、TAPを利用してゼロタッチキッティングを進めることができました。
ログインされMDMに登録がされた後は、構成プロファイルによって証明書を自動取得するので、その先の各種SaaSにはクライアント証明書が無い限りログインすることができない。という環境をつくりあげることができました。
セットアップ途中にもう一度TAPが求められてしまいました。これは仕様?
IntuneからWebサインインを有効化する構成プロファイルを設定すればいいかもしれないですね
まとめ
PoC中ではありますが、Entra CBAと認証強度を組み合わせることでなんとなくデバイストラストをすることができるようになりました。
TAPを一回のみに制限したいのですが、Windowsセットアップ時に再度TAPを求められてしまったので、複数回利用可にしておかないといけない感じがあります。
なので、複数回利用できると他端末でもできてしまうので、微妙なところですね。
Jamf Intuneのデバイスコンプライアンスや、Intuneの準拠済みが安定して動いてくれれば全部そちらでやりたいのですが、急に外れたりするので運用する身としてはしんどいんですよね。
もっと条件を柔軟に設定できて、反映速度が早くなってくれればいいのですが・・・。
Okta OIEでのデバイストラストの場合はOktaが証明書を発行してくれるので、Entra IDも早くそうなってほしい・・・