My Home NW Lab

逸般の誤家庭のネットワーク

Duo CentralからMeraki DashboardへSingle Sign-Onを行う

Duo CentralからMeraki DashboardへのSingle Sign-Onを行うための設定手順を整理しました。

Meraki DashboardへのSingle Sign-On

本記事ではIdP (Identity Provider)としてDuo Securityを取り扱います。 なお、Meraki Dashboard側でのRole設計やSingle Sign-Onに必要な設定要素は限定されているため、他のIdPであってもMeraki Dashboard側の設計は根本的には大きくは変わらないと想定されます。

設定対象の範囲 (本記事のスコープ)

本記事ではMeraki DashboardへのSingle Sign-Onを対象にしており、Meraki Vision PortalへのSingle Sign-Onに関しては扱いません。 また、Meraki Vision PortalMeraki MVを持っていないと活用できないため、Meraki Vision PortalへのSingle Sign-Onの設定は全ての環境で必須級となるものではありません。

設定作業の順番 (作業の依存関係)

設定作業はDuo Security側から先に開始する必要があります。 Meraki Dashboard側での Consumer URL (Meraki Dashboard向け) と Consumer URL (Vision) (Meraki Vision Portal向け)を表示するのに、Duo Security側が提示する情報が必要になるためです。

設定作業の順番 (作業の依存関係)

事前設定

Duo SecurityのMeraki Dashboard向けのApplicationを設定するには、先にDuo Centralへの有効化が必要になります。

本記事では、Directory SyncをAzure Active Directory (Azure AD)に行いUserやGroup情報を取り込んだ上で、Duo Centralの認証ソースとしてもAzure ADを使用した状態で検証を行っております。 詳しくは下記の2つの記事を参照してください。

myhomenwlab.hatenablog.com

myhomenwlab.hatenablog.com

SSO向けRoleの設計

Meraki DashboardへのSingle Sign-Onはアクセス先のNetworkを絞ったり、対象Networkの権限を制御できます。

本記事ではOrganizationレベルでの制御粒度にした上で、設定変更が可能な管理者の権限 (Full)と、読み取り専用の権限 (Read-only)に対応したRoleをそれぞれ用意します。

Meraki DashboardのSSO向けRoleの設定例

Neworkレベルでの設計は制御粒度が細かすぎるため運用が複雑になるリスクがあります。 例えば、47都道府県の店舗のオーナーに対して自店舗のNetworkのみに読み取り専用でアクセスさせようとすると、47のRoleとSSO向けの管理用Groupが必要になるかもしれません。

Role設計がNetworkレベルの一例

Meraki DashboardへのSingle Sign-Onの設定

Single Sign-On用Groupの用意

RoleとマッピングするためのGroupを予め用意しておいてください。

Azure AD側のGroupの設定

  • Azure AD側にてMeraki DasboardのSingle Sign-Onに用いるGroupを用意します。
    本記事では下記のGroupを用意しています。

    Group 備考
    Meraki_Admin_Group Full 権限を持たせるための管理者Groupを用意しています。
    Meraki_ReadOnly_Group Read-only 権限を持たせるGroupを用意しています。

    Azure AD側でのSingle Sign-On用Groupの用意

Duo Security側のGroupの設定

  • Duo Security側ではAzure ADに対するDirectory Syncで用意したGroupを Selected Groups に指定して Save ボタンを押下します。そして忘れずに Sync Now ボタンを押下してDirectory情報を取り込みます。

    Directory SyncによるSingle Sign-On用Groupの取り込み (1/3)

    Directory SyncによるSingle Sign-On用Groupの取り込み (2/3)

    Directory SyncによるSingle Sign-On用Groupの取り込み (3/3)

SAMLの設定

Duo Security側のSAMLの設定

  • Duo SecurityのAdmin Panelからメニュー: Applications > Protect an Application を開きます。Application: MerakiProtect ボタンを押下します。
    本記事の執筆時点 (2022年09月頃)で MerakiMeraki RADIUS VPN があるため混同しないように留意してください。

    Application: Meraki

  • Meraki Dashboard側へ連携が必要な X.509 cert SHA1 fingerprintSLO logout URL の情報を控えてください。

    Duo Security側で X.509 cert SHA1 fingerprint と SLO logout URL の情報の確認

