ADC

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

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

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

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

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

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

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

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

重要

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

ADFSプロキシおよびWS-フェデレーションIdPとして構成されている場合にNetScalerがサポートする機能

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

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

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

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

WS フェデレーション IdP

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

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

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

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

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

重要

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

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

add authentication Policy <Domain_LDAP_Policy> -rule true -action <Domain_LDAP_Action>
<!--NeedCopy-->

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
<!--NeedCopy-->

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

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

add authentication samlIdPProfile <Domain_SAMLIDP_Profile> -samlIdPCertName <SSL_CERT> -assertionConsumerServiceURL "https://login.microsoftonline.com/login.srf" -samlIssuerName <Issuer Name for Office 365 in ADFS Server> -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 <Domain_SAMLIDP_Policy> -rule "HTTP.REQ.HEADER("referer").CONTAINS("microsoft") || true" -action <Domain_SAMLIDP_Profile>
<!--NeedCopy-->

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
<!--NeedCopy-->

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

add authentication vserver <Domain_AAA_VS> SSL <IP_address>`
<!--NeedCopy-->

add authentication vserver CTXTEST_AAA_VS SSL 192.168.1.0

bind authentication vserver CTXTEST_AAA_VS -portaltheme RfWebUI
<!--NeedCopy-->

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

bind authentication vserver <Domain_AAA_VS> -policy <Domain_SAMLIDP_Policy> -priority 100 -gotoPriorityExpression NEXT

bind authentication vserver <Domain_AAA_VS> -policy <Domain_LDAP_Policy> -priority 100 -gotoPriorityExpression NEXT
<!--NeedCopy-->

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
<!--NeedCopy-->

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

add cs action <Domain_CS_Action> -targetVserver <Domain_AAA_VS>

add cs policy <Domain_CS_Policy> -rule "is_vpn_url || http.req.url.contains("/adfs/ls") || http.req.url.contains("/adfs/services/trust") || -action <Domain_CS_Action>
<!--NeedCopy-->

add cs action 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
<!--NeedCopy-->

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

bind cs vserver CTXTEST_CSVS -policyName CTXTEST_CS_Policy -priority 100
<!--NeedCopy-->