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/logout scripts need to be set on the AD domain controller and delivered to PCs.
Networking Requirements
An enterprise has deployed a FW as the egress gateway to connect the intranet to the Internet, as shown in Figure 1.
- The AD identity authentication mechanism is enabled on the intranet, and information about users and user group is saved on an AD server.
- Internet access users on the intranet include R&D employees and marketing employees.
Figure 1 AD SSO for Internet access users (the ADSSO_Setup.exe is installed to receive messages from PCs)
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:
- Information about users and departments is saved on the FW and can be referenced by policies.
- R&D employees and marketing employees use domain accounts to log in to AD domains and access network resources. R&D employees and marketing employees are identified by the user names they use to log in to AD domains.
- If the domain accounts of new employees have been created on an AD server but not stored on a FW, after being authenticated, these users go online as temporary users in the organization structure on the AD server.
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.
Configuration Roadmap
- This example describes only how to configure user management and authentication.
- When AD SSO is enabled, install the AD SSO service program ADSSO_Setup.exe on the AD monitor (any computer in the AD domain, including the AD domain controller). The service program can obtain the relevant user information upon user login and logout and send the information to the FW. In this example, a PC in the domain is used as the AD monitor. If the AD monitor is the AD domain controller, install ADSSO_Setup.exe on the AD domain controller and configure the AD monitor address as the address of the AD domain controller.
- In the example, both users and user groups on the AD server are imported to the FW. If there are a large number of users on a live network, you can import only user groups and control user permissions by user groups.
The configuration roadmap is as follows:
- On a FW, set the parameters for communication with an AD server.
- Configure an authentication domain on the FW. The domain name must be the same as that on the AD server.
- Configure a policy to import user information from the AD server to the FW.
- Configure the new user option of the authentication domain. If an authenticated user does not exist on the FW, the user goes online as a temporary user in the organization structure on the AD server.
- Set SSO parameters for the FW to receive user login and logout messages sent from the AD monitor.
- Configure an authentication policy whose action is authentication exemption on the FW.
- To prevent repeated login to the domain for authentication because of frequent timeouts during the working hours (8 hours), you need to set the user online timeout duration to 480 minutes.
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.
Data Planning
Item
|
Data
|
Description
|
AD server
|
Name: auth_server_ad
Primary Authentication Server IP: 10.3.0.251
Port: 88
Primary Server Host Name: ad.cce.com
Base DN/Port DN: dc=cce, dc=com
LDAP Port: 389
Administrator DN: cn=administrator,cn=users
Administrator Password: Admin@123
|
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
|
Name: policy_import
Server Type: AD
Server Name: auth_server_ad
Import Type: Import both users and user groups
Target User Group: /cce.com
Incremental Synchronization: 120 minutes
Overwrite local user records when the current user exists
|
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
Gateway Address: 10.3.0.1
Gateway Listening Port of the AD SSO service: 8000
Gateway Shared Key: Admin@234
|
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
|
- The service listening port is an open port of the AD monitor and is used to receive user login/logout information from client computers.
- The client shared key is the shared key for encrypting the communication packets between the client computer and AD monitor and must be the same as the key configured on the AD domain controller when login/logout scripts are configured.
- The anti-replay time is the time that the AD monitor used to check unauthorized client login. If the interval between the last client login recorded on the AD domain controller and the last login that the AD monitor receives from the client exceeds the anti-replay time, the AD monitor considers the client login unauthorized and does not send the client login/logout information to 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 and logout information to the AD SSO service.
The parameters must be the same as those on the ADSSO_Setup.exe.
|
Procedure
- Choose , set IP addresses for interfaces and assign the interfaces to security zones.
The following example describes how to configure interface GigabitEthernet 0/0/3. You can configure other interfaces based on the networking diagram.
Zone
|
trust
|
IP Address
|
10.3.0.1/24
|
- Choose , click Add to configure security policies.
- Configure security policies between the Trust (AD server and AD monitor) and Local zone to ensure the communication among the FW and AD server.
Name
|
local_policy_ad_01
|
Source Zone
|
local
|
Destination Zone
|
trust
|
Destination Address
|
10.3.0.251/32,10.3.0.254/32
|
Action
|
Permit
|
Name
|
local_policy_ad_02
|
Source Zone
|
trust
|
Destination Zone
|
local
|
Source Address
|
10.3.0.251/32,10.3.0.254/32
|
Action
|
Permit
|
- Configure a security policy to allow users to access the Internet.
Name
|
policy_sec_02
|
Source Zone
|
trust
|
Destination Zone
|
untrust
|
Source Address
|
10.3.0.0/24
|
Action
|
Permit
|
- Configure a security policy to allow users to access the server cluster.
Name
|
policy_sec_03
|
Source Zone
|
trust
|
Destination Zone
|
dmz
|
Source Address
|
10.3.0.0/24
|
Action
|
Permit
|
- On a FW, choose , click Add to set the parameters for communication with an AD server.