Meraki Dashboard側のSAMLの設定

  • Meraki Dashboardからメニュー: Organization > Settings を開きます。

    • Authentication セクションより SAML SSOSAML SSO enabled にします。

      SAML SSO enabled

    • Add a SAML IdP を押下して、IdPであるDuo Securityから提示される情報を入力していきます。

      Add a SAML IdP

      下記のイメージ図のように入力していきます。また、項目の並び順がDuo SecurityとMeraki Dashboardで異なるので注意してください。

      Duo Security側からMeraki Dashboard側への設定情報の連携

      • Meraki Dashboard側の X.509 cert SHA1 fingerprint に Duo Security側の X.509 cert SHA1 fingerprint の情報を貼り付けます。

        Meraki Dashboard側の X.509 cert SHA1 fingerprint

      • Meraki Dashboard側の SLO logout URL (optional) に Duo Security側の SLO logout URL の情報を貼り付けます。

        Meraki Dashboard側の SLO logout URL (optional)

      • Save ボタンを押下して設定を保存すると Consumer URLConsumer URL (Vision) が発行されて表示されます。

        Consumer URLと Consumer URL (Vision) の発行

  • Duo SecurityのAdmin Panelに戻って Service Provider セクションの Consumer URLMeraki Dashboard側で発行された Consumer URL を貼り付けます。
    補足: Cunsumer URL (Vision) の方はMeraki Vision Portal用のURLになるため、Meraki Dashboard用のURLと混同しないように留意してください。

    Meraki Dashboard側からDuo Security側への設定情報の連携

    Duo Security側の Consumer URL

Roleの設定

Meraki Dashboard側のRoleの設定

  • Meraki Dashboard側でメニュー: Organization > Administrators を開きます。

    • Add SAML role ボタンを押下します。本記事では下記の表のように設定して保存しています。

      Role Organization access
      Admin Full
      ReadOnly Read-only

      Role名称はDuo Security側の設定と一致させる必要があります。

      SAML roleの設定例 (1/3)

      SAML roleの設定例 (2/3)

      SAML roleの設定例 (3/3)

Duo Security側のRoleの設定

  • Duo SecurityのAdmin Panelに戻って、Role attributes セクションの設定を行います。
    Meraki RoleMeraki Dashboard側で指定したRole名称を入力して、その権限に対応するGroupを Duo Groupsマッピングします。 本記事では下記の表のように設定しています。

    Meraki Role Duo groups 備考
    Admin Meraki_Admin_Group Full 権限を持たせるGroupを指定します。
    ReadOnly Meraki_ReadOnly_Group Read-only 権限を持たせるGroupを指定します。

    Role attributesの設定例

  • 設定が完了したら Save ボタンを押下して設定の保存を忘れないようにしてください。

    Save ボタン

Duo CentralへのTileの表示

  • Duo SecurityのAdmin Panelのメニュー: Single Sign-On > Duo Central より Tiles タブを開きます。Add tile ボタンを押下します。

    Duo CentralへのTileの追加

  • What do you want to add to Duo Cntral? のポップアップでは Add application tile ボタンを押下します。

    Application Tileの選択

  • 先に設定したApplication: Meraki (デフォルト名称: Meraki - Single Sign-On)のチェック ボックスにチェックを入れて Add tile ボタンを押下します。

    Application Tileの追加設定の反映

Duo CentralからのMeraki DashboardへのSingle Sign-Onの確認

  • Duo CentralにアクセスしてTileが表示されるのを確認します。

    Duo Central上でのTileの表示

  • Application: Meraki (デフォルト名称: Meraki - Single Sign-On)のTileを押下して、Meraki DashboardにSingle Sign-Onできるのを確認します。

    Meraki DashboardへのSingle Sign-On

関連ドキュメント

documentation.meraki.com

Meraki MXにおけるClient VPN (IPsec)のGuest Userの追加や削除は、Client VPN server が Enabled 且つ Meraki Cloud Authentication を指定した状態で行う

Meraki MXにおけるClient VPN (IPsec)には接続アカウントとしてGuest Userの登録が可能であり、メニュー: Security & SD-WAN > Client VPNIPsec Settings タブより User management セクションで管理が行われます。

User management セクション

そして、Guest Userの管理で追加や削除を行う際は下記の条件を満たす必要があります。

  • Client VPN server 設定が Enabled の必要があります。

    Client VPN server の設定

  • Authentication 設定が Meraki Cloud Authentication の必要があります。
    備考: Client VPN server 設定が Enabled 時に表示されます。また、Meraki Cloud Authentication を指定すると User management セクションが表示されるようになっています。

    Authentication の設定

表現を変えると、条件を満たしていない状態で Save ボタンを押下しても設定が反映されないので注意してください。

具体的には、削除失敗時のイメージ図が下記になります。

Client VPN server が Disabled 状態でのGuest Userの削除失敗の例

関連ドキュメント

  • ドキュメント上での該当記述が下記になります。

    documentation.meraki.com

    Note: Meraki Authentication must be enabled on Client VPN or at least one SSID to be able to create, edit or delete users.

Duo SecurityでDuo Centralの認証ソースとしてAzure ADを使用する

