Disabling the Sending and Receiving of ICMPv6 Packets
When the network condition is good, the device can receive or send ICMPv6 packets. However, in case of large volume traffic, if the host unreachable and port unreachable conditions frequently occur, the device will receive or send a large number of ICMPv6 packets, which will overload the network and compromise device performance. In addition, attackers usually use ICMPv6 error packets to probe internal network structure to further launch attacks.
To improve network performance and enhance network security, you can disable the function of receiving or sending ICMPv6 reply packets, host unreachable packets, and port unreachable packets in the system.
Disabling Unused Ports and Services
Disable unused ports, for example, DHCPv6 port, to reduce the attack surface and prevent attacks on open ports.
Some services (such as dynamic domain name resolution) consume a large number of CPU resources on the management plane. When DNS flood attacks occur, the CPU may be overloaded. To avoid such situation, you can disable these services.
Configuring Refined Security Policies
Loose matching conditions will bring security risks. Refined security policies can block packets with specific IPv6 addresses or packets of specific types.
Preventing Source IP Address Spoofing Attacks
If an attacker sends a request packet with a forged source IP address to the server, the server will send a response packet to the host at the real source IP address. This forged packet attacks both the server and the real host. A flood of such forged packets consumes a great amount of network resources and may trigger a denial of service (DoS) attack. Unicast reverse path forwarding (URPF) can effectively protect the network against malicious attacks initiated by changing the source IP address of packets.
system-view
undo ipv6 icmp { icmpv6-type icmpv6-code | icmpv6-name | all } send
You can also run the undo ipv6 icmp all send command to disable the system from sending all types of ICMPv6 packets.
undo ipv6 icmp { icmpv6-type icmpv6-code | icmpv6-name | all } receive
# Disable the DHCPv6 server or DHCPv6 PD server function in the system view.
undo dhcpv6 server { allow-hint | preference | rapid-commit | unicast } *
interface interface-type interface-number undo dhcpv6 server quit
system-view undo dns resolve
ip service-set icmp6_echo_reply type object //Create a service set. service 0 protocol icmpv6 icmpv6-type 129 0 //Add a member and specify the ICMPv6 packet type and code. quit security-policy rule name block_abnormal_icmp6 source-zone untrust destination-zone trust service icmp6_echo_reply //Reference the created service set. action deny quit
security-policy rule name block_abnormal_ipv6 source-address ff::8 action deny quit