Webサービスフェデレーションプロトコル
WS-フェデレーションの利点
-
アクティブクライアントは、Outlook などのMicrosoft ネイティブクライアントと Office クライアント (Word、PowerPoint、Excel、および OneNote) です。
-
パッシブクライアントは、Google Chrome、Mozilla Firefox、Internet Explorer などのブラウザベースのクライアントです。
NetScalerをWSフェデレーションとして使用するための前提条件
-
Active Directory
-
ドメイン SSL 証明書。
-
ADFSサーバー上のNetScaler SSL証明書とADFSトークン署名証明書は同じである必要があります。
ADFSプロキシおよびWS-フェデレーションIdPとして構成されている場合にNetScalerがサポートする機能
| Features | NetScalerアプライアンスをADFSプロキシとして構成する | WS-フェデレーションIdPとしてのNetScaler | ADFSPIPとしてのNetScaler ADC |
|---|---|---|---|
| 負荷分散 | はい | はい | はい |
| SSL 終了 | はい | はい | はい |
| レート制限 | はい | はい | はい |
| 統合 (DMZサーバの設置面積を削減し、パブリックIPを節約) | はい | はい | はい |
| Webアプリケーションファイアウォール(WAF) | はい | はい | はい |
| NetScalerアプライアンスへの認証オフロード | はい | はい (アクティブクライアントとパッシブクライアント) | はい |
| シングルサインオン(SSO) | はい | はい (アクティブクライアントとパッシブクライアント) | はい |
| 多要素(nFactor)認証 | いいえ | はい (アクティブクライアントとパッシブクライアント) | はい |
| Azure 多要素認証 | いいえ | はい (アクティブクライアントとパッシブクライアント) | はい |
| ADFS サーバーファームは避けられる | いいえ | はい | はい |
NetScalerアプライアンスをWS-フェデレーションIdPとして構成する
-
Microsoft Office365へのクライアントリクエストは、NetScalerアプライアンスにリダイレクトされます。
-
ユーザーは、多要素認証の資格情報を入力します。
-
NetScalerはADを使用して資格情報を検証し、NetScalerアプライアンス上でネイティブにトークンを生成します。資格情報は、アクセスのために Office365 に渡されます。
CLIを使用してNetScalerアプライアンスをWS-フェデレーションIdP(SAML IdP)として構成する
LDAP 認証を設定してポリシーを追加するには
-
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>
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
NetScaler をWS-フェデレーション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>
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 <Domain_AAA_VS> SSL <IP_address>`
add authentication vserver CTXTEST_AAA_VS SSL 192.168.1.0
bind authentication vserver CTXTEST_AAA_VS -portaltheme RfWebUI
認証仮想サーバーとポリシーをバインドするには
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
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 <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>
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
コンテンツスイッチ仮想サーバーをポリシーにバインドするには
bind cs vserver CTXTEST_CSVS -policyName CTXTEST_CS_Policy -priority 100