Duo SecurityでDuo Centralの認証ソースとしてAzure Active Directory (Azure AD)を使用する場合の設定手順を紹介します。 認証連携が行われる都合で関連要素が多いため、重要な要素は個別に解説を入れております。

全体概要図

設定対象の範囲 (本記事のスコープ)

設定対象の範囲

  • Duo Centralの認証ソースとしてAzure ADを使用する設定を行ったうえで、Duo Centralを有効化してログイン確認までを行います。

  • Duo Centralから先のApplicationにアクセスする設定は、Application固有の設定が多くなってしまうため本記事では対象外にしております。

事前設定

本記事の環境は、Directory SyncでAzure ADのDirectory情報を予め取り込んでいます。

myhomenwlab.hatenablog.com

Duo Centralへの認証が通るとUsersに自動的に登録される挙動はありますが、Azure ADのアカウントの所属Groupの情報までは登録できないためDirectory Syncも併用しています。詳細は後述します。

Usernameの正規化

Duo Securityの Users にAzure ADのアカウントを取り込む際に、Usernameを正規化する設定がDirectory SyncとDuo Centralの両方に存在します。 Directory Syncでの設定が Normalize usernames であり、Duo Central (メニュー: Single Sign-On)での設定が Username normalization となります。

Normalize usernames と Username normalization

設定値によっては、メール アドレス形式のアカウント情報が正規化されてUsername部分のみがDuo Securityの Users に登録されます。

Directory SyncとDuo Centralで取り込み箇所が分かれてしまっているため、相反する設定を行うと1つのアカウント情報から2つのUserとして登録されてしまうケースが存在します。 そのため、設計にて Users への取り込み方針を予め決めておいてください。

Duo Securityにおける Directory Sync の Normalize usernames と Duo Central の Username normalization

Duo CentralとUsersの登録

Duo Centralにログインしたアカウントは、Duo Securityの Users に登録されます。注意点としてGroupには紐付かない点が重要になります。

具体的には、Meraki DashboardへのSingle Sign-Onの設定を例にすると、Applicationの設定でRoleとGroupをマッピングする必要が出てきます。 そのため、Azure ADによってDuo CentralへのSingle Sign-Onが許可されていて実際にDuo Centralにログインできるものの、その先のApplicationにはGroupにマッピングされていないためSinge Sign-Onが出来ないケースが発生します。

Duo Centralの挙動 (Users観点)

本記事では上述のケースを避けるために、事前にDirectory SyncでAzure ADからDirectory情報を取り込んでいます。

設定作業時の注意点

  • Duo SecurityのAdmin PanelAzure ADのAzure Portal を行き来する場面があるため、どちらの管理コンソールから設定作業を行っているのかを意識するようにしてください。

  • 事前設定も行っていると、Enterprise Applicationが Directory Sync (Azure AD)Duo Central の2つの用途で存在するようになるため設定対象を間違えないように注意してください。
    Directory Sync (Azure AD) の方は Duo Azure AD Sync の名称ですが、本記事で扱う Duo Central は任意の名称で作成します。 本記事では Duo Central 向けのEnterprise Applicationはドキュメントの例に則って Duo SSO の名称にしております。

    Duo Security関連の2つのEnteprise Application

事前準備

  • Duo SecurityのSingle Sign-On画面 (Duo Central)にログイン可能にするGroupを予め作成しておきます。

    本記事では Dou_SSO_Group として作成しておきます。

    設定項目 設定値 備考
    Group type Security
    Group name Duo_SSO_Group 任意の名称を設定します。
    Group description Duo Signle Sign-On Group 任意の説明を設定します。
    Members 任意のUserを指定 任意のUserを指定しておきます。

    Single Sign-On向けGroupの事前準備

Duo Centralの設定

