Arrayos Asf 3.0.3 User Guide
Arrayos Asf 3.0.3 User Guide
3
User Guide
Copyright Statement
Copyright Statement
Copyright©2022 Array Networks, Inc., 1371 McCarthy Blvd, Milpitas, California
95035, USA. All rights reserved.
This document is protected by copyright and distributed under licenses restricting its
use, copying, distribution, and compilation. No part of this document may be
reproduced in any form by any means without prior written authorization of Array
Networks. Documentation is provided “as is” without warranty of any kind, either
express or implied, including any kind of implied or express warranty of
non-infringement or the implied warranties of merchantability or fitness for a
particular purpose.
Array Networks reserves the right to change any products described herein at any
time, and without notice. Array Networks assumes no responsibility or liability
arising from the use of products described herein, except as expressly agreed to in
writing by Array Networks. The use and purchase of this product does not convey a
license to any patent copyright, or trademark rights, or any other intellectual property
rights of Array Networks.
Warning: Modifications made to the Array Networks unit, unless expressly approved by
Array Networks, could void the user’s authority to operate the equipment.
Declaration of Conformity
We, Array Networks, Inc., 1371 McCarthy Blvd, Milpitas, CA 95035,
1-866-692-7729; declare under our sole responsibility that the product(s) Array
Networks, Array Appliance complies with Part 15 of FCC Rules. Operation is subject
to the following two conditions: (1) this device may not cause harmful interference,
and (2) this device must accept any interference received, including interference that
may cause undesired operation.
Warning: This is a Class A digital device, pursuant to Part 15 of the FCC rules. These
limits are designed to provide reasonable protection against harmful interference when the
equipment is operated in a commercial environment. This equipment generates, uses, and
can radiate radio frequency energy, and if not installed and used in accordance with the
instruction manual, may cause harmful interference to radio communications. In a
residential area, operation of this equipment is likely to cause harmful interference in
which case the user may be required to take adequate measures. In a domestic
environment this product may cause radio interference in which case the user may be
required to take adequate measures.
Engineered for the modern data center, Array Networks application, desktop and
cloud service delivery solutions support the scalability, price-performance, software
agility and leading-edge feature innovation essential for successfully transforming
today's challenges in mobile and cloud computing into opportunities for mobilizing
and accelerating business.
Website:
https://www.arraynetworks.com/
Telephone:
Phone: (408)240-8700
Fax: (408)240-8754
E-mail:
Address:
Revision History
Date Description
September, 2021 Initial release.
Table of Contents
Copyright Statement ...................................................................................................... I
Declaration of Conformity............................................................................................. I
3.4.4 Set the system date, time and time zone ............................................. 29
3.4.5 Setting the Listening IP Address for the SSH Service ........................ 30
4.2.3 ARP/NDP............................................................................................ 46
4.2.4 DNS..................................................................................................... 48
5.2.1 Relations Between Network DDoS Profiles, Rules and Policies ....... 56
6.2 WAF............................................................................................................... 79
6.2.2 Relationship Between the WAF Profile, Rule and Policy .................. 79
6.3.1 Relationship Between Application DDoS Profile, Rule and Policy ... 97
WAF refers to the network security product that performs HTTP protocol and content
inspection on HTTP requests accessing Web servers and server responses based on
predefined filter rules and defense rules so as to provide security defense for Web
servers and Web applications.
DDoS Mitigation
Working Mode
The working mode refers to the way that the system process packets when providing
defense for applications. The system supports transparent and proxy defense modes.
Under the transparent working mode, the system will not change the source IP, and
source port, destination IP and destination port of packets. Under the proxy working
mode, the virtual service will provide external services instead of the real service.
When the client request passes the appliance, the system will change at least one of
the destination IP and destination port.
Deployment Mode
The deployment mode refers to how the ASF appliance is connected to the customer
network. The ASF appliance supports three deployment modes: bridge mode, routing
mode and Terminal Access Point (TAP) mode. In the bridge deployment mode, the
ASF appliance is connected to the network topology in path as a Layer 2 bridge. In
the routing deployment mode, the ASF appliance is connected to the network as a
Layer 3 device. Upstream and downstream devices route the traffic (requests and
responses) to the appliance, and the appliance forwards the traffic out based on
routing rules after processing packets. In the TAP deployment mode, the ASF
appliance is used as an out-of-path sniffing device connected to the network and
receives mirrored traffic copied from an external switch.
Bridge
Bridge is a Layer 2 forwarding device. It works on the data link layer, connects two
Local Area Networks (LANs), and forwards frames based on MAC addresses. When
the ASF appliance is deployed in bridge mode, the administrator needs to create a
bridge, and add the uplink and downlink interfaces to the bridge.
Security Service
Security service defines a defense object for which the defense against attacks of the
DNS, HTTP, or HTTPS protocol is provided. The defense scope of the security
service is determined by the IP+port pairs and IP subnet+port pairs added to it. The
system provides application DDoS mitigation and WAF (for HTTP-type and
HTTPS-type security services) for traffic only when its destination IP and port
matches an IP+port pair or IP subnet+port pair added to the security service.
Security zone
The security zone defines the defense object for which defense against network-layer
DoS and DDoS attack is provided and determines the network scope to be protected
by adding the network subnets to the security zone. The system provides the L3 and
L4 DDoS defense services for the traffic only when the destination IP in the traffic
hits the address in the security zone.
The negative WAF security model identifies and blocks abnormal traffic and permits
normal traffic. This model will match client requests and server responses against
built-in signature library and other attack defense rules in order to determine whether
sessions are valid. If they match one or more signatures, client accesses will be
recognized as illegal accesses and the system will block client accesses or record
attack logs according to the configuration made by the administrator.
The positive WAF security model identifies normal traffic and blocks other abnormal
traffic. This model identifies the characteristics of normal application traffic by
automatic traffic learning. This model can generate positive whitelists, which allows
only traffic matching these whitelists to pass. The positive WAF function supports
generating positive whitelists manually or automatically based on the automatic traffic
learning results. If a request does not match any positive whitelist, it will be regarded
as illegal and the system will block the client access or record the attack log according
to the configuration made by the administrator.
WAF Profile
The WAF profile is a set of Web application defense rules integrating both the
negative and positive WAF security models.
The WAF defense mode defines that the action will be taken against Web attacks and
is one attribute of the WAF profile. The system supports two WAF defense modes:
Signature Rule
Signature rule is a kind of Web attack inspection that recognizes attack behaviors
based on the signatures of known attacks. It is a type of defense rule under the
negative WAF security model and is part of the WAF profile. The system has built in
the Array Signature Library (ASL) released by Array Security Center (ASC), which
contains the signatures of the latest known attacks. ASC will release new ASL
versions regularly. The system that has purchased the subscription license with ASL
update can update the ASL version to obtain the defense capability of latest attacks. In
addition, the system allows the administrator to create custom signatures for attack
inspection.
DLP Rule
Data Leak Protection (DLP) rules are a type of defense rules that are used to prevent
the user’s private or sensitive information, such as identity information, mobile phone
number, email address, credit card number, from being exposed. They are under the
negative WAF security model and are part of the WAF profile. If the response
returned by the server contains private information, the system will hide sensitive
information or record logs according to the actions configured by the administrator.
The content filter function is used to detect whether the server response contains
sensitive words in order to avoid the exposure of users’sensitive information or to
meet security compliance requirements. It is a type of defense function under the
negative WAF security model and is part of the WAF profile. If the server response
contains any sensitive keyword, the system will perform the configured action, either
to deny the client access, mask the sensitive word or record logs.
Virtual Patch
The virtual patch function converts external Web vulnerability scanner’s scanning
results (XML-format report) into virtual patches of Web servers, helping shorten the
window time that Web server vulnerabilities are exploited by attackers. It is suitable
for hardening the security of Web applications before security events.
WAF Policy
The WAF policy is used to apply the WAF profile to the specific HTTP-type or
HTTPS-type security service, so as to provide attack detection and blocking for traffic
accessing this service.
HTTP Filter
The system provides the HTTP filter function to support the HTTP protocol
compliance checks for HTTP-type and HTTPS-type security services. The HTTP
filter function can filter traffic based on HTTP protocol characteristics such as request
method, header length, header count, cookie count, cookie length, URL keyword,
URL length, URL query parameter count, request file MIME type, and HTTP status
code.
The application DDoS profile provides the defense function to detect and mitigate
DoS or DDoS attacks specific to certain application protocol, and it protects security
services by providing application-layer DoS and DDoS defense after being applied to
them. According to the application protocol type, the application DDoS profiles can
be classified into HTTP-type DDoS profiles, HTTPS-type DDoS profiles, and
DNS-type DDoS profiles, which provide DDoS defense for HTTP, HTTPS and DNS
applications respectively.
The network DDoS profile provides defense functions to detect and mitigate Layer 3
and Layer 4 DoS and DDoS attacks, and it protects security zones by providing Layer
3 and Layer 4 DoS and DDoS defense after being applied to them.
The system has built-in global DDoS profile, providing defense against common DoS
attacks and malformed packet attacks. After security zones are added, the global
DDoS profile automatically provides corresponding network-layer defense for them.
The DDoS defense mode is a DDoS profile attribute, which defines what action will
be taken when the DDoS profile detects DDoS attacks. The system supports two
DDoS defense modes:
A DDoS defense rule defines one or a set of DDoS attack inspection actions and is
part of the DDoS profile.
DDoS Policy
The DDoS policy is used to apply the DDoS profile to the DDoS defense object. The
network DDoS policy is used to apply the network DDoS profile to the security zone;
the application DDoS policy is used to apply the application DDoS profile to the
security service.
The system can automatically generate IP blacklists and whitelists (also called
automatic IP blacklists and whitelists) based on traffic learning to control the client
access.
The system allows the administrator to manually configure IP blacklists and whitelists
(also called manual IP blacklists and whitelists) to control the client access.
Advanced ACL
The advanced ACL function provides advanced access control on traffic of the
network protocols and application protocols so as to prevent malicious attacks of large
traffic and improve the availability of intranet resources.
High Availability
Under the transparent working mode, the system will not change the source IP, and
source port, destination IP and destination port of packets. The packets pass the
appliance transparently.
Note: The transparent working mode cannot provide defense for HTTPS-type
applications.
Under the proxy working mode, the virtual service will provide services externally
instead of the real service. When the client request passes the appliance, the system
will change at least one of the destination IP and destination port. The proxy working
mode supports the Keep Source IP and Port Unchanged option. If this option is
enabled, the appliance will still use the client source IP and port when establishing
connections with real service. If this option is disabled, the appliance will change the
source IP and port to the interface IP and the port assigned by the system when
establishing connections with the real service.
Note: If any system proxy IP pool is configured, the appliance will choose IP addresses
from the pool to establish connections instead of real service. For details, refer to section
4.2.6 Proxy IP Pooll.
According to the binding of the virtual IP (IP address of the virtual service) to the
interface, the proxy working mode can be further divided into arp proxy working
mode and noarp proxy working mode.
Under the arp proxy working mode, the system binds the VIP to the interface and
replies to ARP requests for the VIP.
Under the noarp proxy working mode, the system does not bind the VIP to any
interface. The administrator needs to change the network topology or configuration to
point the traffic accessing the VIP to the appliance. For example, the administrator
can point the traffic accessing the VIP to the interface IP by changing the routing
configuration.
In the bridge deployment mode, the appliance is connected to the network topology in
path as a Layer 2 bridge.
The bridge deployment mode supports the transparent working mode (recommended)
and proxy working mode. For deployment suggestionss and configuration example
for the bridge proxy scenario, please refer to the ASF Bridge Proxy Configuration
Guide.
The system receives traffic from an interface of the bridge and sends out at another
interface of the bridge. If the traffic hits any security zone or security service, the
system will forward traffic to corresponding modules for inspection. The system
directly sends out the traffic at another interface of the bridge after inspection.
This scenario supports the hardware bypass function. When the system becomes down,
it can directly bypass the traffic through the bypass unit.
1. Create a bridge and add two system interfaces to the bridge. It is recommended to
use the pair of interfaces with the bypass unit.
2. Set the two system interface as uplink and downlink interfaces respectively.
3. Connect the uplink interface to the upstream device, and the downlink interface to
the downstream device.
4. Verify that the traffic can transparently pass the appliance normally.
5. Add defense configurations such as security services, profiles, and policies after
verification.
6. Verify that the traffic can pass the appliance normally again.
1. Create a bridge, and add system interfaces Port1 and Port2 to the bridge.
2. Set system interfaces port1 and port2 as uplink and downlink interfaces
respectively.
3. Connect port1 to the upstream device, and port2 to the downstream device, and
verify that the traffic can transparently pass the appliance normally.
7. Add the IP subnet to which the IP address of the security service belongs to the
security zone.
To configure network defense for the defense objects, refer to Chapter 5 Network
Defense. To configure application defense for the defense objects, refer to Chapter 6
Application Defense.
In the routing deployment mode, the appliance is connected to the network as a Layer
3 device. Upstream and downstream devices route the traffic (requests and responses)
to the appliance, and the appliance forwards the traffic out based on routing rules after
processing packets.
The routing deployment mode supports the transparent working mode and proxy
working mode.
In the preceding example, the administrator has set the next-hop of the traffic destined
for the backend server to the IP address of the uplink interface on the upstream
gateway, and set the gateway to the IP address of the downlink interface on the
backend server.
For traffic hitting any security zone or security service, the appliance will forward
them based on routing rules after inspection. For traffic not hitting any security zone
or security service, the appliance directly forwards them based on routing rules.
1. Set the two system interface as uplink and downlink interfaces respectively and
configure IP addresses for them.
2. Change the network configuration so that request traffic accessing security zones
or security services and the response traffic from the backend server will be
routed to the appliance.
3. Connect the uplink interface to the upstream device, and the downlink interface to
the downstream device.
4. Verify that the appliance can receive and forward traffic from upstream and
downstream devices normally.
5. After verifying that the traffic can pass the appliance normally, add defense
configurations such as security zones, security services, profiles, and policies.
6. Verify that the appliance can receive and forward traffic accessing security zones
or security services normally again.
2.2.2.1.2 Configuration Example
1. Set system interfaces port1 and port2 as uplink and downlink interfaces
respectively.
3. Connect port1 to the upstream device, and port2 to the downstream device, and
verify that the appliance receives and forwards traffic normally.
7. Add the IP subnet to which the IP address of the security service belongs to the
security zone.
To configure network defense for the defense objects, refer to Chapter 5 Network
Defense. To configure application defense for the defense objects, refer to Chapter 6
Application Defense.
Note: If any system proxy IP pool is configured, the appliance will choose IP addresses
from the pool to establish connections instead of real service. For details, refer to
section 4.2.6 Proxy IP Pool.
According to whether the IP address of the virtual service is bound to the appliance’s
interface, the routing proxy scenario can be further divided into:
Routing arp proxy: The system binds the IP address of the virtual service (VIP) to
the appliance and replies to ARP requests. The administrator must point the
service traffic that need to be inspected to the VIP on the appliance, as shown
in Figure 2–4.
Routing noarp proxy: The system does not bind the IP address of the virtual
service (VIP) to the appliance or reply to ARP requests. The administrator must
point the service traffic that need to be inspected to the interface IP on the
appliance, as shown in Figure 2–5.
Note:
The routing proxy scenario supports only HTTP-type and HTTPS-type security
services and does not support DNS-type security services.
If the Keep Source IP and Port Unchanged option is enabled, the administrator also
needs to set gateway of the server to the IP address of the appliance’s downlink
interface.
Usually, the administrator can point the service traffic that needs to be inspected to
the VIP or interface IP on the appliance in two ways: (1) Configure NAT rules on the
upstream gateway or router to change the destination IP and port of the service traffic
to the IP address and port of the appliance; (2) Change the resolved IP address for the
domain name to the appliance’s IP address on the DNS server.
1. Set the two system interface as uplink and downlink interfaces respectively and
configure IP addresses for them.
2. Add defense configurations such as security zones, security services, profiles, and
policies.
3. Add DNAT rules on the gateway or modify the DNS resource records on the
DNS server so that the traffic that need to be inspected is pointed to the VIP (in
the routing arp proxy scenario) or the uplink interface IP (in the routing noarp
proxy scenario)) of the appliance.
4. Connect the uplink interface to the upstream device, and the downlink interface to
the downstream device.
5. Verify that the appliance can receive and forward traffic accessing security zones
or security services normally.
1. Set system interfaces port1 and port2 as uplink and downlink interfaces
respectively.
3. Connect port1 to the upstream device, and port2 to the downstream device, and
verify that the appliance receives and forwards traffic normally.
Note: If you want to keep the client source IP and port unchanged, the administrator can
enable the Keep Source IP and Port Unchanged option, that is “security service name s1
http virtual keepsource”. In addition, the administrator also needs to change the default
Note: In the routing arp proxy scenario, the arp keyword should be set for the IP address
of the virtual service, while in the routing noarp proxy scenario, the noarp keyword should
be set.
8. Add the IP address of the virtual service to the security zone as an IP subnet.
To configure network defense for the defense objects, refer to Chapter 5 Network
Defense. To configure application defense for the defense objects, refer to Chapter 6
Application Defense.
In the Terminal Access Point (TAP) deployment mode, the appliance is used as an
out-of-path sniffing device connected to the network and receives mirrored traffic
copied from an external switch. This deployment mode is simple because it does not
need to change the network topology, nor affect the flow of the current service traffic.
The administrator just needs to configure port mirroring policies on the switch to copy
the traffic that needs to be inspected to the sniffing (TAP) interface of the appliance,
as shown in the following figure.
This deployment mode supports only the transparent working mode. The TAP mode
supports detecting the traffic. The system can record or block detected attacks based
on the settings of the administrator. To block attacks, the administrator needs to use a
system interface as the blocking interface and configure an IP address to ensure that
this interface can communicate with both the client- and server-side networks. In TAP
mode, the system supports resetting the TCP connection by sending TCP RST packets
to the client and server through the blocking interface to block the detected attacks. In
TAP mode, some functions supports only detection and other functions support
detection and blocking. For more details, refer to 2.2.4.
Note: In the TAP mode, since the receiving interface does not have an IP address, it
cannot be found when the system reversely checks the routing table of packets. As a
result, the system does not support IP Spoofing in the TAP mode.
1. Enable the TAP mode for the device, specify the sniffing (TAP) interface and
enable the promiscuous mode for the interface.
3. Configure port mirroring policies on the switch to copy the traffic that needs to be
inspected to the switch port connecting the appliance.
4. Verify that the appliance can receive the mirrored traffic normally.
AN(config)#tap on
2. Set port2 as the TAP interface and enable the promiscuous mode for it.
6. Add the IP address of the security service to the security zone as an IP subnet.
To configure network defense for the defense objects, refer to Chapter 5 Network
Defense. To configure application defense for the defense objects, refer to Chapter 6
Application Defense.
Modes
Note:
The transparent working mode does not support HTTPS-type security services.
The proxy working mode does not support DNS-type security services.
Keep in mind the following notes for the TAP mode:
- Attack blocking supports only RST.
- Global DDoS defense and network DDoS defense supports only detecting but
not blocking attacks.
- HTTP Slowloris defense rule, HTTP Slow Post defense rule and HTTP packet
anomaly detection supports only detecting but not blocking attacks.
- DNS DDoS defense (Cache Poisoning, Cache Snooping, NXDomain Flood,
Query Flood, Respone Flood, Packet Length Check, TTL check and packet
anomaly detection) supports only detecting but not blocking attacks.
If the administrator wants to connect to the ASF appliance using the console, first
connect the management host to the Console interface of the ASF appliance using the
Console cable and install the terminal simulation program software supporting the
VT100 terminal on the management host (for example, PuTTY), and then open the
terminal simulation program software, create a new serial console connection and set
the following parameters:
No Flow Control
After entering the username and password (the default username and password is
“array” and “admin”), the administrator can establish a console connection with the
ASF appliance and enter the command line mode to configure and manage the
appliance.
The ASF appliance has built-in SSH service. After the SSH service is enabled, the
ASF appliance can work as an SSH server to support the user remote access. If the
administrator needs to establish an SSH connection with the ASF appliance, first
connect the ASF appliance and the management host to the network using the
network cable, install the SSH client on the management host and establish the SSH
connection with the appliance using the SSH client. The administrator needs to input
the IP address of the SSH server when establishing SSH connection with the ASF
appliance. The IP address of the SSH server is the IP address that the administrator
configures for the system interface. The default port used to access the appliance
through SSH is 22, and the port value can be modified by the “ssh port” command.
To enhance the system security, the administrator can configure SSH source IP
address and/or source MAC address restriction rules to control the sources that are
allowed to access the SSH service.
Note: If you require the SSH software for Windows, MacOS or UNIX, it is available
on-line at http://www.openssh.com
Assume that the SSH service has been enabled, and the IP address “10.3.55.251” is
configured for a system interface. An example of establishing an SSH connection
with the ASF appliance using the SSH client is as follows:
Run the SSH client program on the management host and execute the following
command:
Note: Make sure the configurations of IP addresses and general network are correct so that
you can connect to the appliance by using SSH.
WebUI provides graphical user interface for configuring and managing the ASF
appliance in a visual and friendly way, which greatly simplifies the configuration
operation but achieves the same configuration effects as the CLI.
Note: WebUI is disabled by default. To configure and manage the ASF appliance using the
WebUI, refer to section 3.4.6 Start the WebUI
The ASF appliance provides the WebUI interface, which can be accessed by entering
the IP address and port number of the WebUI in the address bar of the browser. For
example, 8888 is the default port number of the WebUI.
https://192.168.1.200:8888
Press Enter and the welcome page appears in the browser, prompting for the username
and password. The default username is array and the default password is admin. After
the correct username and password are entered, you can access WebUI.
WebUI supports Chrome, Firefox, Edge and Safari. In addition, the browser
resolution should be set to 1024*768 or higher.
The ASF appliance supports the WebUI SSL client authentication function to meet
the two-way SSL authentication requirements in specific scenarios. At the same time,
ASF also supports mandatory mode for the WebUI SSL client authentication function.
When the mandatory mode is enabled, the WebUI client must pass the client
authentication before establishing an SSL connection with the ASF WebUI.
Otherwise, the WebUI access will fail. If SSL client authentication is enabled but the
mandatory mode is not enabled, the administrator can still access the WebUI, but the
SSL client will not provide the client certificate.
To enable the WebUI SSL client authentication function, perform the following steps:
4. Enable the mandatory mode of the SSL client authentication function for the
WebUI.
Use the following command to modify the SSL protocol versions supported by the
WebUI:
Use the following command to modify the cipher suites supported by the WebUI:
The ASF appliance has three LEDs in the front panel: one yellow, one green and one
blue. The following table describes the usage of each LED in the front panel:
Note: When the Yellow LED light is on, contact the Array Customer support. You can also
check for the issues by viewing the logs.
There are two LEDs in the rear panel of ASF appliance for each Ethernet interface:
Link LED: indicates the speed mode of the link, which can be 1Gbps, 10Mbps
and 100Mbps.
The LED’s meaning of onboard network card and extended network card of the ASF
appliance is introduced respectively below.
The ASF appliance’s software has been designed with specific enhancements to make
interaction with the ASF appliance more user friendly, such as Shorthand. Shorthand
is the intuitive method by which the ASF appliance completes CLI commands based
on the first letters entered. The following table lists the user shortcuts supported by
ASF CLI:
The ASF CLI commands will generally adhere to the following style conventions:
Style Meaning
Bold typeface The body of a CLI command is in Boldface.
Italic CLI parameters are in Italic.
<> Parameters enclosed in angle brackets “< >” are mandatory.
Parameters enclosed in square brackets “[ ]” are optional.
[]
Indicates the sub commands like “no”, “show” and “clear”.
Alternative parameters are grouped in braces and separated by
{x|y|…}
vertical bars. One should be selected.
Optional alternative parameters are grouped in square brackets
[x|y|…]
and separated by vertical bars. One or none is selected.
The ASF appliance offers three levels or modes for global configuration and access to
the ArrayOS. Each mode is designated by a unique cursor prompt. The CLI prompt
consists of the hostname of the ASF appliance followed by either “>”, “#” or
“(config)#”.
User mode
The lowest access level is User mode. Users in this mode are only authorized to
execute some very basic operations and non-critical functions. The User mode prompt
“AN>” appears in the CLI.
Enable mode
Users in this mode have access to a majority of view-only commands such as the
“show version” command. Commands from both the User and Enable modes can be
executed. To enter the Enable mode, you need to execute the “enable” command in
User mode and enter the correct Enable mode password. The default enable password
is null.
Once you access the Enable mode successfully, the CLI prompt changes from “AN>”
to “AN#”.
Config mode
The highest level is Config mode. Users in this mode can make changes to any part of
the ASF appliance configuration. To access the Config mode, you should execute the
“config terminal” command in Enable mode. Once you access the Config mode
successfully, the CLI prompt changes from “AN#” to “AN(config)#”.
Only one administrator can be in Config mode at one time. To forcibly access the
Config mode when another administrator is already in Config mode, you can execute
the “config terminal force” command.
Note:
In the ArrayOS, administrator accounts can be created and assigned the Enable or
Config access privilege. Only the administrator accounts with the Config access
privilege can be used to access the Config mode. For details, refer to section 15.1
User Management.
In any mode, you can enter “?” to view the currently available CLI commands.
All the configuration examples via CLI in this document are based on the assumption
that you have logged into the ASF CLI and entered the required access mode
successfully.
Operation Command
Configure an IP
ip address {system_ifname|mnet_ifname|vlan_ifname|bond_ifname}
Address for the
<ip_address> <netmask>
management port.
Configure
interface management <interface_id> <gateway_ip>
management port
Set the default
ip route default <gateway_ip>
gateway IP address.
Check the ping {ip|hostname}
configuration of the show ip address
IP address. show ip route
Set the system date,
system date <year> <month> <date>
time and time zone
system time <hour> <minute> <second>
for the ASF
system timezone
appliance.
webui on
Start the WebUI. webui port <port>
webui ip <ip_address>
Save the
write memory
configuration.
To isolate the management traffic and business traffic, you need to configure a
management interface for the appliance, for example:
Set the default gateway IP address for the ASF appliance. For example:
To verify whether the connection between ASF appliance and the network is correct,
you can use the “ping” command to verify the gateway can correctly connect to the
backend server.
AN(config)#ping 10.10.0.1
PING 10.10.0.1(10.10.0.1): 56 data bytes
64 bytes from 10.10.0.1: icmp_seq=0 ttl=128 time=0.671 ms
64 bytes from 10.10.0.1: icmp_seq=1 ttl=128 time=0.580 ms
64 bytes from 10.10.0.1: icmp_seq=2 ttl=128 time=0.529 ms
64 bytes from 10.10.0.1: icmp_seq=3 ttl=128 time=0.486 ms
64 bytes from 10.10.0.1: icmp_seq=4 ttl=128 time=0.638 ms
Verify the connectivity to the backend server using the “ping” command:
AN(config)#ping 192.168.10.1
PING 192.168.10.1(192.168.10.156 data bytes
64 bytes from 192.168.10.1: icmp_seq=0 ttl=128 time=0.661 ms
64 bytes from 192.168.10.1: icmp_seq=1 ttl=128 time=0.581 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=128 time=0.552 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=128 time=0.484 ms
64 bytes from 192.168.10.1: icmp_seq=4 ttl=128 time=0.632 ms
To confirm or view the configuration of the IP address and route, execute the
following commands:
AN(config)#show ip address
ip address "port1" 10.10.0.2 255.255.255.0
ip address "port2" 192.168.10.1 255.255.255.0
AN(config)#show ip route
Destination Netmask Gateway
default 10.10.0.1
AN(config)#system date 18 10 20
AN(config)#system time 11 33 51
By default, the SSH service is enabled. For system security, please set the listening IP
address for the SSH service. After the listening IP address is set for the SSH service,
you can access the SSH service only via the specified IP address.
Execute the following command to set the listening IP address for the SSH service:
AN(config)#ssh ip 10.10.0.2
To manage and configure the ASF appliance using the WebUI, the administrator
needs to enable the WebUI.
AN(config)#webui on
Note:
To customize the IP address used by WebUI, use the “webui ip” command.
To customize the port number used by WebUI, use the “webui port” command.
AN(config)#write memory
By default, the ASF WebUI uses a test SSL certificate issued by Array Networks. So
upon the initial log onto the WebUI, a warning message will be prompted in the
browser as shown below, and users need to bypass the warning to log onto the ASF
WebUI during the first login.
However, the self-signed certificate is inadequate for high-security scenarios, and will
also cause the browser to prompt the above-mentioned warnings. To avoid the
security risk and enhance WebUI access experience, administrators need to use SSL
certificates issued by a trusted Certificate Authority (CA), namely CA certificates, to
replace the self-signed certificate. Currently, the ASF WebUI allows administrators to
import a PEM-format certificate and an intermediate certificate to replace the
self-signed SSL certificate.
For detailed information on how to import SSL certificates, please refer to section
15.2.2 WebUI SSL Settings.
The system allows the administrator to set the system date, time and time zone for the
ASF appliance.
AN(config)#system date 18 10 20
AN(config)#system time 11 33 51
4.1.1.2 NTP
The NTP function enables the ASF appliance to synchronize its system time with the
configured NTP server.
To enable the NTP function, you need to configure at least one NTP server first.
When the NTP function is enabled, the ASF appliance will act as an NTP client,
automatically synchronizing its system time with the configured NTP server at the
interval of about 15 minutes. Both IPv4 and IPv6 NTP servers are supported.
If multiple NTP servers are configured, the ASF appliance will calculate the
round-trip delays according to the time information in the response packet from each
NTP server and synchronize its system time with the NTP server with the minimum
delay.
AN(config)#ntp on
You can also view the current NTP configurations and the time dispersion and
association with the configured NTP server by executing the “show ntp” command.
AN#show ntp
ntp on
ntp server 10.3.0.1
By default, the host name of the ASF appliance is AN. The system allows you to
change the host name of the ASF appliance.
Change the host name of the ASF appliance by executing the “hostname” command.
AN(config)#hostname my_asf
my_asf(config)#
The system supports sending alert emails via built-in local email server or a
configured external email server.
The administrator can modify the hostname and the email account of the sender used
to send the alert mail via the local email server.
1. Modify the email account of the sender used to send the alert mail via the local
email server by executing the “system mail from” command.
2. Modify the host name of the alert mail sent via the local mail server by executing
the “system mail hostname” command.
1. Configure the external SMTP email server using the “system mail external
server” command.
2. Configure the email account of the sender used to send the alert mail via the
external SMTP email server by executing the “system mail external user”
command.
3. Enable the external email server function using the “system mail external on”
command.
1. Configure an email relay server for email servers of the specified domain using
the “system mail relay server” command.
2. Enable the email relay function using the “system mail relay on” command.
Note: Basic network configurations such as IP address and default route, and advanced
network configurations are usually be associated or referenced by other configurations.
After these configured are completed, do not modify or delete them randomly; otherwise,
unpredictable issues may occur. If administrators need to modify network configuration,
they should execute commands “write memory/file”, “clear config all”, and “config
memory/file” in sequence after modification of network configuration.
4.2.1 Interfaces
AN(config)#show interface
port1(port1): flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:fe0e:610 prefixlen 64 scopeid 0x1
inet 192.168.0.131 netmask 0xffffff00 broadcast 192.168.0.255
inet 192.168.0.132 netmask 0xffffffff broadcast 192.168.0.132
ether 00:0c:29:0e:06:10
media: autoselect (10Gbase-T <full-duplex>)
status: active
Interface name: The default system interface name is the same as the system
interface ID, for example, port1, port2 and port3. The administrator can
customize the name of the system interface.
MAC address: is the physical MAC address of the system interface. The
administrator can modify the MAC address of the system interface.
Speed: indicates the speed and working mode of the system interface. If the
interface is connected to a device (such as a router or switch with a specific speed
and duplex mode), the administrator needs to configure the interface speed and
working mode to match those requirements.
1. Modify the name of the system interface by executing the “interface name”
command:
2. Modify the MAC address of the system interface by executing the “interface
mac” command:
3. Modify the MTU of the system interface by executing the “interface mtu”
command:
4. Modify the speed and working mode of the system interface by executing the
“interface speed” command:
The promiscuous mode enables a system interface to process the packets whose
destination MAC address is not a local MAC address. The promiscuous mode is
disabled for the system interface by default.
Enable the promiscuous mode for a system interface by executing the “interface
promisc” command:
According to the location that the system interface is deployed in the data flow,
system interfaces can be classified into:
By default, all system interfaces are set as uplink interfaces. Administrators need to
change the deployment direction of system interfaces according to the actual
deployment situation.
AN(config)#show uplink
up-link interfaces:
port1 port2 port3 bond1 bond2 bond3
bond4 bond5 bond6 bond7 bond8 VLAN1
AN(config)#show downlink
down-link interfaces:
port4
This section will introduce the link aggregation function. Link aggregation, also
called trunking, enhances the network performance and stability greatly.
Link aggregation combines (bonding) two or more data channels into one single
high-bandwidth logical link. All bond interfaces are regarded as a “high-bandwidth”
interface. If every bonding link is a different physical link, the bond interface can
multiply the network bandwidth, increase interfaces’ reliability, and provide link
redundancy and tolerance capability. However, link aggregation cannot be used
together with the interface redundancy function.
The ASF appliance supports a maximum of eight bond interfaces, and a maximum of
12 system interface can be bond to one bond interface. The bond interface will check
whether every system interface works normally. If a system interface becomes down,
the traffic processed by this interface will be directed to other working system
interfaces in the bond interface.
When adding a system interface into a bond interface, the administrator can further set
the interface as the primary or backup interface in the bond interface. Multiple
primary or backup interfaces can be set in the bond interface. When all the primary
interfaces in the bond interface fail, the backup interfaces will take the place of
primary interfaces to work.
Note: When binding a system interface with a bond interface, the system interface should
be configured with no IP address. If there is IP configuration on the system interface, the
administrator needs to remove the IP configuration first. Otherwise, the system will refuse
to add the system interface into the bond interface.
In addition, the ASF appliance also supports configuring MNET or VLAN on bond
interface. The bond interface configuration must be performed before configuring
MNET or VLAN on it.
The link aggregation health check is used to determine the health status (“up” or
“down”) of the bond interface. It allows the ASF appliance to check every
sub-interface of the bond interface and mark the sub-interface as “up” or “down”.
With this function, administrators can use the sub-interfaces which are marked as
“up” to transmit traffic.
Note: When the health status of all the bond sub-interfaces are marked “down” with the
transmission of ARP and IPv6 NS packets still behaving normally, the bond interface will
still be in a usable state, and service traffic will continue to be sent to every sub-interface.
Meanwhile, verify the destination IP of the health check is configured properly.
Configuration Guidelines
The following table lists all commands required for configuring the link aggregation
function. For details of these commands, refer to the Array ASF CLI Handbook.
Operation Command
Bind a system
interface with the bond interface <bond_name> <interface_name> [1|0]
bond interface
Assign a name of
bond name <bond_id> <bond_name>
the bond interface
Configure an IP
ip address {system_ifname|mnet_ifname|vlan_ifname|bond_ifname}
address for the bond
<ip_address> {netmask|prefix}
interface
Configure the
ip route default <gateway_ip>
default gateway
Configure the health bond health <bond_name> <destination_ip> [interval] [timeout]
check [up_check_times] [down_check_times] [gateway_ip]
Configuration Example
In this example, the “port1” interface and the “port4” interface are bond with bond
interface bond1 and they are set as the primary and the backup interfaces in the bond
interface respectively.
You can set the bond name for the configured bond interface by using the “bond
name” command.
To verify that the ASF appliance has successfully completed the basic network
configuration, test the connectivity to the gateway to the backend servers by using the
“ping” command. If the preceding configurations are correct, the following
information will be returned by using the “ping” command.
AN(config)#ping 10.10.0.1
PING 10.10.0.1(10.10.0.1): 56 data bytes
64 bytes from 10.10.0.1: icmp_seq=0 ttl=128 time=0.671 ms
64 bytes from 10.10.0.1: icmp_seq=1 ttl=128 time=0.580 ms
64 bytes from 10.10.0.1: icmp_seq=2 ttl=128 time=0.529 ms
64 bytes from 10.10.0.1: icmp_seq=3 ttl=128 time=0.486 ms
64 bytes from 10.10.0.1: icmp_seq=4 ttl=128 time=0.638 ms
4.2.1.3 VLAN
VLAN (Virtual Local Area Network) is used to logically segment a network into
smaller networks by application, or function, without regard to the physical location
of the users. Each VLAN is considered a separate logical network. There are two
types of VLAN specifications for Ethernet network.
Port-based VLAN
Define VLAN based on port number of the switch. Port-based VLAN is easy to
configure but often limited to one single switch.
Tag-based VLAN
frame and contains two bytes of Tag Protocol Identifier (TPID) and two bytes of Tag
Control Information (TCI).
The ASF appliance supports Tag-based VLAN on system interfaces and bond
interfaces. The ASF appliance’s VLAN can work in both the IPv4 and IPv6 network
environments. Administrator can view all the IPv4 and IPv6-based VLAN
configurations by executing the “show interface” command. For example:
AN(config)#show interface
……
V1(vlan1): flags=8843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
inet6 fe80::230:48ff:fe93:a73e prefixlen 64 scopeid 0xb
ether 00:30:48:93:a7:41
media: autoselect
status: no carrier
vlan : 10 parent interface: port2
webwall status: OFF
packet drop (not permit): 0
tcp 0 udp 0 icmp 0 ah 0 esp 0
packet drop (deny): 0
tcp 0 udp 0 icmp 0 ah 0 esp 0
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
In this example, you will create two VLANs, “inside-vlan1” and “inside-vlan2”. The
“inside-vlan1” has a tag of 500 and “inside-vlan2” has a tag of 3001. These tags are
inserted into the Ethernet frame.
4.2.1.4 MNET
MNET (Multi-Netting) is used to assign more than one IP address on a physical
interface. When assigning IP addresses, the network administrator can choose the
following way: assign an IP address to the server and assign new IP addresses to new
servers.
Also, another way of assigning addresses can be used. The administrator can assign
four IP addresses to the server. Each IP address will match the IP address to be used
in the future on the new servers. The network administrator now knows what
addresses will be used and can create DNS entries for the new devices with the
correct addresses. This process of providing more than one IP address on an interface
is often called MNET.
The ASF appliance’s MNET can work in both the IPv4 and IPv6 network
environments.
Use the “no interface management” command to delete the specified management
interface:
AN(config)#show management
Use the “clear interface management” command to clear the management interface
configuration:
4.2.2 Bridge
In bridge deployment mode, the ASF appliance is connected to the network topology
in path as a Layer 2 bridge. Multiple bridge instances can be created on the ASF
appliance, different physical ports can be added to different bridges. In VLAN
environment, the ASF appliance support the access and trunk modes of VLAN.
Note: On the ASF appliance, bridge supports only layer 2 forwarding and does not bear
services of layer 3 or higher.
2. Add two system interfaces to the bridge instance, such as port2 and port3.
statistics:
receive packets: 132
receive bcast/mcast: 0
receive unicast: 132
upload packets: 132
reject packets: 0
drop packets: 0
forward flood: 0
forward unicast: 0
forward bpdu packets: 0
4.2.3 ARP/NDP
4.2.3.1 ARP
ARP (Address Resolution Protocol) is a TCP/IP protocol used to obtain the physical
address based on the IP address. When sending information, the host broadcasts the
ARP request including the destination IP to all hosts on the network and receives their
responses to determine the physical address of the target host; after receiving the ARP
response, it will save the mapping between the IP address and the physical address
into the local ARP cache for a period of time. In next request, the host can directly
query the ARP cache, which saves resources.
The administrator can add static ARP entries to the system. A maximum of 128 static
ARP entries can be added to the system.
2. View static and dynamic ARP entries in the system by using the “show ip arp”
command.
AN(config)#show ip arp
(192.0.0.1) at 76:f0:74:e9:dc:22 permanent [ethernet]
(192.168.0.105) at 70:8b:cd:7b:e3:a5 [ethernet]
(192.168.0.1) at 3c:46:d8:8d:08:d8 [ethernet]
(192.168.0.131) at 00:0c:29:0e:06:10 permanent [ethernet]
(192.168.0.132) at 00:0c:29:0e:06:10 permanent [ethernet]
(192.168.0.103) at 78:45:61:14:8a:e0 [ethernet]
(192.168.0.102) at b0:89:00:fd:58:1d [ethernet]
(192.168.0.100) at (incomplete) [ethernet]
4.2.3.2 NDP
NDP (Neighbor Discovery Protocol), a key protocol of the IPv6 stack, can be used for
obtaining the link address information of other neighbor nodes connected with the
local nodes.
Similar to the ARP of the IPv4 stack, NDP can perform address transformation
between the network layer and the link layer. The difference is that NDP uses
ICMPv6 (Internet Control Message Protocol version 6) and multicast to manage the
information exchanged among the neighbored nodes (within the same link) and keeps
the address mapping between the network layer and the link layer in the same subnet.
The administrator can add static NDP entries to the system. A maximum of 128 static
NDP entries can be added to the system.
2. View static and dynamic NDP entries in the system by using the “show ipv6
ndp” command.
4.2.4 DNS
Add a DNS resource record by using the “ip host” command for DNS resolution.
AN(config)#rip on
AN(config)#rip version 2
AN(config)#rip network 172.16.31.0 255.255.255.0
AN(config)#rip network 172.16.32.0 255.255.255.0
AN(config)#ospf on
AN(config)#ospf network 172.16.32.0 255.255.255.0 0
AN(config)#ospf network 172.16.31.0 255.255.255.0 0
After the configuration is completed, view the dynamic route configuration by using
the “show ip route” command.
AN(config)#show ip route
Destination Netmask Gateway
RIP routes:
Destination Netmask Gateway
172.16.39.0 255.255.255.0 172.16.31.67
OSPF routes:
Destination Netmask Gateway
172.16.41.0 255.255.255.0 172.16.32.2
Under the proxy working mode, the appliance uses the interface IP to establish
connections with real services by default. The administrator can configure an IP pool
as the system proxy IP pool, whose IP addresses will be used to establish connections
with real services instead of the interface IP. In this way, the appliance can select IP
addresses from a large number of IP addresses in the proxy IP pool to establish
connections with real services. This enhances the appliance’s concurrent connections
capability.
IP addresses in one IP pool must belong to the same subnet of an interface IP.
Configuration Example
Note: The administrator can add single IP addresses to the IP pool, for example “ip pool
pool1 2.2.2.181”.
4.2.7 GeoIP
The ASF appliance has pre-installed default GeoIP databases. The administrator can
import a new GeoIP database by using the “ipregion geoip import” command.
2. View the generated IP region tables by using the “show ipregion name”
command.
4. Apply the blacklist file to the system blacklist by using the “acl blacklist ipfile
apply” command.
Geolocation map displays the attack source areas by coutry on the WebUI interface.
The WebUI has a built-in default geolocation map. Besides, WebUI supports
importing customized the geolocation map. The customized the geolocation map
needs to conform to the GeoJSON specification (RFC 7946).
Click the Upload New Map ( ) button to upload a customized geolocation map, as
shown in Figure 4–4.
If you hover your mouse over a specific country, the geolocation of the specific
country will be highlighted, as shown in Figure 4–5.
Click the Reset ( ) button to reset the map to the default geolocation map.
TAP mode, as one deployment mode of the ASF appliance, is used to meter the
mirrored traffic (in both the unlink and downlink directions) and detect threats or
attacks. It does not block or provide defense against attacks. View whether the ASF
appliance is in TAP mode by executing the “show tap” command.
Source authentication
Traffic learning
1. Enable the TAP mode by executing the “tap on” command and reboot the
system.
AN(config)#tap on
AN(config)#system reboot
2. To use the TAP mode, you also need to enable the promiscuous mode for the
sniffing port used to receive mirrored traffic from upstream devices by executing
the “interface promisc” command.
3. To disable the TAP mode, execute the “tap off” command and reboot the system.
AN(config)#tap off
AN(config)#system reboot
4. View the current status of the TAP mode by executing the “show tap” command.
AN(config)#show tap
TAP mode on
Note: Enabling and disabling the TAP mode takes effect only after system reboot.
2. Execute the “security zone address” command to add a subnet to the security
zone.
3. Execute the “show security zone summary” command to view the configuration
summary of the security zone.
and Policies
The following figure displays the relations between network DDoS profiles, rules and
policies.
Figure 5–1 Relations Between Network DDoS Profiles, Rules and Policies
The network DDoS profile is a set of rules which can provide a series of network
DDoS defense for the security zone. The maximum number of network DDoS profiles
supported by the system varies with the appliance memory. For more details, refer to
Appendix II System Specifications in the ASF CLI Handbook.
Network DDoS defense rules are the DDoS attack mitigation rules provided for the
security zones using specific defense methods. According to the protocol type, they
can be divided into TCP DDoS defense rules, UDP DDoS defense rules and ICMP
DDoS defense rules.
The network DDoS policy is used to apply the network DDoS profile to the security
zone.
1. Execute the “ddos profile zone name” command to create a manual network
DDoS profile.
2. Execute the “ddos policy zone” command to associate the manual network DDoS
profile with the specified security zone.
3. Execute the “show ddos profile zone summary” command to view the
association between the manual network DDoS profile and the security zone and
the configuration summary.
Network DDoS profile supports the packet anomaly logging function. After this
function is configured, the system will record the packet anomaly logs when abnormal
packets are detected for the security zone.
Configure the packet anomaly logging function for the network DDoS profile by
executing the “ddos profile zone anomalylog” command.
Network DDoS profile supports the TopN traffic statistics function. Currently, the
system can perform TopN statistics for only the TCP, UDP and ICMP traffic. The IP
address of the TopN attack source can be IPv4 or IPv6. By default, this function is
disabled.
Enable the TopN traffic statistics function for the network DDoS profile by executing
the “ddos profile zone topn on” command.
The administrator can add TCP DDoS attack defense capabilities to the network
DDoS profile by setting TCP DDoS defense rules.
The attacker sends a large number of SYN packets to the destination, which leads to
lots of TCP semi-connections in the target server and therefore the server resources
are exhausted.
Defense Principle:
The system performs source authentication and adds the source IPs that have passed
the authentication to the whitelist.
Execute the “ddos profile zone rule tcp synflood” command to set the SYN Flood
defense rule in the network DDoS profile.
The attacker sends a large number of SYN-ACK packets to the destination, which
leads to the server resource exhaustion because the target server needs to reply to
multiple packets.
Defense Principle:
Execute the “ddos profile zone rule tcp synackflood” command to set the SYN
-ACK Flood defense rule in the network DDoS profile.
The attacker sends a large number of ACK packets to the destination, which leads to
the server resource exhaustion because the target server needs to reply to lots of this
type of packets.
Defense Principle:
Execute the “ddos profile zone rule tcp ackflood” command to set the ACK Flood
defense rule in the network DDoS profile.
The attacker sends a large number of FIN/RST packets to the destination, which leads
to the server resource exhaustion because the target server needs to reply to lots of
this type of packets.
Defense Principle:
Execute the “ddos profile zone rule tcp finrstflood” command to set the FIN/RST
Flood defense rule in the network DDoS profile.
The attacker establishes a large number of TCP connections to the target server,
which exhausts the connection resource of the target server and makes the server
unable to respond to the normal requests.
Defense Principle:
The system checks the connection rate, concurrent connections, slow connections and
abnormal sessions based on the source, and forcibly disconnect from abnormal
sources and add them to the blacklist.
1. Execute the “ddos profile zone rule tcp connflood” command to set the
connection Flood defense rule in the network DDoS profile.
AN(config)#ddos profile zone rule tcp connflood grp_pf1 10000 500 500 200 5
When detecting the connection flood attack, the system enables the slow and
abnormal connection detection for TCP connections based on the configuration of the
commands “ddos profile zone rule tcp slowconn” and “ddos profile zone rule tcp
abnconn”.
2. Execute the “ddos profile zone rule tcp slowconn” command to set the slow
connection defense rule in the network DDoS profile.
3. Execute the “ddos profile zone rule tcp abnconn” command to set the abnormal
connection defense rule in the network DDoS profile.
TCP fragmentation is rare in the normal network traffic. If lots of TCP fragments
exist in the network, there may be a DDoS attack. The attacker sends lots of TCP
fragments to the target, usually causing the following hazards:
The network appliance or server receives a large number of TCP fragments and
performs fragment reassembly, which might cause the network device or server
to degrade the performance or even unable to work properly.
Defense Principle:
Execute the “ddos profile zone rule tcp fragflood” command to set the TCP
fragment Flood defense rule in the network DDoS profile.
The administrator can add UDP DDoS attack defense capabilities to the network
DDoS profile by setting UDP DDoS defense rules.
The attacker sends a large number of UDP packets to the destination, which leads to
the server resource exhaustion because the target server needs to reply to lots of this
type of packets.
Defense Principle:
The system will perform the fingerprint identification and limit the rate.
Execute the “ddos profile zone rule udp flood” command to set the UDP Flood
defense rules in the network DDoS profile.
Execute the “ddos profile zone rule udp fingerprint” command to set the UDP
fingerprint identification defense rule in the network DDoS profile.
The attacker sends lots of UDP fragments to the target, usually causing the following
hazards:
If attack packets reach the open UDP ports of the server, the server will consume
computing resources to check the validity of packets. As a result, the server is slow in
response or even fail to respond.
Defense Principle:
Execute the “ddos profile zone rule udp fragflood” command to set the UDP
fragment flood defense rule in the network DDoS profile.
The administrator can add ICMP DDoS attack defense capabilities to the network
DDoS profile by setting ICMP DDoS defense rules.
The attacker sends a large number of ICMP packets to the destination, which leads to
the server resource exhaustion because the target server needs to reply to multiple
type of packets.
Defense Principle:
Execute the “ddos profile zone rule icmp flood” command to set the ICMP Flood
defense rule in the network DDoS profile.
After security zones are added, the global network DDoS profile automatically
provides corresponding network defense for them.
Global network DDoS profile supports the abnormal packet logging function. The
system supports configuring the packet anomaly logging mode for all common DoS
defense rules for the global network DDoS profile. After this function is configured,
the system will record the abnormal packet logs when abnormal packets are detected
for the global network DDoS profile.
Configure the packet anomaly logging function for the global network DDoS profile
by executing the “ddos profile global anomalylog” command.
Common DoS attack defense provides defense against well-known DoS attacks.
5.3.2.1 Smurf
Attack Principle:
The attacker sends the ICMP request whose source IP is the IP of the victim to the
broadcast address of the target network, which makes all hosts in the network send
ICMP responses to the victim, thus causing system busy and link congestion in the
victim.
Defense method:
The system does not forward packets whose destination IP is the broadcast address of
the protected network segment.
Execute the “ddos profile global defend smurf” command to enable the Smurf
attack defense function for the global network DDoS profile.
The maximum length of the IP packet is 65535 bytes. The attacker sends the Ping
packet with the length exceeding 65535 bytes to the target victim. When the victim
performs packet reassembly, the system crash occurs because the packet length
exceeds the limit.
Defense method:
When the system performs packet reassembly, packets with the length greater than
65535 bytes will be discarded.
Execute the “ddos profile global defend pingofdeath” command to enable the Ping
of Death attack defense function for the global network DDoS profile.
5.3.2.3 IP Spoofing
Attack Principle:
The attacker sends the packets with the forged IP address to spoof the target host, so
as to obtain the higher access and control privilege. This attack causes resource
damage and information leakage.
Defense method:
The system reversely checks the routing table of packets. If the outbound interface
and the inbound interface of the next hop are not equal during the reverse check, it
will be regarded as IP spoofing attack and the packet will be discarded.
Execute the “ddos profile global defend ipspoofing” command to enable the IP
spoofing function for the global network DDoS profile.
The LAND attack means that the attacker sends victim the TCP SYN packets whose
source and destination IP addresses are both the IP address of the victim. As a result,
the victim sends the response to its own IP and therefore causing the resource
consumption.
Defense method:
The system checks the source and destination IP addresses of the packet and discards
it if the source and destination addresses are the same or are loopback addresses.
Execute the “ddos profile global defend land” command to enable the LAND attack
defense function for the global network DDoS profile.
5.3.2.5 IP Teardrop
Attack Principle:
The attacker sets the offset field in the fragment packet to an incorrect value. When
receiving such packets, the victim cannot reassemble packets, resulting in system
crash.
Defense method:
The system analyzes the received fragments, calculates whether the offset is wrong
and discards the packet if it is wrong.
Execute the “ddos profile global defend teardrop” command to enable the Teardrop
attack defense function for the global network DDoS profile.
UDP Fraggle is a variant of the Smurf attack. The attacker sends UDP packets to the
network of the victim. The source address of the packet is the address of the victim
host. The destination address is the broadcast address or the network address of the
subnet to which the victim host belongs and the destination port is 7 or 19. In this case,
hosts with ports 7 (ECHO) and 19 (Chargen) enabled in the subnet will send
responses to the victim host, which generates a large amount of traffic and occupies
the bandwidth, resulting in blocked network or system crash.
Even hosts with ports 7 (ECHO) and 19 (Chargen) disabled will generate an ICMP
unreachable message, which also consumes the bandwidth. If the attacker changes the
source port of the UDP packet to 19 and the destination port to 7, it will keep
generating a large number of responses, which is more harmful.
Defense method:
The system detects the UDP packets and discards them if the destination port is 7 or
19.
Execute the “ddos profile global defend fraggle” command to enable the Fraggle
attack defense function for the global network DDoS profile.
TraceRT attack means that the attacker spies on the structure of the network by the
routing path through which the packet reaches the destination by using the ICMP
timeout packet. The ICMP timeout packet is returned when TTL is 0 and the ICMP
port unreachable packet is returned when the destination address is reached.
Defense method:
The system discards the detected ICMP timeout packet or port unreachable packet.
Execute the “ddos profile global defend tracert” command to enable the TraceRT
attack defense function for the global network DDoS profile.
Defense method:
If the target port of the TCP packet is 139, the URG bit is 1 and the URG pointer is
not empty, the system will discard this packet.
Execute the “ddos profile global defend winnuke” command to enable the Winnuke
attack defense function for the global network DDoS profile.
The malformed single-packet attack defense defends against all kinds of malformed
single-packet attacks.
In IP routing technology, the routing record option is used to record the path through
which the IP packet passes from the source address to the destination address, that is,
it records a list of routers that have processed this packet. The IP routing record option
is often used to troubleshoot network paths but can also be used by malicious
attackers to spy on network structures.
Defense method:
The system detects whether the IP routing record option is set in the packet and if so,
discard the packet.
Execute the “ddos profile global drop ipoption routerecord” command to enable
the function of discarding the IP packets with routing record option for the global
network DDoS profile.
Defense method:
The system detects whether the IP source routing option (Loose/Strict) is set in the
packet. If this option is set, the packet is discarded.
Execute the “ddos profile global drop ipoption sourceroute” command to enable
the function of discarding the IP packets with (Loose/Strict) source routing option for
the global network DDoS profile.
In IP routing technology, the timestamp option is used to record the path and time of
the IP packet from the source address to the destination address, that is, it records a
list of routers that have processed this packet. The timestamp option is often used to
troubleshoot network paths but can also be used by malicious attackers to spy on
network structures.
Defense method:
The system detects whether the timestamp option is set in the packet. If this option is
set, the packet is discarded.
Execute the “ddos profile global drop ipoption timestamp” command to enable the
function of discarding the IP packets with timestamp option for the global network
DDoS profile.
The attacker makes damage to the hosts by sending packets with illegal TCP flag
combinations.
Defense method:
The system checks each flag bit of the TCP packet and discards it if one of the
following cases occurs:
Execute the “ddos profile global drop tcp errflag” command to enable the function
of discarding the packets with illegal TCP flag combinations for the global network
DDoS profile.
The attacker initiates the attack against the target system by using the large UDP
packets. For this type of attack, if the system does not handle it properly, a system
crash or reboot will occur.
Defense method:
Users can configure the maximum length of UDP packets allowed to pass through the
system based on the actual network requirement. When the length of the actual UDP
packet exceeds the value, the system determines it as the large UDP packet attack and
discards the packet.
Execute the “ddos profile global drop udp largepkt” command to enable the
function of discarding the large UDP packets for the global network DDoS profile.
In general, the network device sends ICMP redirecting packets to hosts in the same
subnet, requesting the hosts to change routes, and it only sends ICMP redirecting
packets to the host but not to other devices. However, some malicious attacks may
send fake redirecting packets to hosts in another network across the network segment,
so as to change the routing table of the target host and interfere with the normal IP
packet forwarding of the target host.
Defense method:
Execute the “ddos profile global drop icmp redirect” command to enable the
function of discarding ICMP redirecting packets for the global network DDoS profile.
Different hosts have different ways to process ICMP unreachable packets. When
receiving network or host unreachable ICMP packets, some hosts determines the
subsequent packets to this destination address as unreachable, which cuts off the
connection between the destination address and the host. Attackers exploit this
vulnerability by constructing unreachable ICMP packets to cut off the connection
between the victim and the destination and therefore causing an attack.
Defense method:
Execute the “ddos profile global drop icmp unreachable” command to enable the
function of discarding the ICMP unreachable packets for the global network DDoS
profile.
The attacker initiates the attack against the target system by using the large ICMP
packet attack. In some cases, if the system fails to process large ICMP packets, it will
cause system crash or reboot.
Defense method:
Users can configure the maximum length of ICMP packets allowed to pass through
the system based on the actual network requirement. When the length of the actual
ICMP packet exceeds the value, the system determines it as the large ICMP packet
attack and discards the packet.
Execute the “ddos profile global drop icmp largepkt” command to enable the
function of discarding the large ICMP packets for the global network DDoS profile.
6.1.1 Overview
Security service defines a defense object for which the defense against attacks of the
DNS, HTTP, or HTTPS protocol is provided. The defense scope of the security
service is determined by the IP+port pairs and IP subnet+port pairs added to it. The
system provides application DDoS mitigation and WAF security services (for
HTTP-type and HTTPS-type security services) for traffic only when its destination IP
and port matches an IP+port pair or IP subnet+port pair added to the security service.
According to the working mode, security services can be divided into virtual services
and non-virtual services. In “transparent” working mode, the IP+port pairs or IP
subnet+port pairs added to the security service are the IP addresses and ports of the
services to be defensed in the internal network. Therefore, the security services to be
configured are non-virtual services. While in “proxy” working mode, the security
service will proxy the real services to provide external services. Therefore, the
security services to be configured must be virtual services (set the “virtual” keyword
for the security services). In addition, real services need to be configured to represent
services to be defensed in the internal network and be associated with virtual services.
Note:
HTTP-type security services support both “transparent” and “proxy” working modes.
HTTPS-type security services support only the “proxy” working mode.
DNS-type security services support only the “transparent” working mode.
Only one IP+port pair can be added to one virtual service.
In “proxy” working mode, one virtual service can only be associated with one real
service, while one real service can be associated with multiple virtual services.
2. Add an IP+port pair to the security service by executing the “security service
address” command. The maximum number of IP+port pairs that can be added to
every security service varies with system memories. For details, refer to
Appendix II System Specifications in the ASF CLI Handbook.
You can also add an IP subnet+port pair to the security service by executing the
“security service netaddress” command. The maximum number of IP subnet+port
pairs that can be added to every security service varies with system memories. For
details, refer to Appendix II System Specifications in the ASF CLI Handbook.
3. View the configuration summary of the security service by executing the “show
security service summary” command.
Note: To keep the client source IP and port unchanged, the administrator can enable the
Keep Source IP and Port Unchanged option, that is “security service name http_srv2_v
http virtual keepsource”. In addition, the administrator also needs to change the default
gateway of the server to the IP address of the appliance’s downlink interface.
2. Add an IP+port pair to the security service by executing the “security service
address” command. For a virtual service, only one IP+port pair can be added. If
the added IP address needs to respond to ARP requests, the administrator also
needs to set the “arp” keyword option.
3. Configure the real service that actually needs to be defensed by executing the
“security real service” command. Currently, HTTP-type and HTTPS-type real
services are supported.
4. Associate the virtual service with the real service by executing the “security
service policy static” command. Currently, the HTTP-type and HTTPS-type
virtual services can be associated with the HTTP-type and HTTPS-type real
services.
5. View the configuration summary of the security service by executing the “show
security service summary” command.
http request:
body_limit: 13107200
inspect_mode: buffer
http response:
body_limit: 65536
inspect_mode: buffer
body_mimetype: text/plain:text/html:text/xml:application/xml
The system supports providing the load balancing function for protected virtual
services, and evenly distributes service traffic to multiple real services in the backend.
To use the load balancing function, the administrator needs to add the real service to a
real service group (load balancing group), and then bind the group with the virtual
service.
3. The real service group forwards requests to the real services in the group
according to the load balancing methods.
Methods Description
If we have three servers in Group 1with two in Group 2, and chose round
Round Robin
robin as our metric, each request would follow the real services in order
(rr)
[1,2,3, 1, 2, 3…] for Group 1 and [4,5, 4, 5…] for Group 2.
Least The lc method tells SLB to select the real service with the fewest number of
Connections (lc) active connections.
The chi method forwards the client request hitting this real service group for
Consistent Hash the first time to one real service selected based on the hash value of the source
IP (chi) IP address and forwards the subsequent client requests whose source IP
addresses have the same hash value to the same real service persistently.
It is a limited health check method that simply sends an ICMP echo (ping) to the
server. If the server responds with an ICMP reply then the server is marked as “up”.
The server is marked as “down” otherwise. This does NOT check for the running
service or the quality of the service.
TCP health check simply opens a TCP connection to a specific port of the real service.
If that connection fails, the server will be marked as “down”. The server will be
marked as “up” if the TCP connection succeeds. This health check does not indicate if
the service is actually functioning. A more effective health check is achieved through
HTTP requests.
The administrator can also use the “health interval” command to set the interval and
timeout of the health check function. Health check statistics can be viewed using the
“show statistics health” command.
When you define an HTTP real service with just the real service name, IP address and
port, it will use the following default values:
Configure for a real service group using the lc method by using the “security group
method” command.
Add the created real services into the real service group by using the “security group
member” command.
Define an HTTP-type virtual service by using the “security service name” command
and add an IP address and port to it by using the “security service address”
command.
Note: The VIP address cannot be the same IP as any management IP address. The VIP
address configured must be within the same subnet as any system interface on the
appliance (except the 0.0.0.0 and noarp cases). For the VIP address that does not match
the subnet of any interface, the system will not allow it to be configured. If a VIP address
is not associated with a real service or service group, the client will get a 503 Service
Unavailable response from the ASF appliance. 503 will also be returned when all real
services are down in a group.
Assoiciate the real service group with the virtual service by using the “security
service policy default” command.
Configure the interval and timeout value of the health check by using the “health
interval” command, and enable the function by using the “health on” command.
AN(config)#health interval 10 5
AN(config)#health on
6.2 WAF
If WAF defense needs to be provided for a security service, the administrator can
configure a WAF profile, add defense rules to the WAF profile, and apply the WAF
profile to the security service through a WAF policy.
The WAF defense provided by the system integrates the negative WAF security
model and positive WAF security model. You can add defense rules under the two
security models into the same WAF profile. The defense rules under the negative
WAF security model take precedence over those under the positive WAF security
model.
The negative WAF security model recognizes and blocks abnormal traffic and permits
normal traffic. This model will match client requests and server responses against
built-in signature library and other attack defense rules in order to determine whether
sessions are valid. If they match one or more signatures, client accesses will be
recognized as illegal accesses and the system will block client accesses or record
attack logs according to the configuration made by the administrator.
The positive WAF security model recognizes normal traffic and blocks other
abnormal traffic. This model recognizes the characteristics of normal application
traffic by automatic traffic learning. This model can generate positive whitelists,
which allows only traffic matching these whitelists to pass. The positive WAF
function supports generating positive whitelists manually or automatically based on
the automatic traffic learning results. If a request does not match any positive whitelist,
it will be considered as illegal and the system will block the client access or record the
attack log according to the configuration made by the administrator.
In the system, requests first go through the processing of the negative WAF security
model, and then through the positive WAF security model.
Policy
The following figure displays the relationship between the WAF profile, rule, and
policy.
Figure 6–1 Relationship Between the WAF Profile, Rule and Policy
The WAF profile is a set of rules that provide WAF defense for the security services.
The maximum number of WAF profiles that the system supports varies with system
memories. For details, refer to Appendix II System Specifications in the ASF CLI
Handbook.
WAF defense rules are attack defense rules that are provided to the security service by
using specific defense methods, such as signature rules, Data Leak Protection (DLP)
rules, content filter rules, virtual patch rules, and positive whitelist rules.
The WAF policy is used to apply the WAF profile to the security service. One WAF
profile can be used to provide WAF defense for multiple security services, while one
security service can have only one applied WAF profile.
When a WAF profile is created, the system will automatically add default WAF rules
and attribute settings to it. The administrator can modify the defense rules and
attribute settings of the WAF profile as required. The maximum number of WAF
profiles that the system supports varies with system memories. For details, refer to
Appendix II System Specifications in the ASF CLI Handbook.
Configuration Example
To view the defense rules and attribute settings of the WAF profile, execute the
following command:
The WAF defense mode is a WAF profile attribute, which defines what action will be
taken when the WAF profile detects suspicious traffic. The system supports two WAF
defense modes:
The administrator can set the defense mode for the negative WAF and positive WAF
respectively. The default defense modes of the negative WAF and positive WAF are
both “detect”.
Configuration Example
To set the defense mode for the negative WAF, execute the following command:
To set the defense mode for the positive WAF, execute the following command:
The system supports recoding detailed audit logs for attacks detected by the WAF
profile, which facilitate the audit of client accesses by the administrator. By default,
WAF audit logging is disabled for the WAF profile. For the description of the WAF
audit logs’ format, refer to section 11.6 WAF Audit Logging.
Configuration Example
To enable WAF audit logging for the WAF profile, execute the following command:
Every predefined signature rule has a defense level, which ranges from 0 to 4.
A defense level ranging from 0 to 4 can be set for the WAF profile. The smaller the
defense level, the smaller the defense scope, but the higher defense accuracy and less
false positives; the larger the defense level, the larger the defense scope, but the lower
defense accuracy and more false positives.
0: indicates that the WAF profile contains a core subnet of predefined signature
rules whose defense level is 1.
1: indicates that the WAF profile contains predefined signature rules whose
defense level is 1.
2: indicates that the WAF profile contains predefined signature rules whose
defense level is 1 and 2.
3: indicates that the WAF profile contains predefined signature rules whose
defense level is 1, 2 and 3.
4: indicates that the WAF profile contains predefined signature rules whose
defense level is 1, 2, 3 and 4.
To set the defense level for the WAF profile, execute the following command:
The ASL contains all predefined signatures supported by the system. These
predefined signatures take effect only when being added to the WAF profile. You can
select an optimal set of predefined signatures by the characteristics of the application
to be defended (platform on which the application runs, application type, and the
programming languages used by the application), and add them to the WAF profile.
By default, common predefined signatures have been added to the WAF profile. You
can filter predefined signatures according to actual application characteristics and add
them to the WAF profile.
To filter the predefined signatures to be enabled for the WAF profile by application
characteristics, execute the following command:
In addition to predefined signatures, you can create custom signatures. You need to
add the created custom signatures to the WAF profile for them to take effect.
In this example, 1 stands for the phase in which this signature takes effect. Custom
signatures support the following effect phases:
2. (Optional) Import the external data file on which preceding custom signature
depends by executing the “waf negative signature custom data <url>”
command.
3. Import the external signature rule file by executing the “waf negative signature
custom rule <custom_signature_name> <url>” command.
4. Associate the custom signature with the WAF profile by executing the “waf
profile negative signature custom <waf_profile_name>
<custom_signature_name>” command.
To save system resources and enhance the defense efficiency, administrators can
configure whitelist URLs for the signature-based defense function. A maximum of
255 whitelist URLs can be configured for the signature-based defense function of
every WAF profile.
If the request URL matches any configured whitelist URL, the system skips the
checks of signature-based defense for such requests.
You can also exclude a specific URL for a specified signature rule.
After the CSRF defense function is enabled in the WAF profile, the system will use
the token value to determine whether the request is a CSRF attack. Requests that are
determined to be CSRF attacks will be intercepted by the system. The system also
allows the administrator to customize the token name for the token value in the
request to access the site.
The CSRF defense function provides defense only for configured protected URL path.
If certain URLs or URL paths under the protected URL path do not require CSRF
defesne, you can configure them as the whitelist URL paths in order to save system
resources. The CSRF defense function also supports the configuration of script
injection exceptions to skip script injection for specified URL paths, which avoids
service interruption caused by abnormal script insertion.
Note:
The CSRF defense function supports checking only clients’ HTTP/HTTPS requests
with request method being GET or POST.
The CSRF defense function has the following limitations:
- It does not support checking clients’ HTTP/HTTPS POST requests with
Content-type header being “application/json” or “text/xml”.
- It does not support checking clients’ HTTP/HTTPS requests with Content-type
header being “application/xhtml+xml”.
- It does not support checking clients’ HTTP/HTTPS requests whose request URLs
are obtained via JavaScript. Currently, only the clients’ HTTP/HTTPS requests
whose request URLs are defined in HTML tag attributes can be checked by this
function.
1. Add a protected URL path for the CSRF defense function of a specified WAF
profile.
2. (Optional) Add a whitelist URL path that does not need the CSRF defense for the
CSRF defense function of a specified WAF profile.
4. (Optional) Configure the token name and Cookie token name for the token value
and Cookie token value in the request to access the site for the CSRF function of
a specified WAF profile.
After the anti-crawling/scanning function is enabled in the WAF profile, the system
will automatically recognize web crawlers and scanners, and conduct the configured
action against crawling/scanning attacks. This function supports the following two
actions against crawling/scanning attacks:
block: blocks the client from accessing sercurity services for a period of time and
records attack logs. The system will add the client’s source IP address to the
automatic IP blacklist as an entry. The requests from the blacklisted clients will
be blocked before the automatic IP blacklist entry times out.
log: only records attack logs but does not block attacks.
2. Set the action that the system conducts against crawling/scanning attacks for the
anti-crawling/scanning function.
3. (Optional) Set the trap URL path for the anti-crawling/scanning function.
When the DLP function is enabled for the WAF profile, the system will detect
whether server responses contain above-mentioned information. If the response
returned by the server contains private information, the system will process it
according to the configured action. The DLP function supports the following actions:
The system masks the private information by the following rules. For the email
address, the system will mask the username before the “@” character; for the identity
card information and bank card number, the system will mask the part other than the
first six and the last four digits; for the mobile phone number, the system will mask
the part other than the first three and last four digits.
For every type of DLP rule, the system provides a default regular expression. You can
also configure a custom regular expression to match special sensitive information.
If the server response contains any sensitive keyword, the system will perform the
configured action. The content filter function supports the following actions:
With this function enabled, the system will cache the protected web resources and
detect whether the web resources returned subsequently by the web server have been
defaced. If the web returned by the web server is defaced, the system will perform the
anti-defacement action. Two types of anti-defacement actions are supported:
returns the cached original web page to make the anti-defacement effects
unnoticeable.
(default) returns a 503 error page to the client to end the service.
Note:
This function does not support refreshing the cached web pages manually. To update
the protected web resource and its cache, you need to disable the WAD function first,
then clear the cache of its web pages using the “waf profile wad evict” command, and
enable the WAD function at last.
This function does not support processing HTTP responses with a
“Transfer-Encoding: chunked” response header.
The WAF function can cache only web pages less than 64MB. Each WAF profile can
protect a maximum of 4096 web pages.
To enable WAD function for a specified web resource, perform the following steps:
1. Add a web resource to the WAD function of the specified WAF profile.
2. Specify the anti-defacement action for the WAD function of a specified WAF
profile.
When the anti-leech function is enabled for the WAF profile, the system determines
the request is a leech attack if any of the following case occurs:
The host part of the Referer header in the client request is not the same as the
Host header and they do not contain each other.
The host part of the Referer header in the client request does not match any
Referer whitelist.
After a request is determined as a leech attack, the system takes action configured by
the “waf profile negative leech action” command. By default, this function is
disabled.
1. Add a protected URL path for the anti-leech function of a specified WAF profile.
2. Configure the action the system takes when a leech attack is detected for this
WAF profile.
To use the virtual patch function, you need to first import the scanning results of the
Web vulnerability scanner into the system as the virtual patch source, and then
generate the virtual patch based on the virtual patch source. A virtual patch is a set of
custom signatures generated and converted based on the scanning results. Finally, you
need to apply the virtual patch to the WAF profile and enable the virtual patch
function for it. The virtual patch function is enabled for the WAF profile by default.
1. Import the external scanning results of the Web vulnerability scanner as the
virtual patch source.
To use the positive WAF function, you need to enable positive WAF for the WAF
profile and enable the learning mode. After a period of learning, you can generate
positive whitelists based on learning logs of positive WAF. The system supports
generating positive whitelists manually or automatically.
After the learning mode of positive WAF is disabled, positive WAF enters into the
configured defense mode.
With the function of automatically generating positive WAF whitelist enabled, the
system will automatically generate the positive WAF whitelist if the triggering
condition for auto generation (configured using the command “waf profile positive
whitelist auto count” or “waf profile positive whitelist auto period”) is met within
the time range that is allowed to automatically generate positive WAF whitelist
(configured using the “waf profile positive whitelist auto allowtime” command). By
default, this function is disabled.
The system supports configuring the trusted source for positive WAF of the WAF
profile. If the learning mode is enabled for positive WAF (using the “waf profile
positive learning on” command), positive WAF will learn the characteristics of the
trusted sources' traffic. If the learning mode is disabled for positive WAF, positive
WAF allows the traffic of trusted sources to pass, but the system will still record
attack and audit logs when their traffic does not match the postive whitelist.
2. Enable the learning mode of positive WAF for the WAF profile.
4. After the learning mode is enabled for a period of time, manually generate
positive whitelists.
Note: You can also configure the system to automatically generate positive whitelists. For
details, refer to the ASF CLI Handbook.
5. After you confirm that positive whitelists have been generated successfully,
disable the learning mode of positive WAF.
The WAF policy is used to apply the WAF profile to the security service. A WAF
profile can be used to provide WAF defense for multiple security services, while a
security service can have only one applied WAF profile.
Configuration Example
Encoding tricks are common ways to bypass attack detection. WAF supports the
automatic decoding function, which allows the WAF engine to decode user inputs to
prevent attackers from bypassing attack detection using encoding tricks.
This function can decode Base64, Unicode and hexadecimal data, such as request
URL, cookie, query parameters and body.
Select Application Defense > WAF Defense > Global > General Settings, in the
Basic Settings area, set the Automatic Decoding slider to ON, and click Apply
Changes.
Array Security Center (ASC) will regularly release ASL versions in the form of ASL
images. If customers have purchased the subscription license of security update
services, they can manually download or configure the system to automatically
download ASL images to update the ASL version of the appliance. The ASL update is
independent from the system update.
If the automatic update option is “notify”, the appliance will notify the
administrator to manually apply the new version of ASL image.
Select Application Defense > WAF Signature > Signature Library > ASL Update,
in the Automatic Update page, set Automatic Update option as “On - Notify
(Notify admin of new ASL update if any)” or “On - Effect (Apply new ASL update if
any)”, and configure Automatic Update URL, Automatic Update Period, and
(optional) Automatic Update Proxy settings, and then click Apply Changes.
1. Configure the ASC URL address of the new version of ASL image by executing
the “waf asl update auto address” command.
2. Configure the automatic update period by executing the “waf asl update auto
period” command.
3. (Optional) Configure the proxy for Internet connectivity by executing the “waf
asl update auto proxy” command. This command needs to be configured only
when the appliance needs to access the Internet through a proxy.
4. Enable the ASL automatic update function and specify the automatic update
option by executing the “waf asl update auto on” command.
Note: If the specified automatic update option is “notify”, you need to apply the new version
of ASL image downloaded by the ASL automatic update function by executing the “waf asl
version apply” command.
manually update the ASL from this URL. In addition, WebUI also supports manually
updating the ASL by selecting a local ASL image.
Select Application Defense > WAF Signature > Signature Library > ASL Update,
in the Manual Update page, specify the URL address of the new version of ASL
image or select a local ASL image, and then click Update Now.
Manually update the ASL image by executing the “waf asl update manual”
command.
Select Application Defense > WAF Signature > Signature Library > Basic
Settings, and in the ASL Image List area, view all ASL images available on the
appliance. If you want to delete an ASL image or switch the effective image, in the
Actioncolumn of the ASL image, click the Delete ( ) button and the Apply ( )
button.
In the Description column, “Effective” indicates the ASL image is currently effective;
“Latest” indicates that the ASL image is the latest image; “Built-in” indicates the ASL
image is system built-in. Effective image and built-in image cannot be deleted.
View all ASL images on the appliance by executing the “show waf asl version
status” command. “#” indicates the latest version; “*” indicates the effective version;
“&” indicates the system built-in version.
Switch the effective ASL image by executing the “waf asl version apply” command.
Delete a specified ASL image by executing the “no waf asl image” command.
Clear all ASL images except the system built-in image and the effective image by
executing the “clear waf asl image” command.
1. Apply the signature pending function to a signature by executing the “waf profile
negative signature pending id” command.
2. Configure the signature pending period by executing the “waf profile negative
signature pending period” command.
3. Enable the signature pending function by executing the “waf profile negative
signature pending on” command.
4. Display the signature pending status by executing the “show waf profile
negative signature pending status” command.
and Policy
The following figure shows the relationship between application DDoS profile, rule
and policy.
Figure 6–6 Relationship between Application DDoS Profile, Rule and Policy
Application DDoS defense rule is a rule used to provide DDoS attack defense rule the
security service by employing specific defense techniques, such as the HTTP Flood
defense rules and the DNS Flood defense rules.
Application DDoS policy is used to apply the application DDoS profile to the security
service.
Various DDoS defense rules and function switches for the application DDoS attack
defense are defined in the application DDoS profile. According to the creation
methods, the application DDoS profiles can be classified into automatic application
DDoS profiles and manual application DDoS profiles. According to the protocol type
of the protected traffic, the application DDoS profiles can be classified into
HTTP-type DDoS profiles, HTTPS-type DDoS profiles, and DNS-type DDoS profiles.
The DDoS defense rules supported by the automatic application DDoS profile are the
same as those of the manual application DDoS profile. The DDoS defense rules
supported by DDoS profiles of different protocol types are different because different
DDoS attacks are defended.
switches and defense rules in the profile will use default values. After the system
starts the traffic baseline learning task for the security service (refer to section 8.2.6.2
Traffic Baseline Learning of Security Service), the system can refresh the rules in the
automatic application DDoS profile based on the traffic learning result, so that the
appliance can dynamically adjust the defense rules according to the actual situation of
the customer network environment. The administrator can also manually configure
the defense rules in the automatic application DDoS profile. Once the specified rules
are manually configured by the administrator, these rules will not be dynamically
refreshed by the traffic learning result. Automatic application DDoS profile is
automatically created and deleted with the creation and deletion of the security service.
The administrator cannot manually create or delete the automatic profiles and can
only modify the control switches and defense rules in the profile.
2. Bind the manual application DDoS profile to the specified security service by
executing the “ddos policy service” command.
3. View the binding relationship between the application DDoS profile and the
security service and the configuration summary by executing the “show ddos
profile service summary” command.
detect: indicates the detecting mode. The system only detects traffic anomalies
and attacks, but not blocks the traffic.
block: indicates the blocking mode. The system has full defense ability, which
means that it not only detects traffic anomalies and attacks, but also blocks the
attack traffic.
Configure the defense mode for the application DDoS profile by executing the “ddos
profile service defensemode” command.
Currently, only the DNS-type DDoS profile supports the function of dynamically
generating automatic IP whitelists.
Application DDoS profile supports the packet anomaly detection function. After this
function is enabled, the system will perform the packet anomaly detection for the
security service and the detected abnormal packets will be discarded directly. By
default, this function is disabled.
Application DDoS profile also supports the packet anomaly logging function. After
this function is enabled, the system will perform the packet anomaly detection for the
security service and record the packet anomaly logs when abnormal packets are
detected. By default, this function is disabled.
Enable the packet anomaly detection function for the application DDoS profile by
executing the “ddos profile service anomalycheck” command.
Enable the packet anomaly logging function for the application DDoS profile by
executing the “ddos profile service anomalylog” command.
Application DDoS profile supports the TopN traffic statistics function. Only the
DNS-type DDoS profile supports TopN traffic statistics. The IP address of the TopN
attack source can be IPv4 or IPv6. By default, this function is disabled.
Enable the TopN traffic statistics function for the DNS-type DDoS profile by
executing the “ddos profile service topn on” command.
Modify the DNS Query Flood defense rule for the DNS-type application DDoS
profile by executing the “ddos profile service rule dns queryflood” command.
HTTP and HTTPS DDoS profiles support HTTP DDoS defense. The administrator
can configure HTTP DDoS defense rules for the profiles to defend against HTTP
flood attacks.
The attacker sends a large number of HTTP requests to the target server, causing the
server to exhaust the resources and unable to respond to normal requests.
Defense Principle:
When the HTTP GET/POST RPS of the security service reaches the threshold, the
system initiates source authentication for the client. The administrator configures the
threshold through the HTTP GET Flood attack defense rule and the HTTP POST
Flood attack defense rule.
If the client is successfully redirected, the source authentication succeeds, and the
system releases the client request; otherwise, the source IP address of the client is
distributed to the automatic IP blacklist.
If the basic mode source authentication succeeds and the HTTP GET/POST request
RPS of the security service still exceeds the threshold, the system will send a
verification code page to the client to determine whether it is a normal user access or a
machine access.
If the client returns the correct authentication code, the source authentication will
succeed, and the system will release the client request; otherwise, the source IP
address of the client will be distributed to the automatic IP blacklist.
Modify the HTTP GET Flood defense rule for HTTP/HTTPS-type application DDoS
profile by executing the “ddos profile service rule http getflood” command.
Modify the HTTP POST Flood defense rule for HTTP/HTTPS-type application DDoS
profile by executing the “ddos profile service rule http postflood” command.
The attacker establishes a large number of connections with the server and sends the
request header or body slowly through GET or POST requests, so that each
connection is maintained for a long time, and the server cannot provide services to
legitimate users.
Defense Principle:
Slowloris attack defense is enabled when the number of concurrent connections of the
specified HTTP/HTTPS-type security service reaches the configured threshold. The
administrator can configure thresholds through HTTP Slowloris attack defense rules
and HTTP Slow POST attack defense rules.
If the HTTP request header or body is not completely received within the configured
timeout period, the request is determined as a Slowloris attack. If the interval of each
received request header fragment or body fragment exceeds the maximum interval
If the request is determined as a Slowloris attack, the system will block the request. If
the dynamically distributing automatic IP blacklist function is enabled, the system
will send the client’s source IP address to the automatic IP blacklist. As long as it is
blacklisted, requests from the client will be blocked.
Configure the HTTP Slowloris defense rule for the HTTP/HTTPS-type application
DDoS profile by executing the “ddos profile service rule http slowloris” command.
AN(config)#ddos profile service rule http slowloris manual_profile_http 10000 500 5000 10
30
Configure the HTTP Slow Post defense rule for the HTTP/HTTPS-type application
DDoS profile by executing the “ddos profile service rule http slowpost” command.
AN(config)#ddos profile service rule http slowpost manual_profile_http 10000 500 10000 10
30
The Challenge Collapsar (CC) attack is sending a large number of GET or POST
requests to the Web service to obtain information. If the requested URL involves
database operations or consumes other system resources, the large number of requests
will exhaust the server resources and cause the server unable to respond to the normal
requests.
Defense Principle:
Configure URL monitoring rules for the specified HTTP/HTTPS-type security service.
The system will detect the RPS of the monitored URL and the ratio of requests to all
requests in real time. If both of the monitoring data exceed the configured thresholds,
the system will initiate source authentication for the client accessing the URL. If the
client fails the source authentication, the system adds the client IP to the dynamic IP
blacklist.
1. Configure the HTTP URL Monitoring rule for the specified HTTP/HTTPS-type
application DDoS profile by executing the “ddos profile service rule http
urlmonitor” command.
For more information about HTTP URL Monitoring, refer to the “6.5.3 HTTP URL
Monitoring” section.
HTTPS DDoS profile supports SSL DDoS defense. Administrators can defend against
the SSL attack by configuring SSL DDoS defense rules for profiles.
The HTTPS DDoS profile also supports HTTP DDoS defense, which supports the
same HTTP DDoS defense rules as those supported by the HTTP DDoS profile. For
more information, refer to the “6.3.3 HTTP DDoS Defense” section.
The SSL handshake attack consumes the server’s SSL connection resources, causing
the server unable to respond to normal requests.
Defense Principle:
If the SSL handshake time exceeds the configured threshold, the session is marked as
an abnormal session. If the number of abnormal sessions of a source IP exceeds the
threshold during the abnormal session check period, the system will block the request.
If the dynamically distributing automatic IP blacklist function is enabled, the system
will send the client’s source IP address to the automatic IP blacklist. As long as it is
blacklisted, requests from the client will be blocked.
Configure the defense rule of the SSL handshake attack for the HTTPS-type
application DDoS profile by executing the “ddos profile service rule ssl handshake”
command.
The resource consumption of the client and the server is asymmetric when the SSL
handshake is performed, and the resource overhead on the server side is about 15
times of that on the client. The attacker exploits this (asymmetry) characteristic
through SSL renegotiation to consume server resources, causing the server unable to
respond to normal requests.
Defense Principle:
When the check period is configured and the number of renegotiations exceeds the
configured threshold during the check period, the SSL session is determined as an
attack and the system will block the session. If the dynamically distributing automatic
IP blacklist function is enabled, the system will send the client’s source IP address to
the automatic IP blacklist.
Configure the defense rule of the SSL renegotiation attack for the HTTPS-type
application DDoS profile by executing the “ddos profile service rule ssl
renegotiation” command.
The attacker sends a large number of DNS queries to the target server, causing the
server to exhaust the resources and unable to respond to normal DNS queries.
Defense Principle:
When the query PPS of DNS-type security service reaches the configured PPS alarm
threshold, the source authentication is enabled for the DNS query.
“passive”: the first packet is discarded. If the client resends the DNS query in a
certain period of time, it will pass the source authentication; otherwise, the source
authentication fails.
“basic”: the client should resend the DNS query through TCP and the system
performs client source authentication based on TCP.
“redirect”: the client should resend the CNAME qurey. If the client sends the
CNAME query, it will pass the source authentication; otherwise, it fails to pass
the source authentication.
The administrator can set the mode of source authentication as required. The default
value is “passive”.
If the client passes the source authentication, the system will bypass client’s DNS
query packet. If the dynamically distributing automatic IP whitelist function is
enabled, the system will send client’s source IP address to the automatic IP whitelist.
If the client fails to pass the source authentication, the system will block the client’s
DNS query. If the dynamically distributing automatic IP blacklist function is enabled,
the system will send client’s source IP address to the automatic IP blacklist.
1. Configure the defense rule of DNS Query Flood attack for the DNS-type
application DDoS profile by executing the “ddos profile service rule dns
queryflood” command.
2. Configure the source authentication method for the DNS-type application DDoS
profile by executing the “ddos profile service rule dns verify” command.
The attacker sends a large number of DNS response packets to the target server,
causing the server to be overloaded and resources to be exhausted.
Defense Principle:
When the response PPS of the DNS-type security service reaches the configured PPS
alarm threshold, the system performs a session check.
Configure the defense rule of DNS Reply Flood attack for the DNS-type application
DDoS profile by executing the “ddos profile service rule dns replyflood” command.
The attacker selects a primary domain name and then sends a large number of
non-existing subdomains to the attacked DNS server, causing the server to crash.
Defense Principle:
When the NXDomain query message PPS of the DNS-type security service reaches
the configured PPS alarm threshold and the NXDomain message ratio exceeds the
threshold, the system enables source authentication for the DNS Nxdomain query
message.
If the client passes the source authentication, the system will bypass the DNS
NXDomain query of the client. If the dynamically distributing automatic IP whitelist
function is enabled, the system will send client’s source IP address to the automatic IP
whitelist.
If the client fails to pass the source authentication, the system will block the DNS
NXDomain query of the client. If the dynamically distributing automatic IP blacklist
function is enabled, the system will send client’s source IP address to the automatic IP
blacklist.
1. Configure the defense rule of DNS NXDomain Flood attack for the DNS-type
application DDoS profile by executing the “ddos profile service rule dns
nxdomain” command.
2. Configure the source authentication method for the DNS-type application DDoS
profile by executing the “ddos profile service rule dns verify” command.
The attacker selects a primary domain name and then sends a non-existing subdomain
to the attacked DNS cache server. The DNS cache server sends a query request to the
authorization server. Before receiving the response message from the authorization
server, the attacker forges a large number of DNS response messages and sends them
to the cache server to hit the correct response message. After the hit, the attacker’s
forged response message contains the fake resolution address of the primary domain
name, and the poisoning is successful.
Defense Principle:
Session Check.
Enable the function of DNS cache poisoning attack defense for the DNS-type
application DDoS profile by executing the “ddos profile service rule dns
cachepoison” command. By default, this function is disabled.
DNS cache snooping is an attack that the attacker determines whether a specified
resource record exists in the cache of a DNS server. During the attack, the DNS server
receives DNS queries without the recursive flag and the attacker can determine which
sites have been visited recently by users using the DNS cache server.
Defense Principle:
Enable DNS cache snooping defense for the DNS-type application DDoS profile by
executing the “ddos profile service rule dns cachesnoop” command. By default, this
function is disabled.
DNS domain hijacking attack is a type of attack that redirects users to malicous sites
by modifying the replies to DNS queries.
Defense Principle:
Session check. The system will check whether the Query ID and domain name of the
DNS reply match those of the DNS query.
Enable DNS domain hijacking defense for the DNS DDoS profile by executing the
“ddos profile service rule dns domainhijack” command. By default, this function is
disabled.
1. Configure the DNS query packet length check rule for the specified DNS-type
application DDoS profile by executing the “ddos profile service rule dns
lengthcheck” command.
2. Configure the DNS respond packet length check rule for the specified DNS-type
application DDoS profile by executing the “ddos profile service rule dns
lengthcheck” command.
1. Configure the DNS query packet TTL check rule for the DNS-type application
DDoS profile by executing the “ddos profile service rule dns ttlcheck”
command.
2. Configure the DNS response packet TTL check rule for the DNS-type application
DDoS profile by executing the “ddos profile service rule dns ttlcheck”
command.
The maximum number of HTTP profiles that the system supports varies with system
memories. For details, refer to Appendix II System Specifications in the ASF CLI
Handbook.
2. Execute the “http policy default” command to apply the HTTP profile to a
specified security service.
3. Execute the “show http profile summary” command to view the security service
and configuration summary of the HTTP profile.
402 403 405 406 408 409 410 411 412 413
414 415 416 500 501 502 504 505 506 507
508 509 510 511
bruteforce : off
log : off
cookietamper: -
rewrite :-
redirect :
https : off
upload : off
log : off
download : off
log : off
pattern : off
name :-
action : log
log : off
The HTTP profile supports the HTTP filter function, which can be used for HTTP
protocol compliance check to prevent system cache overflow. After this function is
enabled, if the client request or server response matches any HTTP filter rule applied
to the security service, the device will return the 403 error page to the client. If the
administrator customizes the error page for the 403 error code, the system will return
the customized error page. By default, this function is disabled.
Currently, the system supports the following types of HTTP filter rules:
1. Execute the “http profile filter on” command to enable the HTTP filter function
for the specified HTTP profile.
2. Execute the “http profile log filter on” command to enable the HTTP violation
logging function for the HTTP filter function of the specified HTTP profile.
3. Execute the “show http profile filter request all” command to view the
configurations of the HTTP request filter rules of the specified HTTP profile.
4. Execute the “show http profile filter request all” command view the
configurations of the HTTP response filter rules of the specified HTTP profile .
Execute the “http profile filter request method” command to configure the request
filter rule for the specified HTTP profile .
To configure an HTTP version filter rule for a specified HTTP profile, execute the
“http profile filter request version” command.
Execute the “http profile filter request headerlength” command to configure the
HTTP request header length filter rule for the specified HTTP profile.
Execute the “http profile filter request cookielength” command to configure the
request Cookie length filter rule for the specified HTTP profile.
Execute the “http profile filter request cookienumber” command to configure the
HTTP request Cookie count filter rule for the specified HTTP profile.
The filter keyword supports both quick and full regular expressions. When the value
is set to a regular expression, it must be enclosed by double quotes. The string of the
full regular expression must begin with “<regex>” to differentiate from the quick
regular expression. To ensure the correctness of the configured regular expression, the
administrator can use the “regextest <regex> <target_string>” command to test
whether a target string can match the configured regular expression.
Execute the “http profile filter request urlkeyword” command to configure the
HTTP request URL keyword filter rule for the specified HTTP profile.
Execute the “http profile filter request urllength” command to configure the request
URL length filter rule for the specified HTTP profile.
Execute the “show http mimetype predefine” command to view the predefined
MIME types.
7 .aif audio/x-aiff
8 .aifc audio/x-aiff
9 .aiff audio/x-aiff
10 .als audio/X-Alpha5
11 .amc application/x-mpeg
12 .ani application/octet-stream
13 .apk application/vnd.android.package-archive
14 .asc text/plain
15 .asd application/astound
16 .asf video/x-ms-asf
17 .asn application/astound
…
482 .json application/json
The administrator can configure filter rules for the system predefined and
user-defined MIME types.
Execute the “http profile filter request mimetype” command to configure the
request file MIME type filter rule.
Execute the “http profile filter response errcode” command to configure the
response error code filter rule for the specified HTTP profile.
Execute the “http profile filter response headerlength” command to configure the
response header length filter rule for the specified HTTP profile.
Execute the “http profile filter response cookielength” command to configure the
response Cookie length filter rule for the specified HTTP profile.
Brute force is a type of attack that the attacker tries all possible login credentials until
finding the correct one. By employing brute force attacks, attackers can gain the
access privileges of the site, and thus steal digital assets, maliciously jeopardize the
site, and distribute malicious malware. Even if a brute force does not succeed, it will
consume the server resources and bandwidth, which degrades the site’s performance
or even causes the site to fail to provide external services.
The brute force defense function is a security mechanism provided by the HTTP
profile and can effectively protect customers’ sites from brute force attacks. Every
HTTP profile can provide brute force defense for a maximum of five login pages. The
brute force defense function supports the source IP login verification rule and the
global login rate limit rule. If the number of the times that a client fails to log in a
specified login page within a check period exceeds the threshold set in the source IP
verification rule, the system will block the client from login for a period of time. If the
number of login attempts on a specified login page in one minute exceeds the
threshold set in the global login rate limit rule, the system will deny subsequent login
attempt requests.
Note: If both the source IP login verification rule and the global login rate limit rule are
configured for the same login page, the source IP login verification rule has a higher
priority.
The administrator can customize multiple login success signs and login failure signs
for every login page. The system supports using HTTP response status code, response
header and response cookie name as the login success signs and using HTTP response
status code and response header as the login failure signs. If a login request does not
match all login success signs or matches any login failure sign, the system determines
this login as failure.
1. Execute the “http profile bruteforce on” command to enable the brute force
defense function of the specified HTTP profile.
3. Execute the “http profile bruteforce success” and “http profile bruteforce
failure” commands to configure login success signs and login failure signs for a
specific login page of the specific HTTP profile. For example, response status
code 200 is set as a login success sign and 403 as a login failure sign.
6. Execute the “http profile bruteforce log on” command to enable the HTTP
violation logging function for the HTTP bruteforce defense function of the
specified HTTP profile.
A user's API site is often developed based on a specific OpenAPI specification, such
as Swagger. The Swagger (OpenAPI) specifictation file defines the request and
privilege control for site API access. The system supports importing the Swagger
specification of the API site as an HTTP pattern. The system validates client requests
against the HTTP pattern, thus realizing fine-grained access control of API and
improving the security of the API site.
When receiving API HTTP requests, the system matches the requests with the
Swagger (OpenAPI) specifications of the HTTP pattern. Only the requests matched
with the HTTP pattern can pass through the appliance; otherwise they will be
regarded as violations.
2. Execute the “http pattern import” command to import an Swagger standard file
as the content of the HTTP pattern.
3. Execute the “http profile pattern apply” command to associate the HTTP
pattern with an HTTP profile.
4. Execute the “http profile pattern action” command to configure the action that
the system will take when the client request fails the HTTP pattern validation.
5. Execute the “http profile pattern on” command to enable the HTTP pattern
validation function.
6. Execute the “http profile pattern log on” command to enable HTTP violation
logging.
The system supports configuring file upload control function for the HTTP profile,
which limits the type and size of the file allowed to be uploaded. With this function
enabled, the system matches the file to be uploaded with the file upload allowing rule
(configured using the “http profile upload allow” command). If the type of the file to
be uploaded matches the file type specified by the rule, but the size exceeds the
threshold, the system will take the corresponding action. If the file to be uploaded
does not matches any rule, the system will refuse the file uploading.
The system supports configuring file download control function for the HTTP profile,
which controls the type and size of the file allowed to be downloaded. With this
function enabled, the system matches the file to be downloaded with the file
download forbidding rule (configured via the “http profile download forbid”
command). If the type of the file to be downloaded matches the type of the file
download forbidding rule, but the size exceeds the threshold, the system will takc the
corresponding action. If the file to be downloaded does not match any rule, the system
will allow the user to download the file.
The HTTP profile supports the HTTP request cookie tampering defense rule to defend
against cookie tampering and session hijacking attacks. When the cookie name carried
in a server response is the same as that specified by any rule, the ASF appliance will
add a cookie signature to its cookie value. If a client request carrying this cookie
accesses the security service again, the ASF appliance will perform cookie tampering
defense checks for the cookie. If the cookie value has not been tampered, the ASF
appliance will allow the client to access the resources. Otherwise, the ASF appliance
will deny the client request and return the 403 error page.
Execute the “http profile cookietamper” command to configure the HTTP request
cookie tampering defense rule for a specified HTTP profile.
The system supports redirecting HTTP requests to HTTPS for the HTTP profile.
Upon receiving an HTTP request, the appliance will reply with an HTTP redirect
response in which the Protocol value of the Location header is changed to “HTTPS”.
This function can solve the protocol compatibility issue that will occur when the
system receives client requests after an HTTP-type real service is upgraded to an
HTTPS-type real service.
Execute the “http profile redirect https” command to to enable the function of
redirecting HTTP requests to HTTPS for the specified HTTP profile.
Execute the “http profile insert response cookie httponlyattr on” command to
enable the function of inserting the httponly attribute to the HTTP response cookie for
a specified HTTP profile.
This function takes effect only when the HTTP profile is applied to an HTTP-type
security service.
Execute the “http profile insert response cookie secureattr on” command to enable
the function of inserting the secure attribute to the HTTP response cookie for a
specified HTTP profile.
The HTTP profiles support the HTTP via header masking function. After this function
is enabled, the system clears the via header in the response returned to the client,
preventing the client from obtaining proxies through which the responses pass. This
function is enabled by default.
Execute the “http filter mask via on” command to enable the HTTP via header
masking function for a specified HTTP profile.
1. Add header strings to be inserted into HTTP requests for the specified HTTP
profile using the “http profile insert request header” command.
2. Display all the header strings to be inserted into HTTP requests for the specified
HTTP profile using the “show http profile insert request header” command.
The HTTP profile supports removing the response header which includes the backend
server information to avoid the disclosure of security information. By default, the
system will remove response headers Server, X-Powered-By, X-AspNet-Version and
X-AspNetMvc-Version.
Execute the “http profile remove response header on” command to enable the
HTTP response header removal function for a HTTP profile.
Execute the “http profile remove response header on” command to add the
response header to be removed for the specified HTTP profile.
Execute the “show http profile remove response header config” command to view
the configurations of the HTTP response header removal function for the specified
HTTP profile.
The system supports adding an HTTP response rewrite rule for the specified HTTP
profile. The HTTP response rewrite rule is used to rewrite the Location header
protocol and port value in the HTTP response returned by the real service. The
administrator can rewrite HTTP response protocol as “https” or “http” and specify a
new port value.
This function can solve the problem that the redirection URL returned by the real
service to an HTTPS-type virtual service is an HTTP-type URL.
1. Add an HTTP response rewrite rule for the specified HTTP profile using the
“http profile rewrite response header location” command.
2. View the HTTP response rewrite rule for the specified HTTP profile using the
“show http profile rewrite response header location” command.
The system supports the function of inserting the client IP address into HTTP requests
for the specified HTTP profile. After this function is enabled for an HTTP profile that
is applied to a security service, client IP addresses that hit the security service will be
forwarded to real services associated with the security service. By default, this
function is disabled.
The following uses the HTTP header to forward the client IP address as an example.
1. Use the “http profile insert request xforwardedfor on” command to enable the
function of inserting the client IP address into HTTP requests for the specified
HTTP profile.
2. Use the “show http profile insert request xforwardedfor” command to display
the configuration of this function.
The HTTP-type and HTTPS-type security services support the HTTP access logging
function. After this function is enabled, the system records client access logs for the
security service. By default, this function is disabled.
Execute the “http accesslog on” command to enable the HTTP access logging
function for a HTTP-type or HTTPS-type security service.
The system supports configuring the hostnames that are allowed to access for the
HTTP-type or HTTPS-type security service.
When any allowed hostname is configured for a security service, the system allows
users to access only allowed hostnames. When no allowed hostname is configured for
a security service, the system allows users to access all hostnames of the security
service.
Execute the “http host allow” command to configure an allowed hostname for an
HTTP-type or HTTPS-type security service
Execute the “no http host allow” command to delete an allowed hostname configured
for an HTTP-type or HTTPS-type security service
The administrator should configure a URL monitor object for a specified HTTP-type
or HTTPS-type security service. A maximum of 100 URL monitor objects can be
configured for a security service. The URL monitor object supports both quick and
full regular expressions. When the value is set to a regular expression, it must be
enclosed by double quotes. The string of the full regular expression must begin with
“<regex>” to differentiate from the quick regular expression. When the value is not
using regular expression, it must begin with “/”. To ensure the correctness of the
configured regular expression, the administrator can use the “regextest <regex>
<target_string>” command to test whether a target string can match the configured
regular expression. It can defend the secutiy services against CC attacks against by
using together with the “ddos profile service rule http urlmonitor” command.
1. Execute the “http urlmonitor” command to add a URL monitor object for a
HTTP-type or HTTPS-type security service.
2. Execute the “ddos profile service rule http urlmonitor” command to configure
a URL monitoring rule for a HTTP-type or HTTPS-type security service.
When the RPS of the URL monitor object exceeds the set threshold 10000, and the
access rate of this URL monitor object in all URL monitor objects exceeds the set
threshold 30%, it triggers the system to perform source authentication against the
client that accesses this URL. The source IP addresses of the clients who failed to pass
authentication will be distributed to the system dynamic blacklist.
3. Execute the “show http urlmonitor rule” and “show http urlmonitor status”
commands to display all the URL monitor objects and the running status of the
URL monitoring function of a security service.
3. Execute the “show http urldetect running” command to view the real-time
detection result of the URL detection of the specified HTTP-type or HTTPS-type
security service.
4. Execute the “show http urldetect savefile” command to view the URL detection
result of the latest week saved for the specified HTTP-type or HTTPS-type
security service.
The system provides the error page customization function. This function allows the
administrator to customize the error page returned by the system and the backend
server. Both HTTP-type and HTTPS-type security service support this function.
To use this function, the administrator should import a customized error page and set
this page as the error page for the specific error code of the security service.
2. Executes the “http errpage apply” command to configure the customized error
page for the specified HTTP-type or HTTPS-type security service.
The system provides the HTTP real source IP detection function. After this function is
enabled, the system can retrieve the real source IP by resolving specific request
headers (configured using the “http realsource request” command), such as
X-Forwarded-For and X-Real-IP. When a proxy device is deployed upstream, the
administrator can use this function to improve the attack traceability and attack
blocking accuracy.
2. Executes the “http realsource on” command to enable the real source detection
function.
The system supports the HTTP compression forbidding function. After this function is
enabled, if the Accept-Encoding header value of the client request contains any
compression value (such as compress and gzip), the system will change the header
value to a non-compression value (identity). For every HTTP/HTTPS-type security
service, this function is enabled by default.
Some defense rules, such as CSRF, DLP and content filter, require deep parsing of the
response body, and the response body must be uncompressed. Therefore, if the
security service needs to use these defense rules, you must enable this function for it.
The system supports forwarding the complete client certificate or the client certificate
field to the backend server for a security service of the HTTPS protocol type to
implement the business logic, such as access control, auditing, credential binding or
user authentication. Before using this function, the administrator should enable the
client authentication function (using the “ssl settings clientauth” command) for the
SSL virtual host associated with the security service.
Set the name of the inserted request header. The default value is “X-Client-Cert:”.
Set the format of the inserted certificate, which can be a complete PEM-format
certificate or body of the PEM-format certificate (not including the begin line, the
end line or the seperator).
Set the separator used to separate the PEM-format certificate. The default value is
“;”.
3. Execute the “http xclientcert pemsep” command to to set the separator used to
separate PEM certificates when inserting a PEM certificate in the HTTP request.
The system supports forwarding the following standard certificate fields to the
backend server:
Subject
Issuer
Validity
Serial
NotBefore
NotAfter
CommonName
Publickey
The system also supports forwarding the content specified by the custom Relative
Distinguished Name to the backend server. The format of the Relative Distinguished
Name is “<scope>.<symbol or OID>” or “<OID expression>”.
Scope Description
The value of the symbol or specific OID will be searched in the client certificate’s
Subject
subject DN.
The value of the symbol or specific OID will be searched in the client certificate’s
Issuer
issuer DN.
The value of the symbol or specific OID will be searched in the client certificate’s
Ext
external field. The client certificate must be in the SSL v2.0 or SSL v3.0 version.
The value of the specific OID will be searched in the client certificate’s TBS (To
OID or <null>
Be Signed).
The value of “symbol” and the corresponding OID are shown in the following table:
2. Execute the “http xclientcert rdnsep” command to set the RDN separator.
The security service supports the following two request body detection modes:
“stream”: indicates that the system will not buffer request bodies, but directly
forward them to the server.
“buffer”: indicates that the system will buffer request bodies and will forward
them to the server until complete request bodies are received.
The default request body detection mode of the security service of HTTP/HTTPS type
is “buffer”.
You can set the length threshold for the request body detection of the security service
of HTTP/HTTPS type. The default length threshold is 13,107,200 bytes.
To set the request body detection mode for the security service of HTTP/HTTPS type,
execute the following command:
To set the length threshold for the request body detection of the security service of
HTTP/HTTPS type, execute the following command:
The security service of HTTP/HTTPS type supports the following two response body
detection modes:
“stream”: indicates that the system will not buffer response bodies, but directly
forward them to the client.
“buffer”: indicates that the system will buffer response bodies and will forward
them to the client until complete response bodies are received.
The default response body detection mode of the security service of HTTP/HTTPS
type is “buffer”.
You can set the length threshold of the response body detection for the security
service of HTTP/HTTPS type. The default length threshold is 65,536 bytes.
You can set the MIME types supported by the response body detection for the
security service of HTTP/HTTPS type. The default MIME types supported are
“text/plain:text/html:text/xml:application/xml”.
To set the response body detection mode for the security service of HTTP/HTTPS
type, execute the following command:
To set the length threshold of the response body detection for the security service of
HTTP/HTTPS type, execute the following command:
To set the MIME types supported by the response body detection for the security
service of HTTP/HTTPS type, execute the following command:
The system now supports enabling the connection reuse function for real services, that
is, reusing server connections for multiple transactions. After this function is enabled,
each server connection can deal with multiple transactions. This function takes effect
only after the connection persistence function is enabled (by the “http serverpersist
on” command). By default, this function is enabled.
The system now supports enabling the conneciton persistence function for real
services, that is, keeping persistent connections to the real service. After this function
is enabled, the appliance will insert the Keep-Alive header into HTTP requests before
forwarding them to the real service. Then the connections to the real service will
persist. By default, this function is enabled.
To enable the connection reuse function for a real service, execute the following
command:
To disable the connection reuse function for a real service, execute the following
command:
To enable the connection persistence function for a real service, execute the following
command:
AN(config)#http serverpersist on rs
To disable the connection persistence function for a real service, execute the
following command:
Domain monitoring
The DNS domain is the defense object of DNS Application Firewall (DAF). The
system allows the administrators to create DNS domain names or to import DNS
domain files, which contain a list of DNS domain names. A maximum of 1000 DNS
domain names can be created and a maximum of 10 DNS domain files can be
imported. Every DNS domain file can contain a maximum of 5000 domain names and
should not be greater than 10 MB.
Note: The created DNS domain names and the domain names in the DNS domain
files should not duplicate.
The system supports the DNS domain filter function, which controls the clients’ query
on domain names. With this function enabled, if the client DNS query matches a DNS
domain filter rule, the system will perform the action defined in the rule. If not
matching any DNS domain filter rule, the system will perform the default action. By
default, this function is disabled.
The administrators can configure the DNS domain filter rule for a specified DNS
domain name or DNS domain file. The priority of the DNS domain filter rule’s action
is higher than the default action.
In addition, the system supports violation logging for the DNS domain filter function.
With this function enabled, if a client DNS query violates the DNS domain filter
function, the system will record a domain filter violation log.
Delete a DNS domain filter rule configured for a DNS domain name.
Delete a DNS domain filter rule configured for a DNS domain file.
Enable the DNS domain filter function and set the default action.
The system supports the DNS domain rate limiting function, which limits the client
DNS query rate. With this function enabled, the system will limit the client DNS
query rate according to the DNS domain rate limiting rules. By default, this function
is disabled.
The administrators can configure the DNS domain rate limiting rule for a specified
DNS domain name, DNS domain file or the global (all DNS domain names as a
whole). The priority of the DNS domain rate limit rules configured for the DNS
domain name or DNS domain file is higher than that configured for the global.
Configure a DNS domain rate limiting rule for a DNS domain name.
Configure a DNS domain rate limiting rule for a DNS domain file.
Delete a DNS domain rate limiting rule configured for a DNS domain name.
Delete a DNS domain rate limiting rule configured for a DNS domain file.
Delete the DNS domain rate limiting rule configured for the global.
The system supports the DNS domain monitoring function, which monitors the status
of key domain names. The system will record the domain monitoring results to the
database every 30 seconds. By default, this function is disabled.
Enable the DNS domain monitoring function for a DNS domain name.
Enable the DNS domain monitoring function for a DNS domain file.
Disable the DNS domain monitoring function for a DNS domain name.
Disable the DNS domain monitoring function for a DNS domain file.
7.1 Overview
The system supports setting up the SSL (Secure Sockets Layer) acceleration
functionality to provide secure transactions with your clients. The SSL acceleration
working mode is to decrypt the security data and pass the decrypted information to the
backend server. In an alternative mode the SSL accelerator can be used to decrypt the
secure traffic, apply traffic management processing on decrypted traffic and then
encrypt it back before passing it to SSL enabled origin server.
7.2.1 Cryptography
SSL protects confidential information through the use of cryptography. Sensitive data
is encrypted when passing cross public networks to achieve a level of confidentiality.
There are two types of cryptographic algorithms, symmetric and asymmetric
algorithms.
For the symmetric algorithm, encryption and decryption use the same secret key.
The secret key is determined by both parties of the communication, but it might
be intercepted by a third party. Therefore, in actual applications, the secret key is
always encrypted by an asymmetric algorithm and then delivered. Commonly
used symmetric algorithms include DES and AES.
RSA algorithm
RSA is the most commonly used asymmetric cryptography. Its security increases with
the key length’s increase. Gradual increases in the RSA key length has slowed down
the algorithm’s computation speed.
ECC algorithm
Compared with the RSA algorithm, the ECC algorithm provides the same level of
confidentiality with shorter key lengths.
SM2 algorithm
SM2 is a public key algorithm based on elliptic curves, published by the Office of
State Commercial Cryptography Administration (OSCCA) of China. Beginning with
SM2v1.1, SM2 employs the dual-certification system. An SSL server needs two
certificates, a signature certificate and an encryption certificate. The corresponding
key pairs are the signature key pair and the encryption key pair.
The signature certificate is used for identity verification during SSL handshakes.
In the process of server certificate verification, the server will send the two SM2
certificates via the Server Certificate message, and use the private key of its signature
key pair to do signature in the Server Key Exchange message. The client will confirm
the server’s identity by using the public key of the server’s signature key pair to verify
the signature.
If the server needs to verify the client’s certificate, the client will send the two SM2
certificates via the Client Certificate message and use the private key of its signature
key pair to do signature in the follow-up Client Certificate Verify message. The server
will confirm the client’s identity by using the public key of the client’s signature key
pair to verify the signature.
In the ECC key exchange mode, the client will generate the premaster secret key,
encrypt it using the public key of the server’s encryption key pair, and then send it to
the server via the Client Key Exchange message. The server will use the private key
of its encryption key pair to obtain the plaintext of the premaster secret key.
In the ECDHE key exchange mode, after the client sends the Client Key Exchange
message to the server, each of the communicating parties will generate the premaster
secret key by themselves.
In client certificate authentication section, the client will send a digital signature to the
server via the Certificate Verify message. This digital signature is to enable the server
to confirm the identity of client. The server will use the public key in the client
certificate to validate the digital signature.
The following table lists the signature algorithms supported by SSL virtual hosts.
Certificates contain information identifying the user or device. They are digital
documents that will attest to the binding of a public key to an individual or other
entity. They allow verification of the claim that a specific public key does, in fact,
belong to the specified entity. Certificates help prevent someone from impersonating
the server with a false key. SSL uses X.509 standard certificates to validate identities.
X.509 standard certificates contain information about the entity, including public key
and name. A certificate authority then validates this certificate. The following table
lists the contents of the X.509 certificate:
Name Meaning
Indicates the certificate version number. Certificate format varies by
Version
versions.
Indicates the certificate serial number, which is unique among all
Serial Number
certificates issued by an authority. If a certificate is revoked, its serial
Name Meaning
number will be added to the Certificate Revocation List (CRL).
Signature algorithm Indicates the signature algorithm used to generate the signature.
Indicates the thumbprint and thumbprint algorithm. Thumbprint is a
Thumbprint,
hashed value of the entire certificate calculated by the thumbprint
Thumbprint algorithm
algorithm and then encrypted by the private key of the CA.
The system supports three types of digital certificates: RSA, ECC and SM2
certificates.
Digital certificates are issued by CA. To obtain a certificate from CA, individuals or
enterprises need to send Certificate Signing Request (CSR) to CA, and then import
and activate the certificate. The system supports generation of RSA, ECC and SM2
CSRs for a virtual host.
Generating a CSR
To apply for an RSA certificate, execute the “ssl csr” command to generate an
RSA CSR.
To apply for an ECC certificate, execute the “ssl ecc csr” command to generate
an ECC CSR.
To apply for an SM2 certificate, execute the “ssl sm2 csr” command to generate
an SM2 CSR.
CA will send back the desired certificate via Email. After receiving the certificate,
administrators need to import it by using CLI commands.
Importing a certificate
– RSA and ECC certificates are imported using the “ssl import certificate”
command.
Activating a certificate
All RSA, ECC and SM2 certificates are activated by using the “ssl activate
certificate” command. It allows you to activate both types of certificates at a time or
only the specific type of certificate.
The number of certificates that can be imported and activated for a virtual host or a
real host is different.
If it is associated with one or more domain names, you can import three RSA
certificates, three ECC certificates for each domain of the virtual host. Each
domain of it can have one active RSA certificate and one active ECC certificate.
For a virtual host not associating with a domain name, you can import three RSA
certificates, three ECC certificates and three SM2 certificates. Besides, it can
have one active RSA certificate, one active ECC certificate and one SM2
certificate.
For a real host, you can import three RSA certificates and three ECC certificates. It
can have one active RSA certificate and one active ECC certificate.
The following is an example for importing and activate an RSA certificate and an
ECC certificate with index 2 for real host “rhost”.
TEOMAwGA1UECgwFQXJyYXkxCzAJBgNVBAsMAlBPMQswCQYDVQQLDAJQTzELMA
kGA1UECwwCUE8xDjAMBgNVBAMMBXZob3N0MRowGAYJKoZIhvcNAQkBFgthYmNA
MTI2LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMlV4+6s/0zYho
akPUNNwGdh1HCtOyKWpXl7vw6YLxQlKIvlEel69HsfIL1hKV+YmZOuY1istLPqBdxPqLniy
VIcttX9QpPJJYiRnaU/OjylWLKQt61yLGPrsTzrDKnv2KE9RTpe8MWEwgzy42pmW3Wptl6Y3
Xoox1k521gYVoDSfU+mqzwEFftclx0CD35v8TFbS0AP6js3iikZIddcZiMmtm87oSgQ0Q9Tn8jv
jNYXpLJ/BcEnGHFsAP1S5MFC8Wj7jNJ5wHNSPPpdePDnQ49j+E7Ah9XFY502svxbgUjEt1z
wu2CAVt4jvKTEU3tbWE+tGIjJpFtkFa4f3urUXvkCAwEAATANBgkqhkiG9w0BAQsFAAOBg
QB/CD9eCsXPllVqmCasL0XpeOF/pAgon6pgC4BVf1quZEb7C78IATQWrQJfHdYSZVQwXws
bg6YLHnpI+SdpoNwjsrd25K6AvCmBMANtqFighIwjcbNJqINGWWxZUIquHVmyD+L/53x2Ni
h4qJ5zjMfWzPbR7KbwF0cDJs1/YfMEwg==
-----END CERTIFICATE-----
...
PEM format.
Certificate import successful !!!
Warning: RSA certificate chain is incomplete for rhost. Please add interca or rootca certificate.
RSA Certificate #2 is activated successfully!
Warning: ECC certificate chain is incomplete for rhost. Please add interca or rootca certificate.
ECC Certificate #2 is activated successfully!
When the system functions as an SSL proxy client (SSL real host), if client
certificate authentication is enabled for the SSL real host, it will send its
certificate to the real service. In this scenario, if the SSL real host has both RSA
and ECC certificates activated, it will select the certificate to be sent according to
the following principles:
When the system functions as a proxy server (SSL virtual host), the SSL virtual
host with client certificate authentication enabled will request the SSL client to
provide a certificate for authentication.
Configuration Example
Prerequisites:
A private key and the corresponding certificate have been imported for the
specified SSL virtual host, and the certificate has been activated.
2. Add the SSL virtual hosts “vshost1” and “vshost2” and associate them with the
virtual service “vs_service1” and “vs_service2” respectively.
Associate the domain “www.a.com” and “www.b.com” with the SSL virtual host
“vshost1” and “vshost2”.
For how to get the private key and certificate and other ways to import the private key
and certificate, refer to section 7.3.2 Configuration Example.
WwU2hyREMjGi+6k5nq5gecnTSJSTk8q3ori+1jooOfgvRV72x/e3hGRFIysKb15J
1xeyUHFjtNJIHlEVjNg2XURXIRDO+qatI0cnvW1sYbuQodat0jGzpP/oOxGVcRsg
kTuP8xObpUou0RevvZVbfYHWsdWZnY5qhLjje1UGKUu8HwaMp3Q7OJ7pper7TOAXCkiVn
1zHgeFkB4p2lGwCHxbdNJg7ee5U2HFiSoC/8P8G64kIkEfxuMFwzkaVlia+Anf40WlBcvixZaN
ZqHkZdcfJGlqKnqnpcJWiyLd8oPr3npYu6+c1PyHiyEua67nEzK5G4KVFacW0POPLHfj/Q1yM
qYcWySyecJvtq0jxYLujGH6qckLhMMltdptCfFvZ6gfncRanNWEU+2v+nc509XKv9zJeR58Ws
Ah81AN7aChuEBj69cjL4HwOtk3nttVmpr5+cluF6mpbk2rJuZ14l+Hwc63XRAaHXV0bIQfo+rQ
BIWHkItvN4S2a0G23IC9N32Y1qTqQgoj9qxSXvw1oKmV+UcVjtt78GyT3m7pYPtNc/wdehUP
rR4Lc8hSiV3m29ZGIoNpdhVgCGw/MM65tr3dRZfYcG8cPJ4pk/3WKq9OfznlugAxo4KWebea5
1CaT4YBMO5nETHT9WesX9viiKtbhPaAIKQOd4Rwcs5FK0ETHSfBBpW0tsXw562s6QnNSm
nWuoksvqqXqCbnuNSz611z3dOhiLwHdqCqLEDNEhv231ielOk1qoUo+ad0eiM0ETrP6Zyw+j6i
9K71sSe28Zm4gVQMnSHxGyp0K+zK3cYs=
-----END RSA PRIVATE KEY-----
...
PEM format.
Enter passphrase for the private key:
kGA1UECwwCUE8xDjAMBgNVBAMMBXZob3N0MRowGAYJKoZIhvcNAQkBFgthYmNA
MTI2LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMlV4+6s/0zY
hoakPUNNwGdh1HCtOyKWpXl7vw6YLxQlKIvlEel69HsfIL1hKV+YmZOuY1istLPqBdxPqLn
iyVIcttX9QpPJJYiRnaU/OjylWLKQt61yLGPrsTzrDKnv2KE9RTpe8MWEwgzy42pmW3Wptl6
Y3Xoox1k521gYVoDSfU+mqzwEFftclx0CD35v8TFbS0AP6js3iikZIddcZiMmtm87oSgQ0Q9Tn
8jvjNYXpLJ/BcEnGHFsAP1S5MFC8Wj7jNJ5wHNSPPpdePDnQ49j+E7Ah9XFY502svxbgUjEt
1zwu2CAVt4jvKTEU3tbWE+tGIjJpFtkFa4f3urUXvkCAwEAATANBgkqhkiG9w0BAQsFAAOB
gQB/CD9eCsXPllVqmCasL0XpeOF/pAgon6pgC4BVf1quZEb7C78IATQWrQJfHdYSZVQwXw
sbg6YLHnpI+SdpoNwjsrd25K6AvCmBMANtqFighIwjcbNJqINGWWxZUIquHVmyD+L/53x2
Nih4qJ5zjMfWzPbR7KbwF0cDJs1/YfMEwg==
-----END CERTIFICATE-----
...
PEM format.
Certificate import successful !!!
WwU2hyREMjGi+6k5nq5gecnTSJSTk8q3ori+1jooOfgvRV72x/e3hGRFIysKb15J
1xeyUHFjtNJIHlEVjNg2XURXIRDO+qatI0cnvW1sYbuQodat0jGzpP/oOxGVcRsg
kTuP8xObpUou0RevvZVbfYHWsdWZnY5qhLjje1UGKUu8HwaMp3Q7OJ7pper7TOAXCkiVn
1zHgeFkB4p2lGwCHxbdNJg7ee5U2HFiSoC/8P8G64kIkEfxuMFwzkaVlia+Anf40WlBcvixZaN
ZqHkZdcfJGlqKnqnpcJWiyLd8oPr3npYu6+c1PyHiyEua67nEzK5G4KVFacW0POPLHfj/Q1yM
qYcWySyecJvtq0jxYLujGH6qckLhMMltdptCfFvZ6gfncRanNWEU+2v+nc509XKv9zJeR58Ws
Ah81AN7aChuEBj69cjL4HwOtk3nttVmpr5+cluF6mpbk2rJuZ14l+Hwc63XRAaHXV0bIQfo+rQ
BIWHkItvN4S2a0G23IC9N32Y1qTqQgoj9qxSXvw1oKmV+UcVjtt78GyT3m7pYPtNc/wdehUP
rR4Lc8hSiV3m29ZGIoNpdhVgCGw/MM65tr3dRZfYcG8cPJ4pk/3WKq9OfznlugAxo4KWebea5
1CaT4YBMO5nETHT9WesX9viiKtbhPaAIKQOd4Rwcs5FK0ETHSfBBpW0tsXw562s6QnNSm
nWuoksvqqXqCbnuNSz611z3dOhiLwHdqCqLEDNEhv231ielOk1qoUo+ad0eiM0ETrP6Zyw+j6i
9K71sSe28Zm4gVQMnSHxGyp0K+zK3cYs=
-----END RSA PRIVATE KEY-----
...
PEM format.
Enter passphrase for the private key:
Name Meaning
An SSL virtual host is associated with virtual services. An SSL virtual host
Virtual Host acts as an SSL server and is used to communicate by using SSL between
browser and ASF appliance.
An SSL host associated with an SLB real. An SSL real host acts as an SSL
Real Host client and is used to communicate by using SSL between ASF Advanced
SSL Configuration for SSL Real Host.
Original Server A backend server that will accept clear-text or encrypted requests.
Clear-text Any traffic that is not encrypted.
Virtual Host Port The port that SSL virtual host will listen on. Typically port 443 is used.
A private key that is stored on the ASF appliance for PKI (Public Key
Key (private) Infrastructure) authentication purposes. The maximum length of the key
supported by the system is 4096 bits.
This is used for authentication purpose and to help set up secure
Certificate
communications between the appliance and the browser.
Certificate A certificate authority is an entity that will create a certificate from a CSR
Authority (CA) (Certificate Signing Request).
Current Web Browsers have a list of known CA’s public keys that are used
Trusted Certificate to verify certificates authenticity. If the browser cannot identify the CA it
Authority will inform the user. In a similar manner the ASF appliance also maintains a
list of Trusted Certificate Authorities to verify certificates.
In this example, for our SSL purposes “www.example.com” is the SSL virtual host.
This SSL virtual host is associated with a virtual service using IP 10.10.0.10 and port
443.
The first method applies if you have never set up SSL, and you will need to walk
through the whole process of setting up the SSL virtual host and generation of a
CSR to send to the CA of your choice. The CA will send you a signed certificate
that you will then import it.
The second method applies if you already have a key and certificate, and you can
skip the CSR step and import your key and certificate.
Operation Command
Create an SSL ssl host virtual <virtual_host_name> [virtual_service_name]
Operation Command
virtual host and ssl host real <real_host_name> [virtual_service_name]
real host
ssl csr <virtual_host_name> [key_length] [certificate_index]
[signature_algorithm_index] [domain_name]
ssl ecc csr <virtual_host_name> [curve_name] [certificate_index]
[signature_algorithm_index] [domain_name]
Import certificate
ssl import certificate <host_name> [certificate_index] [domain_name]
and key for SSL
[tftp_ip] [file_name]
virtual host
ssl import key <host_name> [certificate_index] [domain_name] [tftp_ip]
[file_name]
ssl activate certificate <host_name> [certificate_index] [domain_name]
[certificate_type]
ssl stop <host_name>
ssl settings ciphersuite <host_name> <cipher_string>
ssl settings protocol <host_name> <version>
ssl settings reuse < host_name>
ssl settings clientauth <host_name>
ssl settings certfilter <virtual_host_name> <condition_1> [condition_2]
ssl import rootca [host_name] [domain_name] [tftp_ip] [file_name]
Advanced
ssl settings crl offline <host_name> <cdp_name> <cdp_url>
configuration for
[domain_name] [time_interval] [delay_time]
an SSL virtual host
ssl settings crl online <virtual_host_name>
ssl settings ocsp <virtual_host_name> <ocsp_server_url>
ssl settings minimum <virtual_host_name> <cipher_strength>
<redirect_url>
ssl start <host_name>
ssl import error <error_code> <url> [virtual_host_name]
ssl load error <error_code> [virtual_host_name]
ssl settings ciphersuite <host_name> <cipher_string>
ssl settings protocol <host_name> <version>
Advanced
ssl settings reuse <host_name>
configuration for
ssl settings clientauth <host_name>
an SSL real host
ssl import rootca [host_name] [domain_name] [tftp_ip] [file_name]
ssl settings servername <real_host_name> <common_name>
Import certificate and key for the new SSL virtual host
The following configuration illustrates an example for applying for, importing and
activating an RSA key and certificate for virtual host “www.example.com”.
wdujSDj5KxO5rKkSutslaqfsIbpr85nGKFqxrBxpy0lFs6NegztSV0dCc/Dt3iVaAqLEgeVmdFA9Z
bcpwHecQmeg1D200GmpsU3T2xiqM0mDc7jmRywWenCJkRWmO3EWeO9N5mbbeoOUs4Kel
KvVayMe2k9YvArSmOa3NHzyTQ1Zhqc80Q6Jg7mSw6B9et0JpKIim+3Hw12ULOdhIDijLOa8
GiDdhuL4J5FBDW0wY8Jl+YKeW7r8GDldENP1bdvWDdDkI0zHhVuwPDOuAcwWj23gT7jLo
wcNYRNIVW5RGrXHjlfb9UXKqMboJmpp+
-----END CERTIFICATE REQUEST-----
Warning: RSA certificate chain is incomplete for www.example.com. Please add interca or rootca
certificate.
Besides the RSA CSR, this command also generates an RSA key pair and a testing
certificate for virtual host “www.example.com”. The testing certificate is used for
testing purpose only. To use it for testing or demonstration, you can directly start the
SSL virtual host.
Now, you can connect to the website securely via a web browser.
-----BEGIN CERTIFICATE-----
MIICnjCANgcANgEUMA0GCSqGSIb3DQEBBAUAMIG5MQswCQYDVQQGEwJVUzETMB
EGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxHDAaBgNVBAoTE0
NsaWNrQXJyYXkgTmV0d29ya3MxFDASBgNVBAsTC0RldmVsb3BtZW50MSMwIQYDVQ
QDExpkZXZlbG9wbWVudC5jbGlja2FycmF5LmNvbTEpMCcGCSqGSIb3DQEJARYaZGV2Z
WxvcG1lbnRAY2xpY2thcnJheS5jb20wHhcNMDIwMjEzMTgwMTI5WhcNMDMwMjA4MTgw
MTI5WjB0MQswCQYDVQQGEwJVUzEMMAoGA1UECBMDRE9EMQwwCgYDVQQHEw
NET08xCzAJBgNVBAoTAkRPMQswCQYDVQQLEwJETzETMBEGA1UEAxMKMTAuMTIu
MC4xNDEaMBgGCSqGSIb3DQEJARYLbWhAZGtkay5jb20wgZ8wDQYJKoZIhvcNAQEBBQ
ADgY0AMIGJAoGBAMx4r+ae4kTZggtyU047OsKUyqCt+V1MHgTPTpVxdtxYhSTSOZwYIX
gRqBEdJvs2/ua1XZRzLOCTa58VI/8I3derAPqz79WpBRsxD25rCT1rzmalfkTea3V8jHJYP6Yin
DTWKFKztxeUclkzukzPUZO6M0fI5ToXNuLEe+IwvOkfAgMBAAEwDQYJKoZIhvcNAQEEB
QADgYEAodV5O0LKUr/O0BbxOnwmyP/DkLj4bpe9XxQO6B4psDey/+xBHs6tgGKuy8spbcJ4
pQc+5KLydK1ZYcTkbxJq41K4RHM11OClXVjm3xRhqKQnjzNboExIvkZsKIBbfLkBrM1eBnE
aiYWXmsYGfxPkwdhKlQCLQgN+G3IKu2cRQLU=
-----END CERTIFICATE-----
Note: Be cautious when configuring SSL. It is imperative that you do not delete the SSL
virtual host before importing the certificate received from CA. Otherwise, you will have to
send another CSR to CA to re-apply for a certificate. Fortunately, most CAs provide a
30-day trial period for getting another certificate in case that something goes wrong. If the
trial period elapses, you have to pay for another certificate.
3. Execute the “ssl import certificate” command to import the received certificate
for the SSL virtual host.
You can also import the certificate from a remote TFTP server, which needs the TFTP
server’s IP address and certificate file name (“example.crt” in this case).
Note:
Available key and certificate files can be directly imported into an SSL virtual host using
the “ssl import key” and “ssl import certificate” commands (without applying for a
certificate using CSR). These commands support copy and paste of the key or certificate
content into the command prompt or import of the files from a remote TFTP server.
Whichever method is used, note following principles:
The key file must be imported first and then the certificate file.
Keys and certificates in non-PEM format can only be imported using the TFTP
method.
Note: The system will check the certificate chain when the certificate is activated. A
warning message, stating that the certificate chain is incomplete, will be printed if its root
CA certificate or intermediate CA certificate cannot be found in the virtual host’s global
trusted CA file or intermediate CA file. These certificates can be imported by using the
“ssl import rootca” and “ssl import interca” commands.
Import Certificate and Key from IIS and NS iPlanet Web Servers
IIS
If you are using the Microsoft IIS server, the ASF appliance will allow you to import
the certificate from IIS versions 4 and 5 through TFTP mechanism. IIS stores the SSL
key and certificate in the same file. This file is in .PFX format. You need to put this
file onto a TFTP server in its root directory and rename it as <host_name>.crt. This
file then can be imported into ASF appliance through the “ssl import certificate”
command. This command takes TFTP server IP address as an extra argument.
This command will download a file that is named “<host_name>.crt”. In our case it is
“www.example.com.crt” from the TFTP server (10.10.0.3).
After importing the certificate successfully, you can activate the certificate via the
command “ssl activate certificate”.
Once the certificate and key import is successful through TFTP server, you need to
start the SSL subsystem with the “ssl start” command.
If you are using the Netscape or iPlanet servers, the ASF appliance will also allow
you to import the certificate and key. The iPlanet server stores the key/cert pair in the
directory /<serverroot>/alias/ where <serverroot> is the directory where the server is
installed. In that directory there will be two files of the form
<serverid-hostname>-key3.db and <serverid-hostname>-cert7.db. You will need to
copy the first file to your TFTP server's root directory and rename it as
“<vhostname>.key”. For the cert file, rename it as “<vhostname>.crt”. Ensure that the
renaming is correct, or the SSL subsystem will not load them correctly.
Note: You must first import the certificate and then import the key when importing an SSL
cert/key pair from iPlanet.
After importing the certificate successfully, you can activate the certificate via the
command “ssl activate certificate”.
The system allows you to use the SSL subsystem to talk to SSL enabled real servers.
This allows an encrypted transaction between the ArrayOS and the backend servers.
Configuration of SSL real host is very simple and can be explained as follows:
1. Use the “security service name” command to add an HTTPS-type virtual service
“vshost1”, use the “security real service” command to add a real service
“rhost1” and use the “security service policy static” command to associate
them.
2. Use the “ssl host real” comamnd to define an SSL real host and associate it with
the real service.
For example:
In the above example, please note that “rhost1” is our newly created real service,
which represents a backend server running on IP 192.168.1.50 and port 443 and is
capable of handling SSL requests. As a final step, we can start the SSL subsystem:
Now the system is configured to take full advantage of the SSL functionality while
communicating with the backend server.
SSL virtual host must be disabled before you change its configurations.
The following table lists the RSA, ECC (ECDHE-ECDSA...) and SM2 cipher suites
allowed for an SSL virtual host with different protocol versions. “Y” indicates that the
cipher suite is supported. “N” indicates that the cipher suite is not supported.
To enable multiple ciphers for a single SSL virtual host, you will need to separate
each cipher with colon (:).
SSL protocols can be set to SSLv3, TLSv1, TLSv11, TLSv12 or SM2v11, or a few of
them or all of them.
Note: Parameter value “TLSv11” stands for the TLSv1.1 protocol. TLSv12” stands for the
TLSv1.2 protocol , and “SM2v11” stands for the SM2v1.1 protocol.
This feature is enabled by default. You can disable it by using the “no ssl settings
reuse” command.
The ASF appliance supports the SSL based client authentication. If enabled, the ASF
appliance will require each client to present an SSL certificate for authorization,
before the client can access the SSL virtual host.
Note: If you enable SSL client authentication for an SSL virtual host, you must provide a
trusted CA certificate. This will be used by the ASF appliance to verify client certificates.
This command will prompt you to copy and paste the trusted CA certificate in PEM
format. You may configure multiple trusted CAs for one SSL virtual host.
Furthermore, the SSL virtual host will check the client certificate based on the
configured certificate filters (by using the command “ssl settings certfilter”). If the
client certificate fails the certificate verification, the SSL host will reject the client’s
access. At most three pieces of “certfilter” configuration (by using the “ssl settings
certfilter” command) can be configured for an SSL virtual host. The logical
relationship among the three pieces of “certfilter” configuration is “OR”. If the client
certificate does not match any piece of “certfilter” configuration, the SSL virtual host
will reject the client’s access.
The filters can be configured with any of the supported RDNs on the ASF appliances.
Table 1–1 Supported RDN on ASF
For example:
In this example, client certificates can pass the certificate verification only when the
following conditions are both met:
In the “subject” field, “C” is “US”, “O” is “Array”, “OU” is “QA” and
“emailAddress” is “[email protected]”.
ASF supports the CRL (Certificate Revocation List) function. You can configure the
ASF appliance to fetch the C+RL file periodically from a CRL Distribution Point
(CDP) by using HTTP, FTP or LDAP. The ASF appliance supports a maximum of 10
CDPs.
For our example, let’s consider a case when you have put your CRL file (Array.crl)
on an HTTP Web server (www.crldp.com) and you want to fetch it every one minute.
You can configure the ASF appliance as follows:
This will enable the ASF appliance to fetch the CRL file at the regular interval of one
minute from the “www.crldp.com” site.
You can also specify an FTP URL to download the CRL file.
You may also specify an LDAP URL to download the CRL file.
7. Configure OCSP for SSL virtual host to check the certificate validation online.
The system supports the OCSP (Online Certificate Status Protocol) protocol. You
may configure the system to validate the certificate on an OCSP server online.
For our example, configure an OCSP server (ocsp.crldp.com:8888) and to validate the
certificate online, you may configure the system as follows:
Note: The OCSP has top priority. When configured, the OCSP will validate the
certification by only checking the OCSP server.
The system provides you with a facility to redirect the weak clients (clients who are
not using strong ciphers) to another URL. You can specify the minimum strength of
the cipher as acceptance criteria. Any client that uses a cipher weaker than this will be
redirected to the configured URL.
For example, consider a scenario where you want to redirect all clients that does not
support cipher suites with at least 168 bits key length to a different site
“www.example2.com”.
SSL real host must be disabled before you change its configurations.
The following table lists the RSA and ECC (ECDHE-ECDSA…) cipher suites
allowed for an SSL real host with different SSL protocol versions. “Y” indicates that
the cipher suite is supported. “N” indicates that the cipher suite is not supported.
SSL protocols allowed to be set include SSLv3, TLSv1, TLSv11 and TLSv12. To set
multiple protocols, separate them with colons (:).
This allows you to enable SSL session reuses between the ASF appliance and
backend servers. This feature is enabled by default.
The ASF appliance can use SSL client authentication while communicating with the
backend server. If this setting is enabled, the ASF appliance will submit the client
certificate to the backend sever for authentication during SSL handshake.
Note: If you want to enable client authentication for an SSL real host, you will need to
import a certificate and key pair for the SSL real host. The SSL real host will present this
certificate to the backend server for authentication. This may be accomplished by using
the “ssl import certificate” and “ssl import key” commands for an SSL real host. These
two commands work exactly the same for an SSL virtual host and an SSL real host. For
detailed instruction on using these commands, please refer to the SSL virtual host
configuration described earlier.
If you want to verify the certificate of the real backend server, you will need to turn
on global settings for verifying the server certificate. In addition, make certain the
common name of the server certificate matches a specific name by running the
command “ssl settings servername”.
For example, if the certificate common name of the real server associated with the
real host “www.myreal.com” is “Myreal Inc.”, you can use the following command:
Since the SSL subsystem acts like a client to the real server, it has several root CA
certificates just like a common Web browser. If you are using a self-signed certificate,
or a certificate issued by your own local CA on your origin servers, then you need to
use the “ssl import rootca” command to import the self-signed certificate that is on
the real server or the local CA certificate.
The certificate must be in PEM format and is imported the same way you import a
PEM certificate. The ASF appliance will prompt you to cut and paste the text to the
terminal and enter “...” to accept the certificate.
You will need to activate the SSL real host to take advantage of all the configuration
steps taken to this point.
AN(config)#waf on
AN(config)#ddos on
The system supports enabling the traffic baseline-learning function for security zones
and security services and supports dynamically refreshing the automatic DDoS profile
of the defense objects based on the learning result. For the HTTPS-type security
service, only the HTTP traffic can be learned after the traffic baseline-learning
function is enabled, and the SSL traffic learning is not supported.
Note that before enabling the traffic baseline learning, ensure that there is at least 10
minutes for the current hour to be used for traffic baseline learning. Otherwise, traffic
baseline learning will be enabled from the next hour. In addition, the system writes
the learning result of each hour to the historical database after completing the hourly
traffic baseline learning.
The minimum learning period for traffic baseline learning is 24 hours, and the
recommended complete learning period is 7*24 hours.
Each hour is a time node, so 24 hourly time nodes are maintained every day, and the
system maintains the traffic baseline-learning result with 7*24 hourly time nodes in
memory.
There are two types of status for each time node: basic status and extended status.
Init: indicates the initial status when no traffic baseline learning is in progress.
Ready: After each hourly learning task is completed, the learning result for that
hour will be marked as “Ready”.
_ap: indicates that the traffic baseline-learning result of this time node is used to
refresh the current profile.
_db: indicates that the learning result of this time node has been stored in the
historical database. The system automatically stores the learning result (time
nodes already marked as “Ready”) into the historical database every hour.
_bk: indicates that a learning result backup operation has been performed at this
time.
_up: indicates that the statistics of the current network traffic have refreshed the
learning result of this time node. This status takes effect only when the traffic
baseline learning is enabled.
Traffic baseline learning builds the traffic model for a defense object by learning its
important data indicators, thus constructing the behavioral pattern of the defense
object. The traffic model of the current period provides predictive guidance for attack
detection in the next period.
For different defense objects, the traffic baseline learning can learn different data
indicators, as shown in the following table in detail.
The traffic baseline-learning result can be used to refresh the defense rules in the
automatic DDoS profile for the security zone and security services. The traffic
baseline-learning result is the peak value of the data indicator for the specified traffic
during the hour period. When the traffic exceeds this peak value, the system will
check and protect according to the rules refreshed automatically. Note that only the
traffic baseline-learning result whose status is “Ready” is used to refresh the defense
rules in the automatic DDoS profile. If the traffic baseline-learning result status is
Ready, but the learning result value is 0, the rules in the DDoS profile will be
refreshed to the system default value; if the traffic baseline-learning result status is not
Ready, the rules in the DDoS profile will remain unchanged.
Based on the traffic baseline-learning result, the automatic DDoS profiles of the
security zone and the security service can be dynamically refreshed every 1, 3, 6, 12,
or 24 hour(s). For example, if the system time is not modified and the time frequency
is 1 hour, the automatic DDoS profiles will be refreshed at 0, 1...23 o’clock. If the
time frequency is 3, it is refreshed at 3, 6, 9, 12, 15, 18, 21, and 0 o’clock.
If 7*24 hours of traffic learning has been completed, the system will check
whether the status of the learning result at the same time (hour) on the same date
is “Ready”. If yes, the traffic baseline-learning result of this time period will be
selected to refresh the defense rules in the automatic DDoS profile, otherwise
proceed to the next step.
If the system has learned for more than 24 hours but has not completed 7*24
hours, the system will check whether the status of the learning result in the same
period of the previous day is “Ready”. If there is a learning result with the status
“Ready”, the result will be used to refresh the defense rules in the automatic
DDoS profile, otherwise proceed to the next step.
If the system has not learned for 24 hours, the system will check whether the
status of the learning result in the previous period of the day is “Ready”. If there
is a learning result with the status “Ready”, the result will be used to refresh the
defense rules in the automatic DDoS profile, otherwise proceed to the next step.
The defense rules in the automatic DDoS profile are not refreshed.
If the learning result for refreshing the defense rules in the automatic DDoS profile is
already marked as “Ready”, but the value of a data indicator in the traffic
baseline-learning result is 0, the system then refreshes the threshold of the
corresponding defense rule in the automatic DDoS profile to the system default value.
In the above example, if the value of http.rps_get is 0, rps_alert will be reset to system
default value.
For security services, the function of the traffic baseline-learning result is as follows:
http.rps_get: used to refresh the rps_alert (alert threshold of HTTP GET RPS) of
the HTTP GET flood defense rule.
http.rps_post: used to refresh the rps_alert (alert threshold of HTTP POST RPS)
of the HTTP POST flood defense rule.
http.cc: used to refresh the cc_alert (alarm threshold of the concurrent connection
number) of the HTTP Slowloris and Slow Post defense rules.
dns.pps_query: used to refresh the pps_alert (packet rate threshold of DNS query)
of the DNS Query Flood defense rule.
dns.pps_reply: used to refresh the pps_alert (packet rate threshold of DNS reply)
of the DNS Reply Flood defense rule.
For the security zone, the function of the traffic baseline-learning result is as follows:
icmp.pps: used to refresh the pps_alert (Packet rate threshold of ICMP packet) of
the ICMP Flood defense rule.
tcp.pps_syn: used to refresh the pps_alert of the TCP SYN flood defense rule.
(Packet rate threshold of TCP SYN packet)
tcp.pps_ack: used to refresh the pps_alert of the TCP ACK flood defense rule.
(Packet rate threshold of TCP ACK packet)
tcp.pps_finrst: used to refresh the pps_alert of the TCP FIN/RST flood defense
rule. (Packet rate threshold of TCP FIN/RST packet)
tcp.pps_frag: used to refresh the pps_alert of the TCP fragment flood defense rule.
(Packet rate threshold of TCP fragment packet)
tcp.cc: used to refresh the cc_alert of the TCP connection flood defense rule.
(Concurrent TCP connection threshold)
tcp.cps: used to refresh the cps_alert of the TCP connection flood defense rule.
(New TCP connection rate threshold)
udp.pps: used to refresh the pps_alert of the UDP flood defense rule. (Packet rate
threshold of UDP packet)
udp.pps_frag: used to refresh the pps_alert of the UDP fragment flood defense
rule. (Packet rate threshold of UDP fragment)
When a 7*24 hour traffic baseline-learning result can reasonably reflect the actual
traffic model, the current 7*24 hour traffic baseline-learning result can be backed up
to the disk configuration file and the traffic baseline learning can be stopped. In this
way, when the device is rebooted or the system is upgraded, the previous traffic
baseline-learning result can still be used without having to re-trigger the learning task.
Note that the backup operation will overwrite the previously saved backup file.
The administrator can view the configuration summary of the traffic baseline learning
of the security zone and the security service by “show ddos traffic learning zone
summary” command and “show ddos traffic learning service summary” command.
3. Configure the tuning value used to periodically refresh the defense rule in the
automatic profile of the security zone based on the traffic baseline-learning result.
4. Create a task for the security zone to back up the latest 7*24h traffic
baseline-learning result whose status is “Ready” from memory to a disk
configuration file.
5. Restore the backup traffic baseline-learning result whose status is “Ready” in the
disk to the memory for the specified security zone.
6. View the latest 7*24h traffic baseline-learning result of the security zone and the
7*24h traffic baseline-learning result backed up in the disk file.
Sunday:
status hour icmp.pps tcp.pps_syn tcp.pps_synack
tcp.pps_ack tcp.pps_finrst tcp.pps_frag tcp.cc tcp.cps udp.pps
udp.pps_frag
init 0 0 0 0
0 0 0 0 0
0 0
init 1 0 0 0
0 0 0 0 0
0 0
init 2 0 0 0
0 0 0 0 0
0 0
--More--
7. View the summary of the current configurations of the traffic baseline learning
for the specified security zone.
3. Set the tuning value used to periodically refresh the defense rules in the automatic
profile of the security service based on the traffic baseline-learning result.
4. Back up the latest 7*24h traffic baseline-learning result in memory to the disk
configuration file for the security service.
5. Restore the backup traffic baseline-learning result whose status is “Ready” in the
disk to the memory for the security service.
6. View the latest 7*24h traffic baseline-learning result in the security service
memory and the 7*24h traffic baseline-learning result configuration backed up in
the disk file.
init 7 0 0 0
0 0
init 8 0 0 0
--More--
7. View the summary of the current configurations of the traffic baseline learning
for the security service.
1. Enable the service model learning task and configure the duration of the service
model learning by executing the “security service learning start
[duration_time]” command. When the traffic comes from the uplink port of the
system and is forwarded by the system, it will be learned by the service model.
2. View the learning result of the service model by executing the “show security
service learning” command.
Chapter 9 IP Reputation
9.1 Overview
IP reputation data is a kind of information used to describe the network behavior
characteristics of an IP address. It mainly records the negative network behavior
characteristics of the IP addresses, such as offensive characteristics (malware and
spam, etc.) and unhealthy network behavior characteristics (gambling, pornography,
and network deception, etc.). IP reputation data is collected and released by
professional threat intelligence venders to help security devices identify and filter
network threat traffic.
Array’s IP reputation function will keep updated with the latest IP Reputation Library
(IRL) synchronized from the Array Security Center.Therefore, the IP reputation
function can help users quickly detect, respond to and prevent various network and
application attack threats by using threat intelligence to improve rapid response
capability for security incidents.
Supports configuring alerts for IRL update events. For details, please refer to
15.4.7 IRL-update Event Alert section.
The following figure shows the working mechanism of the ASF appliance based on
the IP reputation function.
3. (Optional) ASF checks whether the source IP matches the IP whitelist function. If
it matches, the traffic will be released directly to access the real service.
4. ASF checks whether the source IP matches the IRL data. If it matches, it will be
processed according to the configured action (reject or log).
5. Client requests that have not been rejected access the real service.
AN(config)#ipreputation on
AN(config)#ipreputation log on
If the appliance imports a subscription license that includes the “IRLupdae” function,
it can automatically update the IRL from the Array Security Center in real time.
For the imported IP reputation data, the administrator can filter out low-score data
based on the reputation score to improve the overall IRL data quality for a specified
IP reputation profile.
Filter out the data in IRL whose reputation score is lower than 70 for a specified IP
reputation profile by the following command.
After enabling this function, the system will filter the source IP addresses accessing
the security service based on the IRL data. If client’s source IP matches the IRL data,
the system will perform the defense actions.
Currently, ASF supports the detection of IP reputation data with various categories
(botnet/cybercrime/gambling/malware/phishing/porn/scanner/spam/tor). And the
following two types of defense actions are supported:
log: only records IP reputation logs but not reject the request.
To configure IP reputation profile and defense rules, perform the following steps:
Note: Administrators can also use the “ ipreputation globalapply” command to apply the
IP reputation profile to all HTTP/HTTPS-type security services.
The TCP ACL rule supports two control modes and two control types.
Control Mode
– “total”: indicates that all the clients in the subnet will be controlled as a
whole by the ACL rule.
Control Type
– Cps Type: indicates that the TCP ACL rule will limit the CPS.
– Type: indicates that the TCP ACL rule will limit the CC.
When configuring the ACL rule, the administrator can combine the control mode and
control type as required. For the same subnet, four ACL rules can be combined, as
shown in the following table:
Mode
cps concurrent
Type
The total number of CPSs on all clients The total number of CCs on all
total in the subnet cannot exceed the clients in the subnet cannot exceed
maximum setting. the maximum setting.
The number of CPS of each client in The number of CC of each client
per-ip
the subnet cannot exceed the maximum in the subnet cannot exceed the
Mode
cps concurrent
Type
set. maximum set.
The system supports configuring one or more of the above combinations for the same
subnet. If multiple combinations are configured for a subnet, all these rules will take
effect.
Subnet Nesting
The ACL rule supports subnet nesting. If the IP address of the client hits multiple
subnets, the client will be limited by all rules of the minimum hit subnet and the
“total” rules of all the parent subnets of the minimum subnet. A maximum of 3
subnets can be configured for the system.
Example:
The rules to limit the clients in the 10.8.1.0/24 subnet are as follows:
When configuring TCP ACL rules, add TCP ACL rules and then apply the rules to a
single security zone and all security zones.
Example:
Example:
The UDP ACL rule supports two control modes and one control type.
Control Mode
– “total”: indicates that all the clients in the subnet will be controlled as a
whole by the ACL rule.
Control Type
– pps type: indicates that the number of packets per second will be controlled.
Subnet Nesting
The ACL rule supports subnet nesting. If the IP address of the client hits multiple
subnets, the client will be limited by all rules of the minimum hit subnet and the
“total” rules of all the parent subnets of the minimum subnet. A maximum of 3
subnets can be configured for the system.
Example:
The rules to limit the clients in the 10.8.1.0/24 subnet are as follows:
When configuring UDP ACL rules, add UDP ACL rules and then apply the rules to a
single security zone and all security zones.
Example:
Example:
The ICMP ACL rule supports two control modes and one control type.
Control Mode
– “total”: indicates that all the clients in the subnet will be controlled as a
whole by the ACL rule.
Control Type
– pps type: indicates that the number of packets per second will be controlled.
Subnet Nesting
The ACL rule supports subnet nesting. If the IP address of the client hits multiple
subnets, the client will be limited by all rules of the minimum hit subnet and the
“total” rules of all the parent subnets of the minimum subnet. A maximum of 3
subnets can be configured for the system.
Example:
The rules to limit the clients in the 10.8.1.0/24 subnet are as follows:
When configuring ICMP ACL rules, add ICMP ACL rules and then apply the rules to
a single security zone and all security zones.
Example:
Example:
The HTTP ACL rule allows the administrator to customize the HTTP traffic control
rule. The administrator can execute the “acl http rule” command to configure the
static HTTP ACL rule and apply the “acl http apply rule service” command to a
HTTP-type or HTTPS-type security service.
The HTTP ACL rule supports two control types: RPS control type and download
speed control type.
The HTTP ACL rule of the RPS control type conducts statistics on the HTTP RPS
number of a client or all clients in the subnet. When the number of HTTP requests
reach the specified threshold, the system takes the action specified in the rule for the
subsequent HTTP requests received, so as to prevent a large number of HTTP
requests from causing server overload and improve the availability of the server.
Matching Condition
The statistics of RPS is counted according to the matching condition set in the HTTP
ACL rule. When the HTTP request meets the following conditions, it will be counted
in the RPS count of the HTTP ACL rule.
The URL in the request matches the URL regular expression of the HTTP ACL
rule.
The HTTP request method matches the HTTP method setting of the HTTP ACL
rule.
all: indicates all HTTP request methods, that is, all HTTP requests are included in
the RPS.
GET, POST, HEAD, DELETE or PUT: The HTTP request using the specific
method is included in the RPS.
Processing Methods:
If the RPS count of the HTTP ACL rule reach the specified threshold, the system will
take measures for subsequent client requests received that match the rules. The system
supports two types of processing methods:
Returns the error page. By default, the appliance returns the build-in 480 error
page the system. The administrator can customize the format and content of the
error page by error page import or error page redirect. If a customized error page
is imported by using the “http errpage import” command, the appliance will
return the customized error page.
Configuration Example:
In this example, when the clients in the 10.8.6.0/24 subnet try to match the URL
address including “abc*”, a maximum of 1000 HTTP GET requests are allowed by
the system per second. For subsequent client requests that exceed this limit, the
system will return the built in 480 error page.
The HTTP ACL rule of the control download speed type detects the download speed
of a client or each client in the subnet and limits the download speed of each client
within the threshold configured in the HTTP ACL rule.
Matching Condition
The system detects the download speed of the client according to the matching
condition set in the HTTP ACL rule. When the HTTP request meets the following
conditions, the download speed will be controlled by the HTTP ACL rule:
The URL in the request matches the URL regular expression of the HTTP ACL
rule.
Configuration Example:
In this example, when the clients in the 10.8.6.0/24 subnet access the URL address
that matches “abc*”, the download speed cannot exceed 1000 Kbps.
Subnet Nesting
The HTTP ACL rule supports a maximum of 3 levels of subnet nesting. Each
HTTP-type or HTTPS-type security service can be associated with a maximum of 5
HTTP ACL rules corresponding to a subnet.
If the IP address of a client hits multiple subnets and the HTTP request matches
HTTP ACL rules corresponding to multiple subnets at the same time, the client will
be limited only by the HTTP ACL rule of the minimum subnet.
For example, the client IP address is 10.8.6.11, and the request matches following
rules:
The system will be limited by the HTTP ACL rule corresponding to the subnet
10.8.6.0/24.
If the request does not match any HTTP ACL rule corresponding to the subnet
10.8.6.0/24, the system will follow the HTTP ACL rule corresponding to the subnet
10.8.0.0/16.
In the DNS scenario, the DNS ACL rule controls the number of DNS query request of
the security service through the RPS threshold.
The DNS ACL rule allows the administrator to customize the control rule of the DNS
traffic, and the administrator can execute the “acl dns rule” command to configure
the static DNS ACL rule, and apply the “acl dns apply rule service” command to a
DNS-type security service.
Control Mode
The control mode indicates the effective range of the DNS ACL rule in the specific
subnet. There are “total” and “per-ip” modes.
– “total”: indicates that all the clients in the subnet will be controlled as a
whole by the DNS ACL rule.
Matching Condition
The statistics of RPS is counted according to the matching condition set in the DNS
ACL rule. When the DNS query request meets the following conditions, it will be
counted in the RPS of the DNS ACL rule.
The DNS query request matches the types of the DNS resource records set in the
DNS ACL rule.
The appliance supports the DNS resource records of the following types:
A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO,
MINFO, MX, TXT, AAAA, ANY: Only the DNS query request of the specified
type will be included in the RPS.
Configuration Example:
In this example, for any client in the 192.168.0.0/16 subnet, if the number of DNS
query requests of the AAAA type initiated by the client per second reaches 100, the
system will discard the subsequent DNS query requests of the AAAA type received
from this client.
10.6 IP Whitelist
The IP whitelist records all IP addresses that are granted the access. The system
supports the manual and automatic IP whitelists.
After this function is enabled, the system will check the source IP addresses of all
packets. If a source IP address matches any manual or automatic IP whitelist entry,
the packet will be fast forwarded by the system and stay free from the limitation
imposed by the defense function afterwards. The manual IP whitelist has a higher
priority than the automatic IP blacklist. By default, this function is disabled.
The manual and automatic IP whitelists can take effect only when the IP whitelist
function is enabled.
AN(config)#acl whitelist on
The administrator can manually add IP addresses or subnets to the manual IP whitelist,
or import an IP whitelist file from the external URL address, apply it to the manual IP
whitelist and set the timeout.
Configuration Example:
Add the “192.168.0.0/24” subnet to the manual IP whitelist and set the timeout to 10
minutes.
The system will enable the function of dynamically generating automatic IP whitelists
for the security service and security zone by using the “ddos profile service wl_auto
on <application_profile_name>” and “ddos profile zone wl_auto on
<network_profile_name>” commands.
When this function is enabled, the client IP address is added to the automatic IP
Whitelist after it is confirmed as a legitimate client IP address by the system security
module. In 10 minutes, the system skips some of the defense process for the access
traffic from this client and forwards it quickly. By default, this function is disabled.
When this function is disabled, the legitimate client IP detected will not be added to
the automatic IP whitelist.
Note: The automatic IP whitelist generated for one type of security service is also
effective for other security services of the same protocol type. The automatic IP whitelist
generated for the security zone takes effect for the upper protocols based on this protocol.
10.7 IP Blacklist
The IP blacklist records all IP addresses that are forbidden to be access. The system
supports the manual and automatic IP blacklists.
After this function is enabled, the system will check the source IP addresses of all
packets. If a source IP address matches any manual or automatic IP blacklist entry, the
system will drop the packet. By default, this function is disabled.
The manual and automatic IP blacklists can take effect only when the IP blacklist
function is enabled.
AN(config)#acl blacklist on
The administrator can manually add IP addresses or subnets to the manual IP blacklist,
or import an IP blacklist file from the external URL address, apply it to the manual IP
blacklist and set the timeout.
Configuration Example:
Add the “192.168.0.0/24” subnet to the manual IP blacklist and set the timeout to 10
minutes.
Currently, the system allows the WAF and DDoS mitigation security modules to
dynamically generate automatic IP blacklists.
When the action of specific defense rule under the WAF profile is set to “block”, the
system will add the client IP address into the automatic IP blacklist if the WAF
security module detects an attack.
Note: The automatic IP blacklist generated for one type of security service is also effective
for other security services of the same protocol type. The automatic IP blacklist generated
for the security zone takes effect for the upper protocols based on this protocol.
When using this function, the administrator can add the URL address to the URL
whitelist in two ways:
Method 2: Import the custom URL whitelist files containing a batch of URL
addresses, and bulk add these addresses in bulk by applying the imported URL
whitelist file as the URL whitelist.
Configuration Example
1. Add a single URL address to the URL whitelist by adding the URL whitelist rule.
For example:
2. Import the custom URL whitelist file containing a batch of URL addresses. For
example:
3. Add these URL addresses in bulk by applying the imported URL whitelist file to
the URL whitelist.
AN(config)#acl urlwhitelist on
5. Query whether a specified URL address matches the URL whitelist, For example:
Date
Time
Source IP
Source port
Destination IP
Destination port
Hit service
HTTP method
URL
Log Example
The HTTP filter logging function can be enabled for each security service of the
HTTP or HTTPS type. After this function is enabled, if the request or response
matches any HTTP filter rule associated with the security service, the system will
record the HTTP filter log, which includes:
When the HTTP violation logging function is enabled for the HTTP filter function of
the HTTP profile, the system will record HTTP violation logs for events that violate
the HTTP filter rules.
Name of the hit security service and name of the hit HTTP profile
Violation type
In some filter types, if there are no information in some fileds, “-” will be displayed.
Log Example
When the HTTP violation logging function is enabled for the the brute force defense
function of the HTTP profile, the system will record HTTP violation logs for events
that violate the HTTP profile.
Source IP, source port, destination IP and destination port of the violation
Name of the hit security service and name of the hit HTTP profile
For some attack or violation types, some fields will be displayed as “-” if no
information is recorded.
Log Example:
When the HTTP violation logging function is enabled for the HTTP Pattern
Validation function of the HTTP profile, the system will record HTTP violation logs
for events that violate the HTTP profile.
Name of the hit security service and name of the hit HTTP profile
Violation type
Log Example:
When the HTTP violation logging function is enabled for of the HTTP upload and
download control functions of the HTTP profile, the system will record HTTP
violation logs for events that violate the HTTP profile.
HTTP upload and download violation logs contain the following contents:
Name of the hit security service and name of the hit HTTP profile
Violation type
For some violation types, some fields will be displayed as “-” if no information is
recorded.
Log Example:
Time
Severity
Source IP
Destination IP
Destination port
Protocol
Attack type
Action
Anomaly Counts
Details
In some attack types, if there are no information in some fileds, “-” will be displayed.
Log Example
Time
Severity
Source IP
Destination IP
Destination port
Protocol
Description
In some attack types, if there are no information in some fileds, “-” will be displayed.
Log Example
The request hits a positive WAF attack signature but does not match the whitelist
of the positive WAF when the learning mode of the positive WAF is disabled.
The source IP and port and destination IP and port of the attack
The name of the security service of the attack and the name of the WAF profile
Attack type
The domain name, HTTP method and URL of the attack request
Example:
Transaction ID: identifies the HTTP transaction violates any defense rule. The
administrator can quickly locate the corresponding audit log using the transaction
ID.
Attack detail: describes the attack(s) in detail, such as attack type(s), action(s),
and connection information.
The system stores audit logs in the WAF audit log databases permanently, and also
prints them as syslogs. The administrator can export the syslogs of WAF audit logs to
an external SIEM (Security Information and Event Management) platform or
monitoring and management platform. For details on how to export syslogs to an
external syslog host, refer to section 16.1.3 “Logging Configuration”.
If an HTTP transaction violates multiple defense rules simultaneously, the system will
combine the attack types and record only the action with the highest priority in the
syslog of the WAF audit log.
Note: If you want to also record the files contained in the request body, execute the
“waf profile auditlog requestbody on p1 file” command.
3. Enable response header recording and response body recording for audit logs:
Note: If you want to record only the response header, execute the “waf profile auditlog
response on p1” command.
2. Back up the IP reputation logs within a specified time period by the following
command.
Click Save icon in the upper left corner of the page to save page options (such as time
range settings). Click Export PDF in the upper left corner of the page to generate a
monitoring report in PDF format on the Reports > Report Browse page.
To view global attack statistics, select Monitoring Center > Attack Statistics >
Global Attack to view global DDoS attacks, global WAF attacks, and global HTTP
filter.
To view global DDoS/WAF attack graphs concerning total attacks, attack severity
distribution, attack type distribution, attack source region distribution, Top5 attack
source IPs, and Top5 attack targets, click Global DDoS Attack tab and Global WAF
Attack tab.
To view total HTTP filter, HTTP filter type distribution, HTTP filter source region
distribution, Top5 HTTP filter source IPs, and Top5 HTTP filter targets, click Global
HTTP Filter tab.
To view network attack statistics, select Monitoring Center > Attack Statistics >
Network Attack.
To view the security zone’s network attack graphs concerning total attacks, attack
severity distribution, attack type distribution, attack source region distribution, Top5
attack source IPs, and Top5 attack targets, select Security Zone Name.
To view the application attack statistics, select Monitoring Center > Attack
Statistics > Application Attack to view HTTP attacks, HTTPS attacks, and DNS
attacks.
To view the selected service’s HTTP DDoS attack graphs concerning total attacks,
attack severity distribution, attack type distribution, attack source region distribution,
Top5 attack source IPs, and Top5 attack targets, specify the HTTP Service Name
parameter and clicking the HTTP DDoS Attack tab.
To view the selected service’s HTTP WAF attack graphs concerning total attacks,
attack severity distribution, attack type distribution, attack source region distribution,
Top5 attack source IPs, Top5 attack target hosts, and Top5 attack target URLs,
specify the HTTP Service Name parameter and clicking the HTTP WAF Attack
tab.
To view the selected service’s HTTP filter graphs concerning total HTTP filter, HTTP
filter type distribution, HTTP filter source region distribution, Top5 HTTP filter
source IPs, and Top5 HTTP filter targets, specify selecting the HTTP Service Name
parameter and clicking the HTTP Filter tab.
To view the selected service’s HTTPS DDoS attack graphs concerning total attacks,
attack severity distribution, attack type distribution, attack source region distribution,
Top5 attack source IPs, and Top5 attack targets, specify the HTTPS Service Name
parameter and clicking the HTTPS DDoS Attack tab.
To view the selected service’s HTTPS WAF attack graphs concerning total attacks,
attack severity distribution, attack type distribution, attack source region distribution,
Top5 attack source IPs, Top5 attack target hosts, and Top5 attack target URLs,
specify the HTTPS Service Name parameters and clicking the HTTPS WAF Attack
tab.
To view the selected service’s HTTPS filter graphs concerning total HTTP filter,
HTTP filter type distribution, HTTP filter source region distribution, Top5 HTTP
filter source IPs, and Top5 HTTP filter targets, specify the HTTPS Service Name
parameter and clicking the HTTPS Filter tab.
To view the selected service’s DNS attack graphs concerning total attacks, attack
severity distribution, attack type distribution, attack source region distribution, Top5
attack source IPs, and Top5 attack targets, specify the DNS Service Name parameter.
To view global network traffic statistics, select Monitoring Center > Traffic
Statistics > Global Network Traffic to view total traffic inbound, total traffic
outbound, TCP traffic inbound, TCP traffic outbound, UDP traffic inbound, UDP
traffic outbound, ICMP traffic inbound, ICMP traffic outbound, other traffic inbound
and other traffic outbound. Click Kbps and packets/s to switch the traffic statistics
unit.
To view global application traffic statistics, select Monitoring Center > Traffic
Statistics > Global Application Traffic to view HTTP traffic inbound, HTTP traffic
outbound, SSL traffic inbound, SSL traffic outbound, DNS traffic inbound and DNS
traffic outbound. Click Kbps and packets/s to switch the traffic statistics unit.
To view the security zone’s traffic statistics, select Monitoring Center > Traffic
Statistics > Zone Traffic.
To view the security zone’s total traffic inbound, total traffic outbound, TCP traffic
inbound, TCP traffic outbound, UDP traffic inbound, UDP traffic outbound, ICMP
traffic inbound, ICMP traffic outbound, other traffic inbound and other traffic
outbound, specify the Security Zone Name parameter. Click kbps and packets/s to
switch the traffic statistics unit.
To view security service’s traffic statistics, select Monitoring Center > Traffic
Statistics > Service Traffic to view HTTP service traffic, HTTPS service traffic, and
DNS service traffic.
To view the selected service’s total HTTP traffic inbound and total HTTP traffic
outbound, specify the HTTP Service Name parameter. Click Kbps and packets/s to
switch the traffic statistics unit.
To view the selected service’s total SSL traffic inbound, total SSL traffic outbound,
total HTTP traffic inbound and total HTTP traffic outbound, specify the HTTPS
Service Name parameter. Click Kbps and packets/s to switch the traffic statistics
unit.
To view the selected service’s total DNS traffic inbound and total DNS traffic
outbound, specify the DNS Service Name parameter. Click Kbps and packets/s/s to
switch the traffic statistics unit.
To view the global packet drop statistics, select Monitoring Center > Drop
Statistics > Global Drop. You can view total L3/L4 drop, total IP drop, total TCP
drop, total UDP drop, total ICMP drop, total SSL drop, total HTTP drop and total
DNS drop.
To view the security zone’s packet drop statistics, select Monitoring Center > Drop
Statistics > Zone Drop.
To view the selected security zone’s total packet drop, IP packet drop reason
distribution, TCP packet drop reason distribution, UDP packet drop reason
distribution and ICMP packet drop reason distribution, specify the Security Zone
Name parameter.
To view the security service’s packet drop statistics, select Monitoring Center >
Drop Statistics > Service Drop to view HTTP service packet drop, HTTPS service
packet drop and DNS service packet drop.
To view the selected security service’s HTTP service packet drop and HTTP packet
drop reason distribution, specify the HTTP Service Name parameter.
To view the selected security service’s HTTPS service packet drop, HTTP packet
drop reason distribution, and SSL packet drop reason distribution, specify the HTTPS
Service Name parameter.
To view the selected security service’s DNS service packet drop and DNS packet
drop reason distribution, specify the DNS Service Name parameter.
To view HTTP service access statistics, select Monitoring Center > Access
Statistics > HTTP Service Access to view service total accesses, per-method access
To view HTTPS service access statistics, select Monitoring Center > Access
Statistics > HTTPS Service Access to view service total accesses, per-method access
distribution, per-host access distribution, source IP region distribution, Top10 request
URLs and Top10 source IPs.
To view the created custom statistics graph, select Monitoring Center > Custom
Statistics, and then click newly created graph name to open it.
To add a new graph to the custom graph pane, click Add Widget, and in the Add
Widget window, specify related parameters and click Confirm.
Figure 12–38 Adding a New Graph to the Custom Statistics Graph Pane
Click Edit Pane to enter the edit mode of the custom graph pane. In the edit mode,
you can modify the pane name, or delete/edit each widget graph.
13.1 Overview
The report system helps administrators to get an overview of the system running
status, service running status, service security status, and so on.
– Security service status: evaluates the running status and security status of a
specified security service or all services as a whole.
– Security zone status: evaluates the running status and security status of a
specified security zone.
The preceding types of reports support both the PDF and CSV formats. In addition,
the report system supports generating reports periodically at the daily, weekly or
monthly basis and sending the generated reports to administrators’ email addresses
automatically. To use the function of automatically sending the generated reports, you
should configure the external SMTP server correctly first.
2. In Add Report Task window, set Task Type to onetime or crontab, specify the
relevant parameters and click Confirm to create the monitoring report task. To
configure the system to automatically send the generated report to the
administrator’s email address, you just need to specify the Send to parameter.
1. Select Reports > Report Tasks and click the Add button.
2. In the Add Report Task window, set the Report Type to System Status, set
Task Type to onetime or crontab, specify the related parameters and click the
Confirm button to generate an advanced report task. To configure the system to
automatically send the generated report to the administrator’s email address, you
just need to specify the Send to parameter.
1. Select Reports > Report Tasks and click the Add button.
2. In the Add Report Task window, set the Report Type to Security Service
Status, set Task Type to onetime or crontab, specify other related parameters
and click the Confirm button. To configure the system to automatically send the
generated report to the administrator’s email address, you just need to specify the
Send to parameter.
1. Select Reports > Report Tasks and click the Add button.
2. In the Add Report Task window, set the Report Type to Security Zone Status,
set Task Type to onetime or crontab, specify other related parameters and click
the Confirm button. To configure the system to automatically send the generated
report to the administrator’s email address, you just need to specify the Send to
parameter.
1. Select Reports > Report Tasks and click the Add button.
2. In the Add Report Task window, set the Report Type to PCI DSS Compliance,
set Task Type to onetime or crontab, specify other related parameters and click
the Confirm button. To configure the system to automatically send the generated
report to the administrator’s email address, you just need to specify the Send to
parameter.
To execute a report task, select Reports > Report Task, find the desired report task,
and click the Executing button in the Action column.
To pause a periodic report task that is running, select Reports > Report Task, find
the desired report task, and click the Pausing button in the Action column, as shown
in Figure 13–11.
To resume a periodic report task that is running, select Reports > Report Task, find
the desired report task, and click the Continuing button in the Action column, as
shown in Figure 13–11.
1. Select Reports > Report Task, find the desired report task, and click the Edit
button in the Action column, as shown in Figure 13–11.
2. In the prompted Edit Report Task window, modify the parameter settings as
required, and click the Confirm button.
To delete a report task, select Reports > Report Task, find the desired report task,
and click the Delete button in the Action column, as shown in Figure 13–11.
This operation will clear all one-time and periodic report tasks.
To clear all report tasks, select Reports > Report Task, find click the Clear button,
as shown in Figure 13–11.
To view and download the generated report, select Reports > Report Browse, select
the report and click Download in the Action button.
In addition, if you have specified the Send to parameter of the report task, the
generated report will also be send to the administrator’s email address. You can view
and download the report from the administrator’s email box.
The cluster function needs two or more ASF devices deployed in route
transparent or proxy mode. The ASF device can work in active/standby mode or
Active/Active mode.
The software and hardware bypass function can help avoid service interruption
caused by a failure of a single ASF device deployed in transparent bridge mode.
14.1 Clustering
14.1.1 Overview
With the continuous deepening and development of network applications, users have
higher requirements for the reliability of network and network devices. In order to
improve the reliability of the network during network planning and design, it is
generally necessary to perform redundant backup of network devices of key nodes.
The ASF clustering function solves the Single Point Of Failure (SPOF) problem
through the Virtual Router Redundancy Protocol (VRRP) technology and can provide
reliability guarantee for the ASF-protected website.
The ASF clustering function allows two or more ASF devices to be interconnected to
form a single logical device to provide high reliability and high availability for local
websites, as shown in the following figure.
The ASF clustering function supports two modes: Active-Standby mode and
Active-Active mode.
Active-Standby Mode
In Active-Standby mode, all VIPs on one ASF device in the cluster are in Active
status, while the VIPs are on the other devices in the cluster are in standby status.
Active-Active Mode
In Active-Active mode, each ASF device in the cluster has a different VIP or
cluster ID in the active status.
When both IPv4 and IPv6 addresses are configured on the corresponding interfaces
for the clustering function, or only IPv4 addresses are configured, the clustering
function uses IPv4 VRRP packets to communicate between ASF devices. When only
IPv6 addresses are configured on the corresponding interfaces for the clustering
function, the clustering function uses IPv6 VRRP packets to communicate between
ASF devices.
Note: VRRP packets are not compatible with different OS versions of ASF devices,
ensure the same OS version is used in the cluster.
For information about the VIP address of the security service, refer to section 6.1
Security Service.
In Active-Standby mode, only one unit can become the owner of the VIP and the
other unit becomes the backup unit. Once the master unit fails, the backup unit
becomes the owner of the VIP address. If the preemption mode is enabled on the
master unit and after the master unit becomes up again, it will preempt the master
status. In addition, the VIP address will always be used by the new master unit until it
fails.
As shown in the figure above, ASF1 is the master unit which handles the traffic of the
VIP address. ASF2 is the backup unit that listens for broadcast messages from the
master unit. If ASF1 fails (due to a failure for example) and stops sending broadcast
messages, ASF2 will switch from the backup status to the master status.
Enable the preemption mode on ASF1, and do not enable the preemption mode on
ASF2.
5. Configure the VIP address for a virtual cluster using the “cluster virtual vip”
command.
The priority determines which unit will become the master unit, and the unit with the
highest priority becomes the master unit. Since we want the VIP on the ASF1
appliance to be in the master status, configure the VIP priority on the ASF1 to 255.
For the ASF2 appliance, configure a lower VIP priority, such as 100. In the
Note: With the above configurations, ASF2 will become the backup appliance because it
has a lower priority than that of ASF1.
ASF1(config)#cluster virtual on
ASF2(config)#cluster virtual on
In Active-Active mode, ASF1 will become the master unit of the VIP address 1 and
will also become the backup unit of VIP address 2. ASF2 will become the master unit
of VIP address 2 and will become the backup unit of VIP address 1. This
configuration can improve the website performance.
The following example demonstrates this design. Two Virtual Cluster IDs (VCIDs)
need to be configured, each of which contains at least one VIP address, as shown in
the following figure.
The VCID1 contains the VIP address 192.168.2.100, and the VCID2 contains the VIP
address 192.168.2.101.
It is assumed that ASF1 is configured as a master unit of VIP address 1 and a backup
unit of VIP address 2, and ASF2 is configured as a backup unit of VIP address 1 and a
master unit of VIP address 2.
5. Configure the VIP address using the “cluster virtual vip” command.
The cluster priority determines which unit will become the master unit, and the unit
with the highest priority becomes the master unit.
ASF1(config)#cluster virtual on
ASF2(config)#cluster virtual on
This section describes how to configure a cluster on multiple units. This mechanism
can be better explained by using the matrix concept: configure the priority of multiple
units respectively, so that the network load can be correctly distributed onto other
working units after one unit fails. Of course, in extreme cases, when two of the three
units in the cluster fail, the remaining unit will handle all the traffic load on the
website. The following figure is a typical example.
Figure 14–4 Three-unit Cluster Matrix of Server Load Balancing Active-Active Mode
1. Configure ASF1.
2. Configure ASF2.
3. Configure ASF3.
The hardware bypass function is implemented with a dedicated bypass hardware card.
The software bypass function does not require a dedicated hardware bypass card. The
scenarios for the two bypass functions are different. The hardware bypass function is
used for scenarios where hardware appliances are used, and a dedicated bypass card is
used to implement hardware-level bypass function. The appliance’s hardware bypass
card monitors the health of the system. When a system failure occurs, it automatically
switches to the bypass state and transmits all traffic in transparent mode. When the
system resumes, the bypass state is automatically turned off.
The software bypass function is mainly used for virtual appliances. The system
utilizes the software-simulated bypass function to achieve transparent transmission of
the traffic and monitoring of the software system. The specific function is similar to
that of the dedicated bypass card.
AN(config)#bypass hardware on
Figure 14–7 Configuring the Port Pair of the Software Bypass Card
AN(config)#bypass software on
3. After saving the configuration and rebooting the device, the administrator should
view the status of the software bypass function.
For all existing connections, the system continues the normal-mode process.
– If they hit the HTTP/HTTPS security services, the system skips WAF
defense and directly performs transparent transmission.
– If they do not hit the HTTP/HTTPS security services, the system follows the
normal-mode process.
When the number of the cocurrent connections remains below the cocurrent
connections threshold set by the “emergency cc” command for 3 seconds or more, the
system automatically exits the emergency mode and returns to the normal mode. After
returning to the normal mode, the system will follow the normal-mode process and
perform WAF checks on connections hitting the HTTP/HTTPS security services.
AN(config)#emergency cc 3000
AN(config)#emergency on
Chapter 15 System
15.1.1 Administrator
The system allows the creation of three types of administrators: the Enable-level, the
Config-level and the API-level administrator. The Enable-level administrator can only
execute all commands allowed at the Enable and User levels. The Config-level
administrator can execute all commands allowed at the Config, Enable, and User
levels. The API-level administrator can access the RESTful API Web service.
Note: To enhance the security of the administrator account password, you can use the
“passwd forcemode on” command to enable the Secure Password mode. For details, refer
to the CLI Handbook.
Add an administrator and configure its access control level by executing the following
command:
For example:
The administrator AAA supports using an external AAA server for the administrator
authentication, authorization and billing .
AN(config)#admin aaa on
One or more roles can be assigned to the administrator. The relationship between
multiple roles is a logical “OR”. If any role assigned to the administrator is allowed to
execute a specific CLI command, the administrator is allowed to execute this
command as well; if none of the role is allowed to execute a specific CLI command,
the administrator is not allowed to execute this command. If no role is assigned to the
administrator, the administrator can execute all commands allowed by the configured
access level.
Role is a set of privilege rules. A privilege rule consists of rule strings and operation
privilege.
Rule String
A rule string defines one or a set of command line configurations. In the actual
configuration, the following three forms are supported:
Incomplete form with a part of the command body: security service name
When configuring a rule string, you should notice the following limitations:
Abbreviations are not allowed in the main part of the command line.
The entire rule string needs to be enclosed by double quotes. If double quotes are
needed inside the rule string, use single quotes instead.
If there are multiple consecutive spaces in the command line, it will be treated as
a single space.
The system will check the command entered by the administrator against the rule
strings from the first letter. If the command is identical with or comprises a rule string,
the command is regarded as matching the rule string and will follow the rule.
Operation Privilege
Operation privilege includes two types: “permit” and “deny”. Depending on the
operation privilege, the privilege rules can be divided into “permit” rule and “deny”
rule, which are respectively used to control whether a role is allowed or not allowed to
execute one or a group of commands. If no “permit” rule is configured for a role, the
system does not allow the role to execute any CLI commands allowed at all access
levels.
When the CLI command matches both the “permit” and “deny” rules, the “deny” rule
takes higher priority in the system.
For example:
role1:
The system will not allow role1 to execute all commands starting with “no security
service” but will allow other CLI commands starting with “no security”.
role2:
Because the “deny” rule takes precedence, the system will not allow role2 to execute
any CLI commands beginning with “no security”, although the “permit” rule allows
the execution of commands starting with “no security service”.
If you want to prevent a role from performing configure, display, and delete
operations related to a feature such as WAF, you should configure the following
privilege rules for the role:
Note: The view operation of the WebUI depends on the “show” command in the CLI.
Ensure that the administrator who needs to perform the WebUI view operation is assigned
the privilege to execute the “show” command of the corresponding module.
For example:
2. Execute the following commands to configure the privilege rules for the role:
For example:
For example:
For the purpose of different scenarios, the system creates three pre-defined users:
administrator, operator and auditor. The system assigns corresponding pre-defined
roles to pre-defined users, namely “role_administrator”, “role_operator” and
“role_auditor”.
Administrator: has execution rights for all commands except logging operations.
Operator: has execution rights for all commands except logging, role,and user
operations.
Auditor: only has the execution authority for “show” commands and some
logging operations.
Note: Administrator users have the right to modify the passwords of all users
except other administrator users, while operator user and auditor user can only
modify their own passwords.
To ensure the stability of pre-defined users, the pre-defined user itself and the
associated pre-defined roles and associated role rules cannot be deleted. The binding
relationship between pre-defined users and predefined roles cannot be deleted.
Administrators can add/delete self-defined rules for pre-defined roles, and can assign
pre-defined roles to self-defined users.
The pre-defined role rules corresponding to different pre-defined users are shown in
the following table:
After the administrator audit logging function is enabled, the system will record the
administrator’s login record and operation record, which will be retained after
appliance reboot. It can be filtered based on keywords, start date and end date.
Enable the administrator audit logging function by executing the following command:
AN(config)#admin auditlog on
Clear the administrator login record by executing the “clear admin auditlog sign”
command.
Time
User name
Source IP
Source port
Destination IP
Destination port
Login information
For example:
Clear the administrator operation record by executing the “clear admin auditlog
operation” command.
Time
Operation
Result
Description
For example:
The WebUI service allows the administrator to connect to the ASF appliance for
management and configuration via a Web-based graphical user interface. The WebUI
service is disabled by default. You need to enable the WebUI service before using it.
The WebUI access is secured using the HTTPS protocol. To establish a WebUI
connection to the ASF appliance, open the URL of the WebUI in a Web browser. The
URL of the WebUI is in the format of “https://<management_IP>:<WebUI_port>”.
The default WebUI port is 8888 and you can change it if required.
To enhance the system security, the administrator can configure WebUI source IP
address and/or source MAC address restriction rules to control the sources that are
allowed to access the WebUI service.
AN(config)#webui ip 192.168.1.100
To configure a WebUI source MAC address restriction rule, execute the following
command:
AN(config)#webui on
By default, the ASF WebUI only uses a test SSL certificate issued by Array Networks.
The system allows administrators to import and use certificates issued by a Certificate
Authority (CA) to enhance ASF WebUI access experience. Currently, administrators
can import a PEM-format end-user certificate and an intermediate CA certificate for
the ASF WebUI.
Select Platform >System > System Access Control > WebUI SSL Settings, click
Import in the Certificate area. In the prompted Import WebUI SSL Certificate
window, specify the Import Way parameter (Local File/URL/Manual Input) to
import the certificate according to actual need, and then click the Import button.
Execute the “webui ssl import pem” command to import a PEM-format end-user
certificate. With this command, administrators can either import a certificate from a
TFTP/FTP/HTTP server or by copy-n-paste in the CLI.
The input of the certificate can be ended by the entering of “…” in the bottom line.
-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIJAIgypSLjq/+oMA0GCSqGSIb3DQEBDQUAMIGMMQswCQY
D
VQQGEwJVUzELMAkGA1UECBMCQ0ExETAPBgNVBAcTCENhbXBiZWxsMRwwGgY
DVQQK
ExNBcnJheSBOZXR3b3JrcywgSW5jMRcwFQYDVQQDEw5BcnJheSBOZXR3b3JrczEm
MCQGCSqGSIb3DQEJARYXd2VidWlAYXJyYXluZXR3b3Jrcy5uZXQwHhcNMTQwMj
Ez
......
MDkxNTEzWhcNMjIwNTAyMDkxNTEzWjCBjDELMAkGA1UEBhMCVVMxCzAJBgNV
BAgT
AkNBMREwDwYDVQQHEwhDYW1wYmVsbDEcMBoGA1UEChMTQXJyYXkgTmV0d2
9ya3Ms
IEluYzEXMBUGA1UEAxMOQXJyYXkgTmV0d29ya3MxJjAkBgkqhkiG9w0BCQEWF3dl
YnVpQGFycmF5bmV0d29ya3MubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA6nHWYTlAkIm3O7OhRjjBBWR6H/h8viP8o/Hqc2JVcm1eA0ATtaxO0rel
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA6nHWYTlAkIm3O7OhRjjBBWR6H/h8viP8o/Hqc2JVcm1eA0AT
taxO0relxmSfdr8V5ffC5zRcCrIgcOHm2WP0T6qOPKB+Fxdj2uhYTmFHJjk4Cx9y
MFDyF4s0i+VlWqxqT/6Sqoae49aWwq6mvF6BSHXMQzXN4wdQlsGrpwFnGWxIbn4c
wKHrC/Jq/6W+H2bOeLL8fCRVWCnE1Lkz7WB/drDUyTaClVsMDpSRn2rHw8TMk3pw
TzjsB4NyMxy0xHb7cw+FxvMLk7lLNNS4jvSxCUjUZBhAOTfkN+V6G+8Y1QVyBUDo
......
b8ml72WoiNAp82feVPkss31bvlUZBVgipR9PYUIk9vSQ++p3HV9/wBglwB2XLrpo
yT1goc+j/hrGBY7gAr258yV//Ho9wlaCsuHZSLEwTwQ3wH6uyyTcnqk1Xreeb2cE
Udj/HwKBgAchOvooG/z9RXplUIQqW1jRXRF6KXoiUNugZWMYQGQMN2qe+dEiM/O9
mBsnpTpgXCogKA45jdr+NoE3oJ6nSAjnYKzT1nOf57OwoaKOiYvbaYCt3hdRXCeQ
8r1M0Ijn0ylrEUoC13YxFsjVQCt69Yf7RL8kmDQR7FqJr8CmWZbN
-----END RSA PRIVATE KEY-----
…
Select Platform >System > System Access Control > WebUI SSL Settings, click
Import in the Intermediate Certificates area. In the prompted Import WebUI SSL
Intermediate Certificates window, specify the Import Way parameter (Local
File/URL/Manual Input) to import the certificate according to actual need, and then
click the Import button.
The input of the certificate can be ended by the entering of “…” in the bottom line.
To view the imported certificate and intermediate certificate for the ASF WebUI,
execute the following commands:
With the RESTful API, the administrator can send RESTful API requests to the ASF
appliance via the HTTP or HTTPS protocol to perform Create, Read, Update, and
Delete operations on system resources. The ASF appliance will execute these
operations and return the results in RESTful API responses. For the safety of ASF
RESTful API invocation, the administrator needs to include a valid credential in the
RESTful API requests. Otherwise, the ASF appliance will reject RESTful API
requests.
The administrator can send RESTful API requests either using a RESTful API client
installed on the Web browser or using a programming tool such as Java, Python, or
Perl. For details, refer to the ASF RESTful API User Guide.
Before using the ASF RESTful API, you must enable the RESTful API service first.
To enhance the system security, the administrator can configure RESTful API source
IP address and/or source MAC address restriction rules to control the sources that are
allowed to access the RESTful API service.
To set the RESTful API listening IP, execute the following command:
AN(config)#restapi ip 192.168.1.100
To configure a RESTful API source MAC address restriction rule, execute the
following command:
After the preceding configuration, the RESTful API service is enabled using the
HTTPS protocol and listening on IP 192.168.1.100 and port 9997.
To create an administrator account with the API access privilege, execute the
following command:
The system allows the administrator to set or change the password for accessing the
Enable mode.
Execute the following command to set or change the password for accessing the
Enable mode:
AN(config)#passwd enable 33
The system allows the administrator to forcibly enter the Config mode when another
administrator is already in Config mode and set the command execution timeout when
the system loads the configurations.
Execute the following command to forcibly enter the Config mode when another
administrator is already in Config mode.
Execute the following command to set the command execution timeout when the
system loads the configurations.
Use the following command to disable the access rights to the USB device:
To check the current version of ArrayOS software that is running, perform the
following operation:
AN(config)#show version
Host name : AN
System CPU : Intel(R) Xeon(R) CPU
System RAM : 65765304 kbytes.
System boot time : Sun Jun 07 01:45:20 CST (+0800) 2020
Current time : Thu Jun 11 14:34:28 CST (+0800) 2020
System up time : 15 hrs, 20 mins
Platform Bld Date : Thu Jun 11 14:34:28 CST (+0800) 2020
Operation Mode Normal
ASL Version 1.1.3 released on July 24 2019
SSL HW : HW ( 1X56E+ ) Initialized
Power Supply : 2U, AC, 2-cords, Redundancy
Network Interface : 4 x Gigabit Ethernet copper 4 x 10Gigabit Ethernet fiber
Model : Array ASF 5800
Serial Number : 1630M0243953601406154315033541
Licensed Features : Clustering SSL SwCompression MultiLang DynRoute
IPv6 SWMaintenance WAF L7DDoS
License Key : 746d0e44-00b2866c-a7174f8d-5d75f608-293ab5da-ff000000-
0455d8ab-20180912-99999999
Subscribed Services : ASLupdate
Subscription License Key : 37bf8559-b619041a-05674f16-705c8c93-0c7865df-00000000
-00000001-20200426-20201218
Expiration Date Permanent
Email : [email protected]
Update : please contact support for instructions
Website : http://www.arraynetworks.com
1. Log into the CLI of the ASF appliance and collect the output of the “show
version” command.
2. Send the output of the “show version” command to Array Networks Customer
Support, Sales, or resellers to obtain a valid system license.
3. In the Config mode of the CLI, import the system license by executing the
“system license <key>” command.
AN(config)#system license
"33a7f79e-59ac3c08-8a564284-ad45f5e4-e7c83e00-00000000-1455d8ab-20170731-99999999"
1. Log into the CLI of the ASF appliance and collect the output of the “show
version” command.
2. Send the output of the “show version” command to Array Networks Customer
Support, Sales, or resellers to obtain a valid subscription license.
3. In the Config mode of the CLI, import the subscription license by executing the
“system sublicense <key>” command.
AN(config)#system sublicense
"37bf8559-b619041a-05674f16-705c8c93-0c7865df-00000000-00000001-20200426-20201218"
Before upgrading the system to a new version, follow these preparation steps:
1. Contact Array Networks Customer Support to gain access to the software and
documentation repository. Contact your customer support representative or send
email to: [email protected].
2. Once you have received a password and confirmed with a customer support
engineer that the system needs an upgrade, you can download the new software
package using the Array Networks Website. You should download the new
software package to either a local Web server or an anonymous FTP server,
which is accessible from the ASF appliance. You just need to download the new
software package to your local host when using the ASF WebUI for upgrade.
Note: If a new ASL version is available in the new system version, the system
will not automatically upgrade the ASL after you perform a system update by
executing the “system update” command. To switch the current ASL to the
new version, you need to manually apply the new ASL version by executing
the the “waf asl version apply” command.
1. Establish a Console or SSH connection and upgrade the system from an HTTP or
FTP URL of the software package by using the “system update” command.
2. When this command is executed, the system will import the new software
package from the specified HTTP or FTP URL and install the software package.
The new software version will take effect after a system reboot. You can choose
to let the new software version take effect immediately by an automatic system
reboot (immediate option) or take effect on the next system reboot (deferred
option).
For example, use the command to upgrade the system through an HTTP URL with the
immediate option:
For example, use the command to upgrade the system through an HTTP URL and let
the new software version to take effect on the next system reboot:
3. (Conditional) Manually reboot the system for the upgrade to take effect using the
“system reboot” command at a convenient time if you use the deferred option.
4. After the new software version takes effect, execute the “show version”
command to verify that the upgrade is successful.
AN(config)#system reboot
Note: When this command is executed, the system will record the status of the
VA instances. After the system reboot, the system will restore the VA
instances to previous status.
poweroff (default value): indicates that the system is stopped, and the power is
turned off.
halt: indicates that the system is stopped but the power is not turned off.
For certain configured events (for example system alerts), the system will send alert
emails to the administrator. The system email function allows the administrator to set
the sender’s email address for the system email. Then the system can use the
configured email address as the sender when sending emails to the administrator.
To set the sender’s email address for the system email, execute the following
command:
To meet the disk space requirements for log storage, the system supports disk space
extension for the vASF instances deployed on AVX/VMWare/KVM platform. To
extend the disk space of the log partition extension, the administrator can first add an
extra disk to the vASF instance through the AVX/VMWare/KVM platform, and the
extra disk will be automatically added to the Disk Pool of the vASF instance. Then,
the administrator needs to allocate the free space of the Disk Pool to the log disk
partition for disk space expansion. The administrator can check the current system
disk usage status of the Disk Pool and log disk partition at any time.
Note:
Only the vASF instance deployed with an image running ArrayOS ASF 1.0.3.6 or
above system supports this function.
After the disk space extension is performed, the system cannot be rolled back to a
version that does not support the disk space extension function.
To expand the disk space of the vASF instance deployed on AVX, perform the
following operations:
1. In vASF, confirm that the instance is using a version of ArrayOS ASF 1.0.3.6 or
above.
3. In AVX, reboot the vASF instance. The extra disk will be automatically added to
the Disk Pool of vASF.
4. In vASF, use the “system disk extend” command to allocate the free space of the
Disk Pool to the log disk partition.
5. In vASF, use the “show system disk usage” command to view the current system
disk space usage.
The system supports the security log aggregation-based alert triggering function. With
this function enabled, the system will aggregate security logs of a specified type at the
specified aggregation duration and trigger a security alert. By default, this function is
enabled.
To enable the security log aggregation-based alert triggering function select System >
System Alert > Alert Triggering, set the Log Aggregation-based Alert Triggering
slider to ON, specify the Max Aggregation Duration parameter, and click Apply
Changes.
To enable the security log aggregation-based alert triggering function, execute the
following command:
The system supports the WebUI alert notification function. With this function enabled,
the WebUI will check whether any system alert is generated in the current notification
cycle. If any alert is generated and matches the notification filter, a WebUI alert
notification box will pop up to notify administrators. If no notification filter is
configured, the WebUI will notify administrators of all alerts. By default, this
function is enabled.
To enable the WebUI alert notification function, select System > System Alert >
Alert Notification, set the WebUI Alert Notification slider to ON, specify the
Notification Cycle parameter, and click Apply Changes.
To filter the contents of WebUI alert notification, in the WebUI Notificaiton Filter
area, click the Add button. In the prompted Add a WebUI Notification Filter dialog
box, specify the parameters Category and Severity, and click the Confirm button.
1. To enable the WebUI alert notification function, execute the following command:
WebUI Example
To view the details of an alert, click the alert ID, view the alert details and aggregated
security violation events in the Alert Details page. In the Violation table, click the
violation ID to switch to the page of the violation or attack log.
CLI Example
The meanings of the fields in the alert records are described in the following table:
Field Meaning
StartTime Start time of the event associated with the alert.
EndTime End time of the event associated with the alert.
ObjectType Type of the object triggering the alert.
ObjectName Name of the object triggering the alert.
Category Category of the object triggering the alert.
AlertType Type of the alert
Severity Severity of the alert
Count Count of event logs aggregated for the alert
Description Description of the alert
Event IDs of attacks or violations aggregated for the alert (if more than
SourceUid 10 attacks or violations have been aggregated for the alert, only the IDs
of the latest 10 events are recorded.)
When the disk space is insufficient, the system will send alerts to administrators via
Email or SNMP Traps.
To enable the disk space insufficiency alert via Email function, select System >
System Alert > Disk Space Related System Alert, and set the Alert via Email
slider to ON, specify required parameters, and click Apply Changes.
Configure the disk space insufficiency alert via Email function by executing the
following command:
After this command is executed, the appliance will detect the usage of disk space
every 60 minutes. If the usage exceeds 80%, an alert Email will be sent to the
[email protected] address.
To enable the disk space insufficiency alert via SNMP traps function, select System >
System Alert > Disk Space Related System Alert, and set the Alert via SNMP
slider to ON, specify required parameters, and click Apply Changes.
Figure 15–10 Configure Disk Space Insufficiency Alert via SNMP Traps Function
3. Configure and enable the disk space insufficiency alert via SNMP traps function.
After this command is executed, the appliance will detect the usage of disk space
every 60 minutes. If the usage exceeds 80%, an SNMP traps alert will be sent to the
SNMP traps host “192.168.1.100”.
When the attacks suffered by the system meet certain conditions, the system will send
an alert to the administrator through Email or SNMP traps.
To enable the security alert via Email function, select System > System Alert >
Security Alert > Email Alert, in the Email Alert Filter section, click +. In the
prompted Add an Email Alert Filter window, specify the related parameters and
click Confirm. In the Email Alert section, set the Email Security Alert slider to ON,
specify required parameters, and click Apply Changes.
Figure 15–11 Configure Filter Conditions of the Security Alert via Email Function
Configure and enable the security alert via Email function by executing the following
commands:
After this command is executed, the appliance will detect the number of attacks
whose severity level is equal or greater than the configured value every 60 minutes. If
the attack number exceeds 100, an alert Email will be sent to the [email protected]
address.
To enable the security alert via SNMP Traps function, select System > System
Alert > Security Alert > SNMP Alert, in the SNMP Alert section, set the SNMP
Security Alert slider to ON, specify required parameters, and click Apply Changes.
Figure 15–13 Configure and Enable the Security Alert via SNMP Traps Function
Configure and enable the security alert via SNMP Traps function by executing the
following commands:
After this command is executed, the appliance will detect the number of attacks
whose severity level is equal or greater than the configured value every 60 minutes. If
the attack number exceeds 1000, an SNMP traps alert will be sent to the configured
SNMP traps host.
When specific ASL events occur, the system will send alerts to administrators via
Email or SNMP Traps. Currently, the system supports sending alerts when the
following ASL events occur:
To enable the ASL event alert via Email function, select System > System Alert >
ASL Alert, and set the Alert via Email slider to ON, specify required parameters,
and click Apply Changes.
Use the following CLI command to configure and enable the ASL event alert via
Email function.
When the preceding command is executed, the appliance will detect the ASL events
every 60 minutes. When any ASL event meets the triggering condition A (failure to
automatically apply the new ASL image), an alert email will be sent to the Email
address “[email protected]”.
To enable the ASL event alert via SNMP traps function, select System > System
Alert > ASL Alert, and set the Alert via SNMP slider to ON, specify required
parameters, and click Apply Changes.
Use the following CLI command to configure and enable the ASL event alert via
SNMP traps function.
When the above command is executed, the appliance will detect the ASL events every
60 minutes. When any ASL event meets the triggering condition D (failure to
automatically download the new ASL image), an SNMP traps alert will be sent to the
host configure via the “snmp host” command.
The appliance supports setting alerts for IRL-update events, so that the administrator
can timely track the IRL update status. The alert function supports sending alerts via
Email or SNMP traps.
When this function is enabled, the appliance will periodically detect IRL-update
events. If any IRL-update event meets triggering conditions, an alert email will be
sent to the configured “email” address, or an SNMP traps alert will be sent to the
configured SNMP traps host.
After the above command is executed, the appliance will detect the IRL-update events
every 60 minutes. If the system fails to automatically download the IRL image or
apply the new IRL-update image, an alert email will be sent to the Email address
“[email protected]”.
6. Enable and configure the IRL-update event SNMP traps alert function.
After the above command is executed, the appliance will detect IRL-update events
every 60 minutes. If the system fails to automatically download the IRL image or
apply the new IRL-update image, an SNMP traps alert will be sent to the SNMP trap
host “192.168.1.100”.
Startup configuration, also called saved configuration, refers to the configurations that
the system will load from the memory when the system starts up. Running
configuration refers to the configurations that the system is currently running. When
the system starts up, startup configuration equals to running configuration. After
adding, deleting and modifying configurations, you need to save the running
configuration as startup configuration. Otherwise, unsaved running configurations
will be lost at next system reboot.
AN(config)#write memory
AN(config)#config memory
You can back up the running configuration to a configuration backup file on the
system disk and restore the running configuration from the configuration backup file.
To back up the running configuration to a configuration file on the system disk, such
as “config_20180604”, execute the following command:
To restore the running configuration from the configuration backup file on the system
disk, execute the following command:
You can view all the configuration backup files by executing the “show config file”
command.
For example:
You can back up the entire system configuration onto the system disk, or to a remote
Secure Copy (SCP) or Trivial File Transfer Protocol (TFTP) host. The configurations
will be saved as a compressed file, which contains three files: show_version,
backup.conf, and running.conf. The backup.conf file is a tarball package that contains
the following files:
ca.conf
IP region files
Crontab configuration
Also, you can restore the entire configuration from the configuration backup file
saved on the system disk or the SCP/TFTP host. For more information, refer to the
ASF CLI Handbook.
To back up the entire configuration to a configuration file on the system disk, such as
“config_20150323” (password:array), execute the following command:
To back up the entire configuration to a remote SCP host, execute the following
command:
To back up the entire configuration to a remote TFTP host, execute the following
command:
To restore the running configuration from the configuration backup file on the system
disk, execute the following command:
To restore the entire configuration from the configuration backup file saved on the
remote SCP host, execute the following command:
To restore the entire configuration from the configuration backup file saved on the
remote TFTP host, execute the following command:
Secondary: clears the entire configuration on the ASF appliance except the
primary network configuration.
1. To clear the entire configuration on the ASF appliance, execute the “clear config
all” command.
2. To clear the primary network configuration on the ASF appliance, execute the
“clear config primary” command.
3. To clear the entire configuration on the ASF appliance except the primary
network configuration, execute the “clear config secondary” command.
Assume that the IP addresses of the two appliances are 192.168.1.1 and 192.168.1.2
respectively. If you need to synchronize the configuration of device 1 to device 2, you
need to perform the following configurations:
AN1(config)#synconfig to machine2
Note: If packet filter is enabled for the interface that uses the “synconfig” command for
synchronization, you may need to add corresponding packet filtering rules so that packets
can be sent over the service port 65519 on the ASF appliance (ASF appliance and sync
node)
DDoS Attack Log databases: Store. the DDoS attack logs and alert logs.
HTTP Brute Force Log databases: Store the HTTP brute force logs.
HTTP File Control Violation Log databases: Store the HTTP file upload and
download violation logs.
HTTP Pattern Violation databases: Store the HTTP pattern violation logs.
HTTP URL Detection Result databases: Store the HTTP URL detection result.
DNS Domain Filter Violation Log databases: Store DNS domain filter violation
logs.
DNS Domain Rate Limiting Violation Log databases: Store DNS domain rate
limiting violation logs.
DNS Domain Pollution Log databases: Store DNS domain pollution logs.
Packet Drop Statistics databases: Store the statistics of system missed packets.
System Management databases: Store the logs of administrator login, logout and
management operations.
The system supports backup, export, import and restore of the above types of database
files.
To avoid the loss of critical data, the administrator needs to back up the database
periodically and export the backup database to external storage.
The system supports the database automatic backup and manual backup.
The administrator can manually back up the database files when the system is not
busy. Database manual backup can back up all types of databases.
Besides, the system provides the automatic database backup function. The automatic
database backup function can back up all types of databases except the HTTP URL
Detection Result databases, System Management databases, GeoIP database and
Database Management database.
The implementation of automatic database backup function is divided into two steps:
generating automatic backup task and executing automatic backup task. Under the
following circumstances, the system will generate automatic backup tasks:
When a single database file exceeds 100 MB, the system creates a new database
folder and generates an automatic backup task for the old database.
When entering a new month, the system creates a new database folder and
generates an automatic backup task for the old database.
After the automatic backup task is generated, the system performs the automatic
backup tasks at the automatic backup time when the administrator sets the automatic
database backup. In addition, when the disk usage reaches the configured automatic
backup threshold, the system performs the automatic backup even if the specified
automatic backup time has not been reached.
2. Back up the DDoS Attack Log databases of a specified period. For example:
The system supports exporting the database backup files to the external storage,
which not only avoids the loss of critical database files, but also saves the disk space
by removing the original backed-up database files. The system supports manual
database export and daily database automatic export.
The administrator can manually export the database backup files when the system is
not busy. The administrator can delete the original database backup files after they are
successfully exported.
In addition, the administrator can configure the daily database automatic export to
achieve the purpose of automatic export of the database backup files.
1. Configure the FTP URL address to which the database backup files are exported.
For example:
When the system disk failure results in data loss or incorrect deletion of database files,
the administrator can import the database backup file from the external storage to the
appliance and restore them. The system supports importing the database backup files
of the external storage back to the appliance.
The system supports restoring the database backup files (including the local and
imported ones). If the database file to be restored already exists in the system, the
current database file will be overwritten when it is restored.
The system supports resetting the database. After the database is reset, the data stored
in the database will be cleared and the database will be initialized.
AN(config)#database reset
The system supports configuring the databases retention policy to control the
retention period of historical databases. By default, the system automatically
determines the database retention period according to the remaining free disk space.
Assume that the current month is March. To reteain the databased of February and
March, execute the following command:
AN(config)#database preserve 1
16.1 Logging
16.1.1 Overview
The logging mechanism used by the ASF appliance is Syslog compliant. The logging
subsystem is responsible for recording system errors and HTTP access information
during proxy application. Syslog is a standard program for Unix and there are also
Syslog implementations for Windows. On the Unix platform, syslog is started by the
syslogd daemon. The syslogd daemon listens at UDP 514 port and takes charge of
receiving and storing log messages from local machine or remote machine. The ASF
appliance supports sending log messages to three remote log servers.
Syslog logging has eight valid levels of log message severity: emerg, alert, crit, err,
warning, notice, info and debug. And the supported facilities are LOCAL0 to
LOCAL7. Administrators can view logs in the internal log buffer, select the transport
protocol, configure syslog source and destination ports, and set the severity of the
alerts on log message string match.
The HTTP access logging function supports four standard formats: Combined, WELF
(WebTrends Enhanced Log), Common and Squid. Administrators can define their
own logging format by using the “log http custom” command.
Note: The ASF appliance will record an HTTP access log only after the HTTP
communication between the client and the Web server is completed successfully.
Log filtering in ArrayOS allows administrators to collect only the logs that they are
interested in instead of having to collect all the logs. For example, the administrator of
“www.site1.com” may want to collect only the HTTP access logs for
“www.site1.com”. If knowing that these logs contain a keyword “site1.com”, the
administrator can create a filter for a log definition that captures only the logs that
match the keyword. The administrator will now have a log file that contains only the
desired logs.
If multiple log filters are set for a syslog host, the logs matching any one of the filter
strings will be sent to the syslog host.
You can configure a remote syslog host to receive all log messages by setting its ID to
0. Also, you can configure a remote syslog host to receive only a part of log messages
by not setting its ID to 0 and configure log filters for it. A maximum of 20 log filters
can be configured for a remote syslog host.
Note: Before configuring a remote syslog host, please make sure that the remote syslog
host is ready to receive log messages.
AN(config)#log on
AN(config)#log rfc5424 on
3. Set the remote syslog host (log server) to which log messages will be sent.
The “log host” command is used to configure the log server to receive log messages
generated by ArrayOS. The log server IP address must be specified in dotted IP
format. The remote port is optional, and the default value is 514. The transport
protocol for the syslog messages can be either UDP or TCP and the default is UDP.
A maximum of three log filters can be configured one syslog host. Log filters cannot
be configured for the syslog host whose ID is 0. After the following command is
executed, only the logs matching the filter string are sent to the syslog host.
Once a log level is set, messages with level below the configured level will be ignored.
The default level is info.
6. Set the log facility that the ASF appliance used to record logs.
The “log facility” command is used to modify the facility used to record log messages.
The system reserves eight facilities for use: LOCAL0 to LOCAL7. The default
facility is LOCAL0.
The administrator can configure the system to record HTTP access logs either in one
of the standard formats (Squid, WELF, Common or Combined) or in the customized
format.
The administrator can generate an emerg-level test log using the “log test” command.
AN(config)#log test
The administrator can view logs in the log buffer by using the “show log buff
{forward|backward} [match_str]” command. The parameters “backward” and
“forward” are used to display the logs that are generated latest and earliest
respectively.
The administrator can clear logs from the log buffer by using the “clear log buff”
command.
16.2 SNMP
The Simple Network Management Protocol (SNMP) framework consists of three
parts:
Network Management System (NMS): is the system used to control and monitor
the activities of network hosts using SNMP.
SNMP agent: The SNMP agent is the software component within the managed
device that maintains the data for the device and reports these data, as needed, to
managing systems.
The system supports the Simple Network Management Protocol (SNMP) function.
When the SNMP function is enabled, an SNMP agent will be enabled in the system.
Array Networks provides a proprietary MIB file containing the managed objects of
the ASF appliance. Every managed object is assigned a unique Object ID (OID). For
more information about the SNMP OIDs supported by the ASF appliance, refer
to Appendix I SNMP OID List.
The SNMP agent supports SNMP versions v1, v2c and v3. The SNMP agent currently
can provide the following functions:
After importing the MIB file of the ASF appliance to an NMS and setting SNMP
parameters correctly, NMS users can initiate SNMP GET requests to obtain the values
of the OIDs in the MIB files. Then, the SNMP agent on the ASF appliance will return
the value of the queried OIDs by sending the SNMP GET responses.
When using SNMP v3, the SNMP agent can support the User-Based Security Model
(USM), which provides user authentication and privacy for the SNMP messages, and
the View-Based Access Control Model (VACM), which provides IP-based SNMP
access control. Both security models can be used when the SNMP v3 is used.
When the USM is used, the SNMP agent responds only to the SNMP GET
requests sent from the NMS using a valid SNMP v3 user account. Therefore, to
use the USM, you need to create SNMP v3 user accounts for NMSs in the system.
A maximum of 16 SNMP v3 user accounts can be created.
When the VACM is used, the SNMP agent responds only to the SNMP GET
requests whose source IPs match any of the configured “permit” SNMP access
control rules. Therefore, to use the USM, you need to enable the IP-based SNMP
access control function and configure “permit” SNMP access control rules.
The SNMP agent will send an SNMP Trap to the NMS when any of the following
conditions is met:
Interface down or up
System startup
System shutdown
To allow an NMS to receive SNMP Traps from the SNMP agent, you should
configure the NMS as an SNMP Trap host on the ASF appliance. A maximum of 10
SNMP Trap hosts can be configured.
Note: The NMS does not resend responses to the SNMP agent and the
SNMP agent will not resend the SNMP Traps. Therefore, make sure the
SNMP Trap host configured using the “snmp host” command is reachable.
AN(config)#snmp ipcontrol on
AN(config)#snmp ippermit 192.168.0.0 255.255.0.0
5. Enable the SNMP agent on the ASF appliance, for example enabling the SNMP
agent supporting SNMP v3:
AN(config)#snmp on v3
To enable the SNMP agent supporting SNMP v1 and SNMP v2c, execute the “snmp
on default” command.
16.3 Troubleshooting
16.3.1 Debug
The system allows the administrator to collect debug data by executing the “debug
snapshot system” command. This command will take a snapshot for the system
activities and generate the sys_snap.tar.gz.gpg file.
The debug file can be exported to an external FTP server or SCP host.
To export the debug file to the external FTP server, execute the following command:
To export the debug file to the external SCP host, execute the following command:
16.3.2 Tools
The ASF appliance provides you with the following troubleshooting tools:
Ping: checks the network connectivity to the specified IPv4 network host by
sending Internet Control Message Protocol (ICMP) echo requests.
Ping6: checks the network connectivity to the specified IPv6 network host by
sending Internet Control Message Protocol Version 6 (ICMPv6) echo requests.
Traceroute: traces the route to the specified IPv4 network host by sending three
packets to each intermediate node on this route.
Traceroute6: traces the route to the specified IPv6 network host by sending three
packets to each intermediate node on this route.
To check the network connectivity to an IPv4 network host, execute the following
command:
AN>ping 10.8.6.50
AN>ping example.com
To check the network connectivity to an IPv6 network host, execute the following
command:
AN>ping6 2012::c
AN>ping6 ipv6.example.com
To trace the route to an IPv4 network host, execute the following command:
AN>traceroute 10.8.6.50
AN>traceroute ipv6.example.com
To trace the route to an IPv6 network host, execute the following command:
AN>traceroute6 2012::c
AN>traceroute6 ipv6.example.com
AN>nslookup example.com
The ASF appliance allows administrators to access remote devices via Telnet and
SSH to perform remote management tasks or assist owners of the remote devices for
troubleshooting issues.
To use the Telnet function on the ASF appliance, execute the “telnet "host port"”
command as follows:
To use the SSH function on the ASF appliance, execute the “ssh remote
"user@hostname"” command as follows:
Welcome to Ylmf_OS!
* Information: http://www.ylmf.com/
17.1 Overview
The packet filtering functionality of the ASF appliance allows you to create
permit/deny rules to filter packets passing through your network infrastructure. The
system supports the filtering of TCP, UDP and ICMP packets that are using the IPv4
or IPv6 address. By default, the packet filtering function is disabled on every
interface.
Packet filtering provides tight control over who may and may not enter the network
by utilizing ASF’s ultra-fast rules engine. This function ensures virtually no
performance loss with up to 1,000 ACL rules, while never consuming more than one
percent of ArrayOS capability.
To use packet filtering, the administrator should create permit and deny packet
filtering rules, associate them with interfaces and then enable the packet filtering
function for the interface.
Permit the IP address 10.10.10.30 to configure and manage the ASF appliance
through port 22 (for SSH access).
Permit the IP address 10.10.10.30 to configure and manage the ASF appliance
through port 8888 (for New WebUI access).
Permit all clients on the internal network to ping the IP address of port2 interface
(192.168.10.1).
This configuration example is based on the network topology in the following figure.
1. Permit the IP address 10.10.10.30 to configure and manage the ASF appliance by
using SSH at port 22
2. Permit the IP address 10.10.10.30 to configure and manage the ASF appliance by
using the new WebUI at port 8888.
1. Associates different types of packet filtering rules (with the packet filtering rule
ID 50) with a specified interface.
AN(config)#accessgroup 50 port2
2. Associates packet filtering rules (with the packet filtering rule ID 100) used for
management IP access with a specified interface.
3. Associates packet filtering rules (with the packet filtering rule ID 150) related to
virtual IP addresses with a specified interface.
AN(config)#webwall port2 on
AN(config)#webwall port1 on
Before enabling the the packet filtering function, please note that:
If you have configured a DNS server and need to enable packet filtering on the
interface through which DNS traffic will pass, you need to add corresponding
packet filtering rules to permit traffic on port 53.
If you need to enable packet filtering on the interface where the “synconfig to” or
“synconfig from” command is applied, you need to manually add packet filtering
rules to permit traffic on port 65,519; otherwise, configuration synchronization
will fail.
After the packet filtering function is enabled, if you need to adjust configurations,
please note that the SSH or WebUI session in use might be terminated due to
misconfigurations.
After finishing configurations, you can use the “show accesslist” and “show
accessgroup” commands to check the configurations.
AN(config)#show accesslist
accesslist permit tcp 10.10.10.30 255.255.255.255 0 192.168.10.1 255.255.255.255 22 100
accesslist permit tcp 10.10.10.30 255.255.255.255 0 192.168.10.1 255.255.255.255 8888 100
accesslist permit tcp 0.0.0.0 0.0.0.0 0 10.10. 0.10 255.255.255.255 80 150
accesslist deny tcp 10.10.10.30 255.255.255.255 0 10.10. 0.10 255.255.255.255 0 150
accesslist permit icmp echorequest 192.168.10.0 255.255.255.255 192.168.10.1 255.255.255.255
50
accesslist permit icmp echoreply 192.168.10.1 255.255.255.255 192.168.10.0 255.255.255.0 50
AN(config)#show accessgroup
accessgroup 50 port2
accessgroup 100 port2
accessgroup 150 port1
If packet filtering rules are complicated, keep your configurations simple. With
multiple packet filtering rules, you can apply them once at a time to check which
packet filtering rule is causing problems. You can disable the packet filtering function
to determine if the function itself is indeed causing the problem.
To view the interfaces on which packet filtering is enabled, run the “show interface”
command. For example:
AN(config)#show webwall
webwall "port2" on 0
webwall "port3" on 0
To view the packet drop statistics on the function, run the “show interface” command.
packet drop (not permit): 0 indicates number of packets dropped by default denial
rules;packet drop (deny): 0 indicates number of packets dropped by configured denial
rules.
AN(config)#show interface
port2(port2): flags=2008842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:25:90:39:97:f1
media: autoselect
status: no carrier
webwall status: ON
Hardware is i82574l
Input queue: 0/4096 (size/max)
total: 0 packets, good: 0 packets, 0 bytes
broadcasts: 0, multicasts: 0
0 64 bytes, 0 65-127 bytes,0 128-255 bytes