This section provides an example for configuring AD Single Sign On (SSO) for Internet access users when a FW works as an egress gateway. In this example, the ADSSO_Setup.exe must be installed on the AD monitor (any computer in the AD domain, including the AD domain controller) and the login and logout scripts need to be set on the AD domain controller and delivered to PCs.
As shown in Figure 1, an enterprise has deployed the FW as the egress gateway at the network border to connect the intranet and Internet. 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:
ADSSO_Setup.exe has two working mode: the mode of receiving messages from PCs and the mode of querying security logs of the AD server. In the mode of querying security logs of the AD server, only user login messages can be obtained, but user logout messages cannot be obtained. In the mode of receiving messages from PCs, user logout messages can be obtained, ADSSO_Setup.exe needs to be installed, and login & logout scripts need to be deployed on the AD domain controller, and the login PCs can only be Windows systems. Set the working mode of ADSSO_Setup.exe as required.
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. NOTE:
Configure any of the AD servers that have established synchronization relationships. In this example, the AD server with IP address 10.3.0.251 is used as an example. |
|
User information import policy |
Import users from the AD server to the FW. |
|
AD SSO (FW) |
Set SSO parameters on the FW and configure the FW to receive the user login and logout information from the AD monitor. |
|
AD SSO service (ADSSO_Setup.exe program, installed on the AD monitor) |
AD Server Parameter |
Set the parameters of the AD server on the AD monitor for the AD monitor to connect to the AD server for checking user information after receiving user login/logout messages from the client computer. |
FW Gateway Parameter |
Enable the AD SSO service on the AD monitor, configure the AD monitor to listen to information about user login and logout, and send the information to the FW. The parameters must be the same as those on the FW. |
|
Client Communication Parameter |
|
|
AD domain controller (the login and logout scripts) |
Run the login and logout scripts on an AD domain controller. If a group policy is used to control the user login and logout, run the login and logout scripts respectively and send the login and logout information to the AD SSO service. The parameters must be the same as those on the ADSSO_Setup.exe. |
<FW> system-view [FW] interface GigabitEthernet 0/0/3 [FW-GigabitEthernet0/0/3] ip address 10.3.0.1 24 [FW-GigabitEthernet0/0/3] quit [FW] firewall zone trust [FW-zone-trust] add interface GigabitEthernet 0/0/3 [FW-zone-trust] quit
The parameters set here must be consistent with those set on the AD server.
[FW] ad-server template auth_server_ad [FW-ad-auth_server_ad] ad-server authentication 10.3.0.251 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, use the AD Explorer software to connect to the AD server to query the attribute values. The AD server attributes and mappings between the server attributes and parameters on the FW are as follows.

Use an existing AD server account and password to test the connectivity.
[FW-ad-auth_server_ad] test-aaa testname testpassword ad-template auth_server_ad [FW-ad-auth_server_ad] quit
[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] server searchdn ou=marketing,dc=cce,dc=com [FW-import-policy_import] server searchdn ou=research,dc=cce,dc=com [FW-import-policy_import] destination-group /cce.com [FW-import-policy_import] import-type user-group [FW-import-policy_import] import-override enable [FW-import-policy_import] sync-mode incremental schedule interval 120 [FW-import-policy_import] quit
In this example, users and user groups are imported to the FW. The user and user group filtering conditions in this example use the default values (&(|(objectclass=person)(objectclass=organizationalPerson))(cn=*)(!(objectclass=computer))) and (|(objectclass=organizationalUnit)(ou=*)). To change them, run the user-filter and group-filter commands.
[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] auth-policy [FW-policy-auth] rule name auth_policy_service [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 [FW-policy-auth] 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.
If the packets exchanged between the user and the AD server, between the user and the AD monitor, and between the AD monitor and the AD server pass through the FW, ensure that the authentication policy on the FW does not authenticate these packets and the security policy allows them through. You can run the display auth-policy command to check the authentication policy.
[FW] user-manage single-sign-on ad [FW-sso-ad] plug-in enhanced shared-key Admin@234 [FW-sso-ad] mode plug-in [FW-sso-ad] enable [FW-sso-ad] quit
[FW] user-manage online-user aging-time 480
When the ADs in a domain establish synchronization relationships, only one SSO service program (ADSSO_Setup.exe) needs to be deployed.
In this example, ADSSO_Setup.exe is deployed on the AD server with IP address 10.3.0.254.
You must use an account that belongs to the Administrators group to log in to the AD monitor (AD server with IP address 10.3.0.254 in this example) and perform the following operations:
When the ADs in a domain establish synchronization relationships, only one set of login/logout scripts needs to be deployed on one AD server. The login/logout scripts will be automatically synchronized to other AD servers.
You must use an account that belongs to the Administrators group to log in to the AD domain controller. In this example, the Windows Server 2003 and Windows 2008 Server are used as an AD domain controller.
<FW> display user-manage online-user verbose
Current Total Number: 1
--------------------------------------------------------------------------------
IP Address: 10.3.0.2
Login Time: 2017-08-17 09:47:36 Online Time: 05:25:25
State: Active TTL: 08:00:00 Left Time: 02:34:35
Access Type: local
Authentication Mode: Single Sign-on
Access Device Type: unknown
Downlink Packets: 0 Bytes: 0 Uplink Packets: 0 Bytes: 0
Downlink Rate: 0 Kbps Uplink Rate: 0 Kbps
Build ID: 0
User Name: user_0001@cce.com Parent User Group: /cce.com/research
--------------------------------------------------------------------------------
# sysname FW # user-manage online-user aging-time 480 user-manage single-sign-on ad enable plug-in enhanced shared-key %$%$B2N*$eJ0;'Nn'#ATC]t+Rri`%$%$ # ad-server template auth_server_ad ad-server authentication 10.3.0.251 88 no-ssl ad-server authentication base-dn dc=cce,dc=com ad-server authentication manager cn=administrator,cn=users %$%$M#._~J4QrR[kJu7PUMtHUqh_%$%$ ad-server authentication host-name ad.cce.com ad-server authentication ldap-port 389 ad-server user-filter sAMAccountName ad-server group-filter ou # security-policy rule name local_policy_ad_01 source-zone local destination-zone trust destination-address 10.3.0.0 24 action permit rule name local_policy_ad_02 source-zone trust destination-zone local source-address 10.3.0.0 24 action permit rule name policy_sec_03 source-zone trust source-address 10.3.0.0 24 destination-zone dmz action permit # auth-policy rule name auth_policy_service source-zone trust source-address 10.3.0.0 24 action exempt-auth # 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 add interface GigabitEthernet0/0/3 # firewall zone untrust add interface GigabitEthernet0/0/1 # firewall zone dmz add interface GigabitEthernet0/0/2 # user-manage import-policy policy_import from ad server template auth_server_ad server basedn dc=cce,dc=com server searchdn ou=marketing,dc=cce,dc=com server searchdn ou=research,dc=cce,dc=com destination-group /cce.com user-attribute sAMAccountName group-filter (|(objectclass=organizationalUnit)(ou=*)) import-type user-group import-override enable sync-mode incremental schedule interval 120 # aaa domain cce.com service-type internetaccess new-user add-temporary group /cce.com auto-import policy_import # The following configuration takes effect only one time and is not saved into the configuration file. execute user-manage import-policy policy_import test-aaa testname testpassword ad-template auth_server_ad