Duo Central向けのEnterprise Applicationの作成

  • Duo SecurityのAdmin Panelからメニュー: Single Sign-On を開きます。Privacy Statement と Duo’s Privacy Data Sheet を読んだ上で同意するのであれば、チェック ボックスにチェックを入れて Activate and Start Setup を押下します。

    メニュー: Single Sign-On (初回設定時)

  • Customize your SSO subdomain を設定します。Trial中の場合は設定できないため Complete later を押下します。

    Customize your SSO subdomain (Trial中の場合の例)

  • Azure ADを認証ソース (Authentication Source)とするため Add SAML Identity Provider ボタンを押下します。

    SAML Identity Provider の選択

  • SAML Identity Provider Configuration の設定画面が表示されます。

    SAML Identity Provider Configuration の設定画面

  • Azure PortalAzure Active Directory から Manage セクションの Enterprise applications を開きます。

    Azure ADのEnterprise applicationsの設定画面への移動

  • Enterprise applications の設定画面で New application ボタンを押下して、Duo SecurityのSingle Sign-On向けのEnterprise Applicationを作成していきます。

    Enterprise applications の設定画面の New application ボタン

    • Create your own application ボタンを押下します。

      Duo SecurityのSingle Sign-On向けのEnterprise Applicationの作成

      • What's the name of your app? にDuo SecurityのSingle Sign-Onの設定である旨を判別できる任意の名称を入力します。本記事では公式ドキュメントの設定名の例と合わせて Duo SSO としています。

      • What are you looking to do with your application? には Integrate any other application you don't find in the gallery (Non-gallery) を選択します。

  • 先に作成したEnterprise Application (本記事では Duo SSO)の Manage セクションの Users and groups を開きます。

    Duo SecurityのSingle Sign-On向けのEnterprise Application (本記事では Duo SSO の名称で設定)

  • Add user/group ボタンを押下して、Duo SecurityのSingle Sign-On画面 (Duo Central)にログイン可能にするUserやGroupを追加します。
    本記事では事前に作成していた Dou_SSO_Group のGroupを追加しています。

    User/Groupの追加 (1/2)

    User/Groupの追加 (2/2)

Enterprise ApplicationのSingle sign-onの設定

  • Enterprise Applicationの Manage セクションの Single sign-on を開きます。

    Enterprise Applicationの Single sign-on 設定画面への移動

  • Select a single sign-on methodSAML を選択します。

    Select a single sign-on method に SAML を選択

Basic SAML Configuration の設定

  • Basic SAML ConfigurationEdit ボタンを押下します。Duo Security側の情報を参照しながらAzure AD側に設定を行います。

    Basic SAML Configuration の設定

    • Duo Security側に表示されている Entity ID を、Azure AD側の Identifier (Entity ID) に貼り付けます。

    • Duo Security側に表示されている Assertion Consumer Service URL を Azure AD側の Reply URL (Assertion Consumer Service URL) に張り付けます。

    • 表に表すと対応関係は下記のようになります。

      Duo Security側の表示項目 Azure AD側の設定項目
      Entity ID Identifier (Entity ID)
      Assertion Consumer Service URL Reply URL (Assertion Consumer Service URL)

      Basic SAML Configurationの設定 (Duo Security視点)

      Basic SAML Configurationの設定 (Azure AD視点)

    • 設定が完了したら Save ボタンを押下して設定の保存を忘れないようにしてください。

Attributes & Claims の設定

  • Attributes & ClaimsEdit ボタンを押下します。

    Attributes & Claims の設定

  • Additional claims の設定を行います。

    • Add new claim ボタンを押下します。

      Add new claim ボタンから Manage claim の設定画面に移動

    • Manage claim の設定画面にて下記の設定を順に Additional claims に追加していきます。下記以外のデフォルトで存在する Additional claims は削除しておきます。

      Name Source Source attribute
      Email Attribute user.mail
      Username Attribute user.userprincipalname
      FirstName Attribute user.givenname
      LastName Attribute user.surname
      DisplayName Attribute user.displayname
      • Manage claim の設定画面での設定箇所は下記の画面キャプチャの箇所を参考にしてください。

        Manage claim の設定画面での設定箇所

      • 設定が全て完了した状態では下記の画面キャプチャのようになります。

        設定完了後の状態の例

証明書 (SAML Certificates)とメタ データ (Set up Duo SSO)の設定

  • Enterprise Applicationの Manage セクションの Single sign-on を開き直します。SAML CertificatesCertificate (Base64) から Download を押下して証明書を保存します。
    備考: 必要に応じて SAML CertificatesEdit ボタンから証明書の有効期限を調整しておきます。

    証明書ファイルのダウンロード

    証明書ファイルは後の手順でDuo Security側にアップロードします。

  • Azure AD側の Set up Duo SSO (Duo SSOの部分はEnterprise Application名)に表示されているメタ データの情報をDuo Security側に貼り付けます。

    • Azure AD側に表示されている Login URL を、Duo Security側の Single Sign-On URL に貼り付けます。

    • Azure AD側に表示されている Azure AD Identifier を、Duo Security側の Entity ID に貼り付けます。

    • 補足: Duo Security側の Single Logout URLLogout Redirect UR空のままにしておきます。

    • 表に表すと対応関係は下記のようになります。

      Azure AD側の表示項目 Duo Security側の設定項目
      Login URL Single Sign-On URL
      Azure AD Identifier Entity ID

      Azure AD側のメタ データの情報

      Duo Security側の貼り付け先

  • Azure AD側からダウンロードしておいた証明書 (Certificate (Base64))を、Duo Security側の Certificate にアップロードします。

    Duo Security側への証明書のアップロード

  • Display Name を任意の名称に変更します。本記事では Azure AD に変更しています。

    Display Name の名称変更

  • 環境に応じて Username normalization の設定の変更が必要になります。
    Directory情報をUsername形式 (例: alice) で取り込んでいる場合は Simple (デフォルト値)のままにしておきます。しかし、メール アドレス形式 (例: alice@mycorp.test)で取り込んでいる場合は None を指定します。

    Username normalization の設定

  • 設定が完了したら Save ボタンを押下して設定の保存を忘れないようにしてください。

    Save ボタンによる設定の保存

