Citrix ADC

Web サービスフェデレーションプロトコル

Web サービスフェデレーション (WS-Federation) は、2 つのドメイン間に信頼関係がある場合に、ある信頼ドメインのセキュリティトークンサービス (STS) が別の信頼ドメインの STS に認証情報を提供できるようにするアイデンティティプロトコルです。

WS-フェデレーションの利点

WS フェデレーションはアクティブクライアントとパッシブクライアントの両方をサポートしますが、SAML IdP はパッシブクライアントのみをサポートします

  • アクティブクライアントは、Outlook などのMicrosoft ネイティブクライアントと Office クライアント (Word、PowerPoint、Excel、および OneNote) です。
  • パッシブクライアントは、Google Chrome、Mozilla Firefox、インターネットエクスプローラーなどのブラウザベースのクライアントです。

Citrix ADC を WS フェデレーションとして使用するための前提条件

Citrix ADCアプライアンスをADFSプロキシとして構成する前に、以下を確認してください。

  • Active Directory
  • ドメイン SSL 証明書。
  • ADFSサーバー上のCitrix ADC SSL証明書とADFSトークン署名証明書は同じである必要があります。

重要

SAML IdP は WS フェデレーションプロトコルを処理できるようになりました。したがって、WS-Federation IdP を設定するには、実際に SAML IdP を設定する必要があります。WS-Federation について明示的に言及しているユーザーインターフェイスは表示されません。

ADFSプロキシおよびWS-Federation IdPとして構成されている場合にCitrix ADCでサポートされる機能

次の表に、ADFSプロキシおよびWS-Federation IdPとして構成された場合にCitrix ADCアプライアンスでサポートされる機能を示します。

機能 Citrix ADCアプライアンスをADFSプロキシとして構成する WS-フェデレーションIdPとしてのCitrix ADC ADFSPIPとしてのCitrix ADC
負荷分散 はい はい はい
SSL 終了 はい はい はい
レート制限 はい はい はい
統合 (DMZサーバの設置面積を削減し、パブリックIPを節約) はい はい はい
Webアプリケーションファイアウォール(WAF) はい はい はい
Citrix ADCアプライアンスへの認証オフロード はい はい (アクティブクライアントとパッシブクライアント) はい
シングルサインオン(SSO) はい はい (アクティブクライアントとパッシブクライアント) はい
多要素(nFactor)認証 いいえ はい (アクティブクライアントとパッシブクライアント) はい
Azure 多要素認証 いいえ はい (アクティブクライアントとパッシブクライアント) はい
ADFS サーバーファームは避けられる いいえ はい はい

Citrix ADCアプライアンスをWSフェデレーションIdPとして構成する

DMZゾーンでCitrix ADCをWSフェデレーションIdP(SAML IdP)として構成します。ADFS サーバーは、バックエンドの AD ドメインコントローラーとともに構成されます。

WS フェデレーション IdP

  1. Microsoft Office365へのクライアント要求は、Citrix ADCアプライアンスにリダイレクトされます。
  2. ユーザーは、多要素認証の資格情報を入力します。
  3. Citrix ADCはADで資格情報を検証し、Citrix ADCアプライアンスでネイティブにトークンを生成します。資格情報は、アクセスのために Office365 に渡されます。

WS-Federation IdPのサポートは、F5 Networksロードバランサーと比較した場合、Citrix ADCアプライアンスを介してネイティブに行われます。

CLIを使用してCitrix ADCアプライアンスをWS-フェデレーションIdP(SAML IdP)として構成する

以下のセクションは、構成手順を完了するための要件に基づいて分類されています。

LDAP 認証を設定してポリシーを追加するには

重要

ドメインユーザーの場合、会社の電子メールアドレスを使用してCitrix ADCアプライアンスにログオンするには、以下を構成する必要があります。

  • Citrix ADCアプライアンスでLDAP認証サーバーとポリシーを構成します。
  • 認証、承認、および監査用の仮想 IP アドレスにバインドします (既存の LDAP 設定の使用もサポートされています)。
