はじめに
このドキュメントでは、DuoをSecurity Management Appliance(SMA)およびAzureと統合してSecurity Assertion Markup Language(SAML)認証を行う方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- アクティブなAzureアカウント: Duo (無料ライセンス)との統合をセットアップするには、Azureサブスクリプションを持ち、Azure ADコンソールにアクセスできる必要があります
- SAML対応のサービスプロバイダー(SP):SAML認証をサポートし、Azure ADをIDプロバイダーとして使用するように構成されたアプリケーションまたはシステムが必要です。
- 設定情報:SAMLエンティティID、SAML応答URL、SAMLセキュリティキーなど、SPとDuoに固有の設定情報が必要です。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
Duoは、SAML認証にセキュリティレイヤを追加する2要素認証サービスプロバイダーです。
一般的なシナリオでは、Azureはアイデンティティプロバイダー(IdP)として機能し、Webアプリケーションや情報システムなどの外部サービスはセキュリティSMAとして機能します。
DuoおよびAzureを使用したSAML認証のフローは、次のようになります。
- ユーザーがセキュリティSMAへのアクセスを試み、Azureにリダイレクトされてログインします。
- Azureはユーザー認証を要求し、Duoを使用して2つ目の認証要素(Call、SMS、Hardware Token、WebAuth)を介してユーザーのIDを確認します。
- 認証されると、AzureはSAML応答をSMAに送信します。この応答には、認証情報とユーザーに関するアサーションが含まれています。
- SMAはSAML応答を検証し、有効な場合は、保護されたリソースへのアクセスをユーザに許可します。
- 要約すると、SAMLとDuoおよびAzureを組み合わせることで、異なるシステムやプラットフォーム間でセキュアで中央集中型のユーザ認証が可能になり、パスワード認証と2要素認証を組み合わせてセキュリティを強化できます。
重要な所見
- SAMLは、異なるシステムおよびプラットフォーム間でのユーザ認証と認可を可能にするセキュリティ標準です。
- IdPは、認証を許可するためにユーザのすべての情報を保存するIDです(つまり、Duoは認証の要求を確認および承認するためのすべてのユーザ情報を持っています)。
- SP簡単な言葉で、それはアプリケーションです。
注:これは、SAML認証ソースとしてAzureでのみ機能します。
設定
1.シングルサインオンの設定
管理ポータルで次の操作を行います。 Single Sign-on > Duo Central > Add source
.
選択 Add SAML Identity Provider
図に示すように.
このパートでは、DuoとAzureを統合してSMAと統合するために必要なすべての情報を見つけます。
他のウィンドウで情報を維持して統合に使用する一方で、Azureでパラメーターを構成します。
SAML Azure統合(Duo Admin Portal)部分に含まれている情報を確認したら、Azureポータルhttps://portal.azure.com/にログインする必要があります。
次を検索 Azure Active Directory
図に示すように、上部の検索バーに表示されます。
移動先 Enterprise Applications
図に示すように。
選択 New Application
図に示すように。
選択 Create your own application
をクリックし、アプリケーションの名前を選択して、 Integrate any other application you don't find in the gallery (Non-Gallery)
をクリックして Create
.
次に、ユーザを追加します。(シングルサインオン(SSO)ログイン時に使用できるのは、ここで追加したユーザだけです)。
選択 Assign Users and Groups
図に示すように。
選択 Add user/group
図に示すように。
注:グループを追加できるのは、ADにライセンスが付与されている場合だけです。ライセンスが付与されていない場合は、ユーザを使用できます。
ユーザまたはグループを追加したら、SSO設定を開始します。
- 選択
Set Up Single Sign-on
- 選択
SAML
その後、Duo Admin PortalでSAML Azure統合のデータを使用してAzure上のDuo SAMLベースのサインオンを構成する必要があります。
選択 Edit
通常の Basic SAML Configuration
図に示すように。
Entity IDとAssertion Consumer Service URLのDuoからAzureにデータをコピーした後、Identifier (Entity ID)
と Reply URL (Assertion Consumer Service URL)
,
これで完了です。
次に、 Edit
を参照 Attributes & Claims
を参照。
Delete the previous configuration
次の設定を Attributes & Claims
を参照。
次のようなものがあります。
設定を完了するには、SAML証明書の下で証明書をダウンロードし、SAML設定のDuo Admin Portalにアップロードする必要があります。
クリック Choose File
ダウンロードする証明書を選択します(前の図を参照)。(これは管理パネルのDuoアプリの下にあります)。
これで、DuoとAzure間のSAML構成が終了しました。
警告: Azureのテストは機能せず、失敗します(試行しないでください)。
2. AzureからDuoでユーザーを同期するようにAD Syncを構成する(オプション)
この手順はオプションですが、AzureからDuoへのグループの同期に役立ちます。 これを行いたくない場合は、このステップを省略できます。
移動先Users > Directory Sync > Add New Sync > Azure AD
図に示すように。
その後、次にリダイレクトされます。 New Azure AD Sync
を参照。選択 Add New Connection
をクリックし、 Continue
を参照。
契約と権限を受け入れるには、Azureで認証する必要があります。
次のいずれかを選択します。Groups
統合する必要があります
その前に、チェックボックスをオンにして登録用の電子メールを送信できるようにするか、ユーザーがアプリにログインしてDuoに登録するように求められるのを待つことができます。
次のいずれかを選択します Save
を参照。
3. SMA用のDuo Single Sign-on Appの設定
「汎用SAMLサービスプロバイダーのシングルサインオン」を参照してください。 | Duo Security.
SMAを統合するためにDuoでアプリを作成します。
Navigate to Applications > Protect an Application
- 次を検索
Generic SAML Service Provider
を参照。
- 選択
Protect
を参照。
このパートでは、SPとIdPを共有するサービスプロバイダーとSAML応答の変数を設定します。
ユーザがSAMLで正しいパラメータを認証して送信できるように、IdPの最も重要な部分を設定します。
- エンティティID:サービスプロバイダーエンティティIDは、サービスプロバイダーを一意に識別するために使用されます。サービスプロバイダーエンティティIDの形式は、通常はURIです。
- アサーションコンシューマ:SAMLアサーションを受信して処理するサービスプロバイダーエンドポイント。アプリケーションのSAML Assertion Consumer Service(ACS)URL。
- サービスプロバイダーのログインURL:SAMLアサーションがHTTP POSTで送信される場所。これは、アプリケーションのSAMLアサーションコンシューマサービス(ACS)URLと呼ばれることがよくあります。
- 名前ID形式:アサーションサブジェクトステートメントのSAML処理ルールと制約を識別します。アプリケーションが明示的に特定のフォーマットを要求しない限り、デフォルト値の「Unspecified」を使用します。
Sign response
と Sign assertion
smaとDuoの両方でマークする必要があります。
- 属性名:属性名は、アイデンティティプロバイダーに設定された属性によって異なります。アプライアンスは、Group Mappingフィールドで属性名の一致エントリを検索します。これはオプションです。このフィールドを設定しない場合、アプライアンスはグループマッピングフィールド内のすべての属性の一致エントリを検索します。
- サービスプロバイダーの役割:必要に応じて書き込み、
group name in the directory
SMAで使用されます。
- Duoグループ:SMAとDuo間の認証フェーズで使用される統合グループ。(認証に使用されるグループは、SMAではなくDuoにあることを忘れないでください)。
4. SAMLを使用するためのSMAの設定
移動先 System Administration > SAML
図に示すように。
選択 Add Service Provider
.
注:このパラメータはSMAとDuoで同じである必要があることに注意してください。
- エンティティID:サービスプロバイダーエンティティIDは、サービスプロバイダーを一意に識別するために使用されます。サービスプロバイダーエンティティIDの形式は、通常はURLです。
- アサーションコンシューマURL:アサーションコンシューマURLは、認証が成功した後にアイデンティティプロバイダーがSAMLアサーションを送信する必要があるURLです。SMAのWebインターフェイスへのアクセスに使用するURLは、アサーションコンシューマURLと同じである必要があります。この値は、DuoでSMA設定を行う際に必要になります。
- SP証明書:これは、アサーションコンシューマURLを設定したホスト名の証明書です。
使用した方が最適です openssl
(WindowsまたはLinux)。自己署名証明書を設定する場合は、次の手順で行うか、証明書を使用します。
1.秘密キーを作成します。これにより、暗号化または復号化が可能になります。
openssl genrsa -out domain.key 2048
2.証明書署名要求(CSR)を作成します。
openssl req -key domain.key -new -out domain.csr
3.自己署名証明書を作成します。
openssl x509 -signkey domain.key -in domain.csr -req -days 365 -out domain.crt
日数を増やす場合は、次の日数が経過した後に値を変更できます。 -days
.
注:ベストプラクティスでは、証明書の有効期間を5年を超えないようにしてください。
その後、upload certificate and keyオプションで、SMAにアップロードする証明書とキーを取得します。
注:証明書をPKCS #12形式でアップロードする場合は、ステップ3の後で作成できます。
Optional
openssl pkcs12 -inkey domain.key -in domain.crt -export -out domain.pfx
組織の詳細については、必要に応じて入力し、「送信」を選択できます
移動先System Administration > SAML > Add Identity Provider
図に示すように。
この手順には2つのオプションがあり、その情報を手動で、またはXMLファイルを介してアップロードできます。
Duoでアプリケーションに移動し、IdPメタデータファイルをダウンロードします。
ファイルをダウンロードしたら、SMAのIdP Metadataオプションでアップロードできます。
SMAの下の最後の手順では、に移動します。 System Administration > Users > External Authentication > SAML
を参照。 次のパラメータがDuo設定と同じに見えるように設定します。
Attribute Name = Attribute Name for Match the Group Map Service Provider Role = Group Mapping
その後、変更をコミットして、展開が期待どおりに機能するかどうかを確認できます。
確認
このセクションでは、設定が正常に動作していることを確認します。
設定をテストするには、 Use Single Sign on
図に示すように。
次の図に示すように、Microsoftログイン時にログインするように求められます。
その後、ユーザを登録すると、認証のためにDuoでユーザ名とパスワードを設定するように求められます。その後、認証方法を選択する必要があります。
ユーザが登録されておらず、未登録ユーザを登録するようにポリシーが設定されている場合は、次の例のように、登録プロセスと認証方式に移行します。
すべての設定と修正が完了したら、ログインに成功します。
トラブルシュート
現在、この設定に関する特定のトラブルシューティング情報はありません。