Duo Centralの有効化とログイン確認

  • メニュー: Single Sign-On > Duo Central を開いて Get Started ボタンを押下します。

    Duo Cetnralの開始

  • Activate the Universal Prompt for Duo Central のポップアップは Activate Now ボタンを押下します。

    Activate the Universal Prompt for Duo Central の設定

  • Stats: Offline の横にあるスライド バーを押下して Online に変更します。

    Duo CentralのStatusの変更: Offline から Online へ

  • Are you sure you want to put Duo Central online? のポップアップは Yes. put it online ボタンを押下します。
    備考: このタイミングでInternet上からDuo Centralへアクセスが可能になります。検証環境などで脆弱なパスワードが放置されているような環境では、気軽に有効化しないように注意してください。

    Are you sure you want to put Duo Central online?

  • メニュー: Single Sign-On > Duo Central より Configuration & Policy タブを開くと、Duo CentralのURL が表示されます。Duo Centralへログインが可能であるかを確認してください。

    Duo CentralのURL

    Duo Centralへのログイン時

運用面の考慮

設定したら終わりではない点があるため、筆者が気になった運用面の考慮を書き留めておきます。

  • Enterprise Applicationで証明書 (SAML Certificates)を発行しているため、証明書の期限と更新の管理を怠らないように注意してください。

  • Enterprise Applicationには、Duo CentralからのSingle Sign-Onを許可するUserやGroupを設定しておく必要があるため、人事異動などでUserやGroupに変更が起きる場合の考慮を忘れないようにしてください。

関連ドキュメント

duo.com

主に SAML のセクションを参照してください。

Duo SecurityのAdmin Panelは接続元のグローバルIPアドレスが変わるとログアウトする

Duo SecurityのAdmin Panelは認証セッションがクライアントIPアドレスと紐付いているため、接続元のグローバルIPアドレスが変更されるとログアウトします。

イメージ図

頻繁にグローバルIPアドレスが変わってしまう環境だと作業に支障が出るため留意してください。

頻繁なグローバルIPアドレス変更の影響

検証時の情報

実際に挙動を確認した際の情報を掲載します。

  • グローバルIPアドレスの確認は httpbin.org のWebサイトを利用して http://httpbin.org/ip のURLへ curl コマンドでアクセスして確認をしております。

  • Admin Panelは非アクティブ時間が60分続くと自動的にタイムアウトする仕様があるため、ログインしてから長時間の経過がない点を、Admin Panelのメニュー: Reports > Administrators Actions よりログイン時間の確認で行っております。

グローバルIPアドレスの変更前 (Before)

ログインの前後でIPアドレスが変わっていない点を確認しています。

グローバルIPアドレスの変更前 (Before)

グローバルIPアドレスの変更後 (After)

グローバルIPアドレスを変更した上でメニュー操作を行い、そのタイミングでログアウトされるのを確認しています。

グローバルIPアドレスの変更後 (After)

関連ドキュメント

  • Why am I frequently asked to re-authenticate in the Admin Panel or in the Duo Prompt and seeing errors similar to "Session timeout" or "Login expired"?
    https://help.duo.com/s/article/2297?language=en_US

    ドキュメントでは具体的な事例として、Apple社のPrivate Relay経由の通信でログアウトが発生する可能性の情報も紹介されています。

  • Why am I frequently asked to re-authenticate in the Admin Panel or in the Duo Prompt and seeing errors similar to "Session timeout" or "Login expired"?
    https://duosecurity.force.com/s/article/2106?language=en_US

    Admin Panelは非アクティブ時間が60分続くと自動的にタイムアウトする仕様もあります。

Duo SecurityでAzure ADのDirectory情報を取り込む

Duo SecurityからAzure Active Directory (Azure AD)のDirectory情報を取り込む際の技術要素や設定方法を整理しました。

概要

最初にDuo SecurityとAzure ADの技術要素を整理します。

端的に設定の流れを表現すれば、Duo SecurityのDashboardからAzure ADに対してAzureの管理者アカウントで認証を行って、取り込み対象となるDirectory情報のGroupを指定すれば完了します。
しかしながら、セキュリティの最小権限の原則に基づいて設定するには、関係する技術要素を掘り下げてみる必要が出てきます。

