In this example, the FW serves as the egress gateway of an enterprise network; a Agile Controller server (Policy Center or Agile Controller) is used to authenticate users; user permission is controlled based on the organizational structure on an AD server.
An enterprise has deployed a FW as the egress gateway to connect the intranet to the Internet, as shown in Figure 1. Details are as follows:

The user management and authentication mechanisms of the FW must identify IP addresses on the intranet as users to implement user-specific behavior control and permission assignment. Requirements are as follows:
This example describes only how to configure user management and authentication.
Item |
Data |
Description |
|---|---|---|
AD server |
On a FW, set the parameters for communication with an AD server. The parameter settings on the FW must be consistent with those on the AD server. |
|
Agile Controller server |
On a FW, set the parameters for communication with a Agile Controller server. The parameter settings on the FW must be consistent with those on the Agile Controller server. |
|
User information import policy |
Import users and user groups from the AD server to the FW. |
|
Security policy |
Configure a security policy for the Trust (intranet users) -> DMZ (Agile Controller server) interzone for users to be authenticated by the Agile Controller server. |
|
Configure a security policy to allow the FW to communicate with an AD and Agile Controller server. |
||
Authentication Policy |
To implement SSO, configure an authentication policy. This policy disables the FW from processing the authentication requests to the Agile Controller server. |
|
Configure an authentication policy on the FW for users' service traffic and set the action to authentication exemption. |
The parameter settings on the FW must be consistent with those on the AD server.
[FW] ad-server template auth_server_ad [FW-ad-auth_server_ad] ad-server authentication 10.2.0.250 88 no-ssl [FW-ad-auth_server_ad] ad-server authentication base-dn dc=cce,dc=com [FW-ad-auth_server_ad] ad-server authentication manager cn=administrator,cn=users Admin@123 [FW-ad-auth_server_ad] ad-server authentication host-name ad.cce.com [FW-ad-auth_server_ad] ad-server authentication ldap-port 389 [FW-ad-auth_server_ad] ad-server user-filter sAMAccountName [FW-ad-auth_server_ad] ad-server group-filter ou
If you are unfamiliar with the AD server and cannot provide the server name or Base DN values, you can use the AD Explorer software downloaded from Internet to connect to the AD server to query the attribute values. The mappings between the server attributes and parameters on the FW are as follows.

Use the user name and password that are configured on the AD server to check the connectivity to the AD server.
[FW-ad-auth_server_ad] test-aaa testname testpassword ad-template auth_server_ad [FW-ad-auth_server_ad] quit
The following example describes Agile Controller V100R002C10. The user interface may vary with the version. For details, refer to the Policy Center or Agile Controller product documentation of a specific version.
Choose . Click Add and set the following parameters.
The FW uses port 8001 to receive user online and offline messages sent from the Agile Controller server.