The parameter settings on the FW must be consistent with those on the AD server.

For the V600R007C20 version, whether to enable SSL for AD authentication cannot be configured on the web UI. When you configure the AD server on the web UI, SSL (ldap-over-ssl) is enabled by default. In this mode, LDAP over SSL must also be enabled on the AD server. For details, see the operating system guide of the AD server. To disable SSL (no-ssl), click CLI Console in the lower right corner of the web page. On the CLI configuration page that is displayed, run the ad-server authentication 10.3.0.251 88 no-ssl command in the corresponding AD server template view. The following uses no-ssl as an example.
Click Detect. In the dialog box that is displayed, click OK and enter the user name and password that are configured on the AD server. Click Start Checking to check the connectivity to the AD server.
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.

- On a FW, choose , click Add to create an authentication domain.

- On a FW, choose , click Add to configure a policy to import user information from the AD server to the FW.

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 click Select on the right of Server Import Location 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=*)).
- Choose , configure AD SSO and click Apply.
Click Configure on the right of Server Import Policy. A dialog box is displayed. Click Import Immediately corresponding to policy_import. After the import is complete, the user groups and users on the AD server are displayed in User/User Group/Security Group Management List.

- Choose , click Add to create an authentication policy.
Name
|
auth_policy_service
|
Source Zone
|
Trust
|
Source Address/Region
|
10.3.0.0/24
|
Action
|
Authentication exemption
|
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 choose to check the authentication policy.
- Choose , set the online user timeout duration to 480 minutes.
- Visit Huawei technical support website, download the AD SSO program to your PC, decompress the program package, and copy ADSSO_Setup.exe to the AD monitor.
- Deploy the AD SSO service on the AD monitor.
You must use an account that belongs to the Administrators group to log in to the AD monitor.
- Double-click ADSSO_Setup.exe. In the dialog box that is displayed, select English as the installation wizard language and click OK. The installation wizard is then displayed in English.
- Click Next and specify an installation directory, click Install.
- Start the ADSSO Agent program.
- Configure AD SSO parameters.