Duo SecurityとAzure ADの関係性を下記のイメージ図に表現しました。特に意識が必要なのは、AzureにおけるアカウントのRoleとEnterprise Applicationになります。

Duo SecurityからAzure Active DirectoryへのDirectory Sync

Duo SecurityのDashboardから Global Administrator のRoleを持つAzureのアカウントで認証を行い、その過程でEnterprise Applicationの Duo Azure AD Sync が作成されます。

Enterprise Application: Duo Azure AD Sync の作成

AzureのEnterprise Applicationの観点

Enterprise Application: Duo Azure AD Syncの登録後は、Azureのアカウントの Global Administrator のRoleは不要になります。 Directory Syncの動作にMicrosoft Grpahの技術が用いられており、AzureのアカウントではなくEnterprise Application: Duo Azure AD Sync の権限でDirectory情報にアクセスできるようになるためRoleは不要になります。

Enterprise Application: Duo Azure AD Sync の権限の確認

Azureのアカウントの観点

ドキュメント上では Global Administrator のRoleを用いる旨が記載されていますが、筆者が検証した限りではEnterprise Applicationの作成権限を持っている Cloud Application AdministratorApplication Administrator のRoleでも認証が通って設定ができました。 ただ、無用なトラブルを避けるためにドキュメントに従った方が好ましいと思われます。

duo.com

  • A designated Azure admin service account to use for authorizing the sync. This account needs the Azure Global Administrator role during Duo setup, but you can reduce the service account's role privileges later. This service account may or may not require Azure MFA for admins at login (learn more about the baseline MFA policy for Azure admins).

Roleの権限の情報は下記のドキュメントに記載があります。Roleへの直接リンクも併記しておきます。

docs.microsoft.com

検証時の環境情報

  • Azureは Azure AD Premium P2 のライセンスで確認を行っております。

    検証時のAzure ADのライセンス

  • Duo Securityは D249 のRelease時期に検証を行っております。

    Duo SecurityのVersioning情報

設定手順

Azure AD側で取り込み対象のGroupの用意

  • Azure Portalから Azure Active DirectoryManage セクションから Groups を開いて、取り込み対象のGroupを用意しておいてください。

    Azure ADのGroupの設定

Azure AD側で認証用アカウントに対するRoleの設定

  • Azure Portalから Azure Active DirectoryManage セクションから Users を開いて、Users 画面の All users からDirectory Syncの認証に用いるアカウントの設定画面に入ります。

    Directory Syncの認証に用いるアカウントの選択

  • 対象アカウントの Manage セクションから Assigned roles を開いて、Add assignments ボタンを押下します。

Roleの割り当て画面への移動

  • Membership タブの Select roleGlobal Administrator を指定します。
    備考: 筆者の検証時は、Cloud Application AdministratorApplication Administrator のRoleでも認証が通って設定ができましたが、ドキュメント通りに設定するのであれば Global Administrator となります。

    Roleの指定

  • Setting タブで Assignment typeActive を指定します。有効期限の設定は適宜調整してください。Enter justification にはRoleを割り当てる意図の正当な理由 (Justification)を記載します。

    Roleの各種設定

  • Roleが割り当たると Active assignments タブに表示されます。

    Roleの割り当ての確認

Duo Security側でのDirectory Syncの設定

  • メニュー: Users > Directory Sync へ移動して、Azure Active Directory タブで Add New Azure Active Directory Sync ボタンを押下します。

    Directory Sync

  • Add new connection を選択して Continue ボタンを押下します。

    New Azure AD Sync

  • Micrososftのログイン画面にリダイレクトされます。Global Administrator のRoleを持つAzureのアカウントで認証を行います。

    Azureのアカウントによる認証

    • Azureのアカウントに適切なRoleがある場合は、Enterprise Application: Duo Azure AD Sync に対する権限の要求を許可するか問われます。内容に問題なければ Accept ボタンを押下します。

    認証の成功時: Azureのアカウントに適切なRoleがある場合

    • Azureのアカウントに適切なRoleがない場合は、Need admin approval のメッセージが表示されます。

    認証の失敗時: Azureのアカウントに適切なRoleがない場合

  • Azureのアカウントの認証が完了したらDirectory Syncの設定画面に戻されます。

    認証完了時のDirectory Syncの設定画面

  • Normalize usernames の設定を適宜変更します。
    Normalize usernames にチェックを入れると Username 形式で取り込まれます。筆者はメール アドレスの形式で取り込みを行いたかったためチェックを外しています。

    Normalize usernames の設定

    Normalize usernamesの影響

  • Selected Groups で取り込み対象のGroupを指定します。Save ボタンを押下して設定を保存するのを忘れないようにしてください。

    取り込み対象のGroupの指定

  • Directory情報の同期処理を即時的に行うために Sync directory セクションにある Sync Now ボタンを押下します。成功すると画面上部に Directory updated successfully. のメッセージが表示されます。

    Directory情報の同期処理

  • メニュー: Groups にて取り込まれたGroup情報が確認できます。Description 列にAzureのテナントから取り込まれている旨の情報が表示されます。

    Group情報の確認

  • メニュー: Users にてGroupに紐付いて取り込まれたUser情報が確認できます。

    User情報の確認