add authentication ldapAction  -serverIP  -serverPort 636 -ldapBase "cn=Users,dc=domain,dc=com" -ldapBindDn "cn=administrator,cn=Users,dc=domain,dc=com" -ldapBindDnPassword  -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -followReferrals ON -Attribute1 mail -Attribute2 objectGUID add authentication Policy  -rule true -action  

add authentication ldapAction CTXTEST_LDAP_Action -serverIP 3.3.3.3 -serverPort 636 -ldapBase "cn=Users,dc=ctxtest,dc=com" -ldapBindDn "cn=administrator,cn=Users,dc=ctxtest,dc=com" -ldapBindDnPassword xxxxxxxxxxx -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -followReferrals ON -Attribute1 mail -Attribute2 objectGUID add authentication Policy CTXTEST_LDAP_Policy -rule true -action CTXTEST_LDAP_Action 

Citrix ADC を WS フェデレーション IdP または SAML IdP として構成するには

トークン生成のための WS-Federation IdP (SAML IdP) アクションとポリシーを作成します。後で認証、承認、および監査仮想サーバーにバインドします。

add authentication samlIdPProfile  -samlIdPCertName  -assertionConsumerServiceURL "https://login.microsoftonline.com/login.srf" -samlIssuerName  -rejectUnsignedRequests OFF -audience urn:federation:MicrosoftOnline -NameIDFormat persistent -NameIDExpr "HTTP.REQ.USER.ATTRIBUTE(2).B64ENCODE" -Attribute1 IDPEmail -Attribute1Expr "HTTP.REQ.USER.ATTRIBUTE(1)" add authentication samlIdPPolicy  -rule "HTTP.REQ.HEADER("referer").CONTAINS("microsoft") || true" -action  

add authentication samlIdPProfile CTXTEST_SAMLIDP_Profile -samlIdPCertName ctxtest_newcert_2019 -assertionConsumerServiceURL "https://login.microsoftonline.com/login.srf" -samlIssuerName "http://ctxtest.com/adfs/services/trust/" -rejectUnsignedRequests OFF -audience urn:federation:MicrosoftOnline -NameIDFormat persistent -NameIDExpr "HTTP.REQ.USER.ATTRIBUTE(2).B64ENCODE" -Attribute1 IDPEmail -Attribute1Expr "HTTP.REQ.USER.ATTRIBUTE(1)" add authentication samlIdPPolicy CTXTEST_SAMLIDP_Policy -rule "HTTP.REQ.HEADER("referer").CONTAINS("microsoft") || true" -action CTXTEST_SAMLIDP_Profile 

企業の資格情報を使用して Office365 にログオンする従業員を認証するように、認証、承認、および監査仮想サーバーを構成するには

add authentication vserver  SSL ` 

add authentication vserver CTXTEST_AAA_VS SSL 192.168.1.0 bind authentication vserver CTXTEST_AAA_VS -portaltheme RfWebUI 

認証仮想サーバーとポリシーをバインドするには

bind authentication vserver  -policy  -priority 100 -gotoPriorityExpression NEXT bind authentication vserver  -policy  -priority 100 -gotoPriorityExpression NEXT 

bind authentication vserver CTXTEST_AAA_VS -policy CTXTEST_SAMLIDP_Policy -priority 100 -gotoPriorityExpression NEXT bind authentication vserver CTXTEST_AAA_VS -policy CTXTEST_LDAP_Policy -priority 100 -gotoPriorityExpression NEXT bind ssl vserver CTXTEST_AAA_VS -certkeyName ctxtest_newcert_2019 

コンテンツスイッチングを設定するには

add cs action  -targetVserver  add cs policy  -rule "is_vpn_url || http.req.url.contains("/adfs/ls") || http.req.url.contains("/adfs/services/trust") || -action  

添加cs操作CTXTEST_CS_Action -targetVserver CTXTEST_AAA_VS add cs policy CTXTEST_CS_Policy -rule "is_vpn_url || http.req.url.contains("/adfs/ls") || http.req.url.contains("/adfs/services/trust") || -action CTXTEST_CS_Action 

コンテンツスイッチ仮想サーバーをポリシーにバインドするには

bind cs vserver CTXTEST_CSVS -policyName CTXTEST_CS_Policy -priority 100