If the FWs work in hot standby mode, you need to add Online Behavior Management Device twice on the Agile Controller server. The IP Address parameters must be set respectively to the real IP addresses of the active and standby device interfaces connecting to the Agile Controller server.
The parameter settings on the FW must be consistent with those on the Agile Controller server. In most cases, the server port of Policy Center is 8080, and that of Agile Controller is 8084.
[FW] tsm-server template auth_server_tsm [FW-tsm-auth_server_tsm] tsm-server ip-address 10.2.0.251 [FW-tsm-auth_server_tsm] tsm-server port 8084 [FW-tsm-auth_server_tsm] tsm-server encryption-mode aes128 shared-key Admin@123 [FW-tsm-auth_server_tsm] quit [FW] test tsm-server template auth_server_tsm Server detection succeeded.
[FW] aaa [FW-aaa] domain cce.com [FW-aaa-domain-cce.com] service-type internetaccess [FW-aaa-domain-cce.com] quit [FW-aaa] quit
[FW] user-manage import-policy policy_import from ad [FW-import-policy_import] server template auth_server_ad [FW-import-policy_import] server basedn dc=cce,dc=com [FW-import-policy_import] import-type all [FW-import-policy_import] destination-group /cce.com [FW-import-policy_import] import-override enable [FW-import-policy_import] sync-mode incremental schedule interval 120 [FW-import-policy_import] quit
In a scenario where the authentication server is isolated from the import server, the import type must contain the user, In this example, the import type is set to all users, user groups, and security groups.
[FW] execute user-manage import-policy policy_import
[FW] aaa [FW-aaa] domain cce.com [FW-aaa-domain-cce.com] new-user add-temporary group /cce.com auto-import policy_import [FW-aaa-domain-cce.com] quit [FW-aaa] quit
[FW] user-manage single-sign-on tsm [FW-sso-tsm] enable
[FW] auth-policy [FW-policy-auth] rule name auth_policy_tsm [FW-policy-auth-rule-auth_policy_tsm] source-zone trust [FW-policy-auth-rule-auth_policy_tsm] destination-zone dmz [FW-policy-auth-rule-auth_policy_tsm] source-address 10.3.0.0 24 [FW-policy-auth-rule-auth_policy_tsm] destination-address 10.2.0.251 32 [FW-policy-auth-rule-auth_policy_tsm] action none [FW-policy-auth-rule-auth_policy_tsm] quit [FW-policy-auth] rule name auth_policy_http [FW-policy-auth-rule-auth_policy_service] source-zone trust [FW-policy-auth-rule-auth_policy_service] source-address 10.3.0.0 24 [FW-policy-auth-rule-auth_policy_service] action exempt-auth [FW-policy-auth-rule-auth_policy_service] quit
If the action of the authentication policy is set to authentication exemption, the FW obtains user information through SSO and permits the traffic when user information fails to be obtained during SSO authentication. If the network has high security requirements, set the action of the authentication policy to portal authentication. Then the FW will implement portal authentication on the users failing the SSO authentication.
sysname FW # user-manage single-sign-on tsm enable # ad-server template auth_server_ad ad-server authentication 10.2.0.250 88 no-ssl ad-server authentication base-dn dc=cce,dc=com ad-server authentication manager cn=Administrator,cn=users %$%$KkGx/U}ir%TKvDU["/u$N/&z%$%$ ad-server authentication host-name ad.cce.com ad-server authentication ldap-port 389 ad-server user-filter sAMAccountName ad-server group-filter ou # tsm-server template auth_server_tsm tsm-server encryption-mode aes128 shared-key %$%$|5<h@/062'gA|%:9CO.2/JA8%$%$ tsm-server ip-address 10.2.0.251 # security-policy rule name policy_sec_1 source-zone trust destination-zone local source-address 10.3.0.0 24 destination-address 10.2.0.251 32 action permit rule name policy_sec_2 source-zone local destination-zone dmz action permit rule name policy_sec_3 source-zone dmz destination-zone local action permit # interface GigabitEthernet0/0/1 ip address 1.1.1.1 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 10.2.0.1 255.255.255.0 # interface GigabitEthernet0/0/3 ip address 10.3.0.1 255.255.255.0 # firewall zone trust set priority 85 add interface GigabitEthernet0/0/3 # firewall zone untrust set priority 5 add interface GigabitEthernet0/0/1 # firewall zone dmz set priority 50 add interface GigabitEthernet0/0/2 # aaa domain cce.com service-type internetaccess internet-access mode single-sign-on reference user current-domain new-user add-temporary group /cce.com auto-import policy_import # # auth-policy rule name auth_policy_tsm source-zone trust destination-zone dmz source-address 10.3.0.0 24 destination-address 10.2.0.251 32 action none rule name auth_policy_http source-zone trust source-address 10.3.0.0 24 action exempt-auth # user-manage import-policy policy_import from ad server template auth_server_ad server basedn dc=cce,dc=com destination-group /cce.com user-attribute sAMAccountName user-filter (&(|(objectclass=person)(objectclass=organizationalPerson))(cn=*)(!(objectclass=computer))) group-filter (|(objectclass=organizationalUnit)(ou=*)) import-type all import-override enable sync-mode incremental schedule interval 120 # The following configuration is used to perform a one-time operation and not stored in the configuration profile. execute user-manage import-policy policy_import test-aaa testname testpassword ad-template auth_server_ad test tsm-server template auth_server_tsm