設定時の実務面の考慮

Directory Syncを行うにはDuo SecurityとAzure ADの両方で作業が必要になるため、実務面では設定作業の調整が必要になります。 特にAzureのアカウントの Global Administrator のRoleは大きな権限を有しているため、セキュリティ的に簡単に権限を渡せるものではないと思われます。 そのため、Directory Syncの設定にあたり、Roleの有効期間を持たせる方法や、Roleの一時割り当てから削除までを極力短くするために作業タイミングを合わせる方法が想定されます。

Roleに有効期間を持たせるケース

Roleに有効期間を持たせるケース

Roleの割り当て時に有効期間が指定可能です。

Roleの有効期間の指定

作業タイミングの調整ケース

作業タイミングの調整ケース

Meraki MXのHTTPS Inspection機能の現状 (2022年09月頃の情報)

Meraki MXのHTTPS Inspectionは、HTTPS通信のSSL復号化を担う機能で、本記事の執筆時点でBeta機能であるためサポートへの有効化依頼が必要になります。

HTTPS Inspection のドキュメントの非公開化

Meraki MXのHTTPS InspectionのドキュメントのURLは下記になりますが、本記事の執筆時点で非公開になっています。

https://documentation.meraki.com/MX/Content_Filtering_and_Threat_Protection/HTTPS_Inspection

非公開時の画面キャプチャ (2022年09月13日時点)

ドキュメントが閲覧可能だった時点 (2021年02月29日)のInternet ArchiveのURLも記載しておきます。

https://web.archive.org/web/20210228064724/https://documentation.meraki.com/MX/Content_Filtering_and_Threat_Protection/HTTPS_Inspection

非公開になった背景は、HTTPS InspectionがBeta版で仕様自体を随時更新する可能性があり、既存機能やネットワークの安定性に大きな影響をもたらす可能性があるため実導入にはリスクが高いので外部向けには公開が中止されている旨をサポートから回答を得ています。(2022年03月頃)

一般的にSSL復号化はデバイスのパフォーマンスに大きな影響を与えるので、Meraki MXの場合はデバイスの安定性を維持するために、同じCisco社の製品であるUmbrella SIGにSSL復号化処理をオフロードする案が考えられます。 MX Sizing Principles のドキュメントでもその点は言及されてます。

https://meraki.cisco.com/product-collateral/mx-sizing-guide/?file
MX Sizing Principle のドキュメントは随時更新される可能性があります。下記は2022年09月13日時点の情報より引用です。

2022年09月13日時点のMX Sizing Principle

The performance impact of HTTPS inspection will be high on any appliance on the market. An alternative could be to consider moving the HTTPS inspection workload to the cloud with Cisco Umbella SIG.

ただし、トラフィックがInternet側にあるSASE Platform (Umbella SIG)へ抜けていく前提感が出てくるため、拠点からData CenterのようなSASE Platformを折り返したくない頻繁な通信が走るような環境では特性的に向かない可能性があります。 そのため、HTTPS Inspectionの機能をUmbrella SIGで代用しようとすると設計に跳ねるので、簡単に代案として提示できるものではない点に注意してください。

筆者の検証時の情報

筆者はHTTPS Inspectionをサポートに依頼して有効化していますが、Beta版でありドキュメントが公開されていない以上は正確な仕様を掴めないため実質的に正確な検証が行えてません。

特にその理由の一端になっているのが、筆者の環境でHTTPS Inpsectionを有効化すると、HTTPS通信がSSL復号化の対象であるか否かに関わらずに行えなくなりました。

下記の画面キャプチャでは、L7 Allow listSSL復号化の"除外"対象にしているのにも関わらず、HTTPS通信が Connection refused で弾かれたものです。

HTTPS Inspectionの無効化 (Disabled)時 - HTTPS通信が可能 (想定通り)

HTTPS Inspectionの有効化 (Enabled)時 - SSL復号化の除外対象のHTTPS通信が不可能 (想定外)

次にSSL復号化の対象に変えてみても、SSL復号化の"除外"時と同じく Connection refused となりました。HTTPS Inspectionが動作していれば、Meraki MXがSSL復号化に用いた際の証明書の情報が表示されるのが期待動作ですが、通信自体が成立しませんでした。