Configure the parameters for the AD SSO program to receive messages from PCs and the shared key used by the AD SSO program to communicate with the FW.
When an AD SSO service program monitors login messages of multiple AD servers in a domain forest, set Anti-replay Time to 0 and disable the anti-replay function. The anti-replay function detects the difference between the time at which the AD SSO service program receives a user login message and the time at which the user actually logs in to the AD server. If the time difference exceeds the anti-replay time, the user is prohibited from logging in to the FW. In a scenario where multiple AD servers exist, different users are authenticated by various AD servers. The AD SSO program will connect to multiple AD servers in turn to obtain user login time. This causes the time difference to exceed Anti-replay Time. Therefore, you shall disable the anti-replay function.
Make sure that the port (port 12345 in this example) you intend to use is not occupied by other services. Choose on the AD domain controller, enter cmd, and run netstat -ano|findstr 12345. If no information is returned, port 12345 is not occupied by other services. Otherwise, the system displays a message indicating the process ID of the service occupying the port. You are advised to release this port or specify another idle port for the AD SSO service.
Add AD servers.
The AD SSO program supports a maximum of 16 AD servers. It can connect to multiple AD servers to query login user information until it queries required information.
Add FWs.
The SSO program supports a maximum of five FWs and sends user login/logout messages to the FWs.
When the FWs work in hot standby scenarios, you need to set Device Address to the virtual IP address of the VRRP group where the interfaces reside, so that the SSO service can send user login messages to the standby device during an active/standby FW switchover.
Start the SSO service.
You can right-click the AD SSO icon in the system tray on your desktop to start or stop the AD SSO service. Alternatively, click Show Log on the home page to view program operating logs and SSO service logs.
You can also set the encoding style of the AD SSO program on the web UI. Ensure that the AD SSO program and the FW have the same encoding style. The default encoding style of the FW is GBK. If you have switched the encoding style to UTF-8, set the encoding style to UTF-8 here. Otherwise, keep the default setting.
- On the AD domain controller, add script ReportLogin.exe to the logon script (Logon.exe) and logoff script (Logoff.exe) respectively, and set the parameters of the logon and logoff scripts so that the AD SSO service can monitor the logon and logoff operations of domain users. You can obtain script file ReportLogin.exe from the Script folder in the installation directory of the AD SSO on the AD monitor.
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.
- Access the group policy management page and locate logon and logoff scripts. The steps for accessing the group policy management page and the paths of logon and logoff scripts differ on Windows 2003 Server, Windows 2008 Server and Windows 2012 Server. Details are as follows:
Windows 2003 Server
Choose . Then run the Active Directory Users and Computers tool.
Right-click the domain (cce.com as an example) that requires SSO and select ProPerties. In the dialog box that is displayed, click the Group Policy tab.
- Double-click Default Domain Policy to open the domain policy configuration window.
Choose ,.
Windows 2008 Server and Windows 2012 Server
- Choose .
Right-click Default Domain Policy under the domain to which SSO authentication is to be applied, and choose Edit.
Choose .
- Double-click Logon to access the login script configuration window.
- In the login script configuration window, click ShowFiles... and copy ReportLogin.exe to the directory that is displayed. Then close the directory.
- In the login script configuration window, click Add, add login script ReportLogin.exe, and set the script parameters, as shown in Table 1. Then click OK.
When adding the user login script, click Browse and select ReportLogin.exe in the directory displayed in 11.c.
Table 1 script parametersScript Name
|
Script Parameters
|
ReportLogin.exe
|
10.3.0.254 12345 0 3 Admin@123
NOTE: - The parameters are separated by spaces.
- In the example, the IP address of the AD SSO service is the IP address (10.3.0.254) of the AD monitor.
The service port must the same as the Port value specified in 10 when you install ADSSO_Setup.exe. The port number in this example is 12345.
- 0 indicates a login script. To configure a logout script, set this parameter to 1.
- 3 indicates maximum number of allowed retransmissions.
The client shared key must the same as the Client Key value specified in 10 when you install ADSSO_Setup.exe. The Password in this example is Admin@123.
|
- Configure the logout script by referring to steps 11.b and 11.d. The login and logout scripts are both ReportLogin.exe but are saved in different folders.
- Choose , enter cmd to open the CLI, and run gpupdate to apply the policy.
- After the configuration is complete, you can configure security policies, PBR policies, bandwidth policies, quota control policies, proxy policies, and audit policies that reference the user and user group objects.
Configuration Scripts
#
sysname FW
#
user-manage online-user aging-time 480
user-manage single-sign-on ad
enable
plug-in shared-key enhanced %$%$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
internet-access mode single-sign-on
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