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) to query AD server security logs in order to obtain the user login message.
An enterprise has deployed a FW as the egress gateway to connect the intranet to the Internet, as shown in Figure 1.

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 querying security logs of the AD server and the mode of receiving messages from PCs. 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.
The configuration roadmap is as follows:
Enable the AD SSO service (by installing ADSSO_Setup.exe) on an AD monitor, configure the login and logout scripts on the AD domain controller, and deliver the scripts using group policies.
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. |
|
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. |
Logs Query Parameter Interval for querying security logs: 10s |
The AD monitor regularly queries security logs generated by the AD server from the time when the AD SSO is enabled. |
|
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. |
|
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 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 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.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 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
In this example, the user authentication domain of the AD server is cce.com. Therefore, you need to create the authentication domain cce.com on the FW and perform related configurations in the authentication domain. Do not perform the configuration in the default domain.
[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
If the server has many users or user groups, some users or user groups under the basedn may not be imported to the FW because the number of users or user groups exceeds the FW's specification. Therefore, you are advised to run the command server searchdn to select an import range.
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
You must use an account that belongs to the Administrators group to log in to the AD monitor.
Verify that the following conditions are true:
<FW> display user-manage online-user verbose
Current Total Number: 1
--------------------------------------------------------------------------------
IP Address: 10.3.0.2
Login Time: 2015-01-21 14:58:36 Online Time: 00:00:49
State: Active TTL: 00:30:00 Left Time: 00:29:59
Access Type: local
Authentication Mode: Single Sign-on
Access Device Type: unknown
<--packets: 0 bytes: 0 -->packets: 0 bytes: 0
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.251 32 destination-address 10.3.0.254 32 action permit rule name local_policy_ad_02 source-zone trust destination-zone local source-address 10.3.0.251 32 source-address 10.3.0.254 32 action permit rule name policy_sec_02 source-zone trust source-address 10.3.0.0 24 destination-zone untrust 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 user-filter (&(|(objectclass=person)(objectclass=organizationalPerson))(cn=*)(!(objectclass=computer))) 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 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