HTTPS Inspectionの有効化 (Enabled)時 - SSL復号化対象のHTTPS通信が不可能 (想定外)

Meraki Communityでも同様の挙動の情報が2019年時点 (06-05-2019 02:13 PM)であったので、筆者の環境も該当している可能性がありました。

community.meraki.com

after a month of waiting the support finally enabled the ssl inspection. now my question is what kind of certificate I need to upload? I created the root certificate with the private key using openssl uploaded it but it doesnt work - no https page loads.

なお、HTTPS Inspectionを使用するには、メニュー: Organization > SettingsHTTPS Inspection セクションにある HTTPS certificateMeraki MXデバイスSSL復号化に用いる証明書をアップロードしておく必要があります。 その上で、メニュー: Security & SD-WAN > Threat protectionHTTPS Inspection セクションの各種項目を適宜設定します。

HTTPS InspectionのHTTPS cerificateの設定

MerakiのFirmware Upgrade時のTime Zoneの考慮

MerakiFirmware Upgrade時に実行タイミングを指定できますが、時刻は対象Networkに紐付いているTIme Zoneの設定が参照されます。

Firmware Upgrade時のTime Zoneの扱い

対象NetworkのTime Zoneの設定に依存するため Schedule firmware change の画面では (network local time) と表現されています。

(network local time) の表記

Time Zoneの設定箇所

Time Zoneの設定箇所は、メニュー: Network-wide > GeneralLocal time zone にあります。 Network単位の設定になる点に留意してください。

メニュー: Network-wide > General の Local time zone

Configuration Templateを使用していない場合は、全てのNetworkで明示的な設定が必要な項目になるため、設定漏れが発生しないように注意してください。 明示的な設定が漏れていた場合、Japan (UTC +9.0) で指定したつもりが実は UTC (UTC +0.0) になっていて、意図しないタイミングで再起動が走ってサービス断が発生するようなケースが想定されます。

具体例: スケジューリングとTime Zoneの関係性

仮にFirmware Upgradeの時刻を 11:00 と指定してスケジューリングした場合は、

  • 対象NetworkのTime Zoneが UTC (UTC +0.0) であれば、11:00 UTC の時刻で設定されます。

  • 対象NetworkのTime Zoneが Japan (UTC +9.0) であれば、11:00 JST の時刻で設定されます。

具体例: スケジューリングとTime Zoneの関係性

グローバル企業でTime Zoneを全拠点で UTC (UTC +0.0) に統一管理したいような場合は、日本在住の社員はUTCと日本時間との差異を意識するケースが想定されるので注意してください。

Time Zoneの読み替えが発生するケース

設定画面

Time Zoneが UTC (UTC +0.0)Japan (UTC +9.0) のパターンで、Firmware Upgrade作業時のTime Zone関連の画面を参考情報として掲載します。

本手順のようにスケジューリングの前後でTime Zoneの関連情報を確認するようにしておくと、意図しないUpgradeタイミングを指定しまうリスクを低減できる可能性があります。

Time Zone: UTC (UTC +0.0) のパターン

  • Time Zoneの設定を確認しています。UTC (UTC +0.0) のパターンになっています。

    Time Zone: UTC (UTC +0.0) のパターン#1 - Local time zone

  • スケジューリングのタイミングを指定しています。

    Time Zone: UTC (UTC +0.0) のパターン#2 - Schedule firmware change

  • 実際にスケジューリングされたタイミングを確認しています。UTC と表示されているのが確認できます。

    Time Zone: UTC (UTC +0.0) のパターン#3 - Scheduled changes

Time Zone: Japan (UTC +9.0) のパターン

  • Time Zoneの設定を確認しています。Japan (UTC +9.0) のパターンになっています。

    Time Zone: Japan (UTC +9.0) のパターン#1 - Local time zone

  • スケジューリングのタイミングを指定しています。

    Time Zone: Japan (UTC +9.0) のパターン#2 - Schedule firmware change

  • 実際にスケジューリングされたタイミングを確認しています。JST と表示されているのが確認できます。

    Time Zone: Japan (UTC +9.0) のパターン#3 - Scheduled changes

情報源

Firmware Upgrade時のTime Zoneに関する情報は、下記のドキュメントに記載があります。

documentation.meraki.com

If I schedule an upgrade on my template network, when do the child networks upgrade?
When scheduling an upgrade on a template network, all child networks will upgrade at that time within their respective timezones. For example, if a template network is scheduled for an upgrade at 7PM, all child networks will upgrade at 7PM in their configured timezones.

関連記事

myhomenwlab.hatenablog.com