Information
The Cisco multicast Rendezvous Point (RP) router must be configured to filter Protocol Independent Multicast (PIM) Join messages received from the Designated Router (DR) for any undesirable multicast groups.
GROUP ID: V-216810RULE ID: SV-216810r856449
MSDP peering between networks enables sharing of multicast source information. Enclaves with an existing multicast topology using PIM-SM can configure their RP routers to peer with MSDP routers. As a first step of defense against a denial-of-service (DoS) attack, all RP routers must limit the multicast forwarding cache to ensure that router resources are not saturated managing an overwhelming number of PIM and MSDP source-active entries.
Solution
The risk associated with this requirement can be fully mitigated by configuring the router to filter PIM register messages, rate limiting the number of PIM register messages, and accept MSDP packets only from known MSDP peers.
Step 1: Configure the router to filter PIM register messages received from a multicast DR for any undesirable multicast groups and sources. The example below will deny any multicast streams for groups 239.5.0.0/16 and allow from only sources 10.1.2.6 and 10.1.2.7.
RP/0/0/CPU0:R2(config)#ipv4 access-list PIM_REGISTER_FILTERRP/0/0/CPU0:R2(config-ipv4-acl)#deny ipv4 any 239.5.0.0 0.0.255.255RP/0/0/CPU0:R2(config-ipv4-acl)#permit ipv4 host 10.1.2.6 anyRP/0/0/CPU0:R2(config-ipv4-acl)#permit ipv4 host 10.1.2.7 anyRP/0/0/CPU0:R2(config-ipv4-acl)#deny ipv4 any anyRP/0/0/CPU0:R2(config-ipv4-acl)#exitRP/0/0/CPU0:R2(config)#router pimRP/0/0/CPU0:R2(config-pim)#address-family ipv4RP/0/0/CPU0:R2(config-pim-default-ipv4)#accept-register PIM_REGISTER_FILTERRP/0/0/CPU0:R2(config-pim-default-ipv4)#end
Step 2: Configure the RP to rate limit the number of multicast register messages.
RP/0/0/CPU0:R2(config)#router pimRP/0/0/CPU0:R2(config-pim)#address-family ipv4RP/0/0/CPU0:R2(config-pim-default-ipv4)#maximum register-states 250RP/0/0/CPU0:R2(config-pim-default-ipv4)#end
Step 3: Configure the receive path or interface ACLs to only accepts MSDP packets from known MSDP peers.
RP/0/0/CPU0:R2(config)#ipv4 access-list EXTERNAL_ACL_INBOUNDRP/0/0/CPU0:R2(config-ipv4-acl)#permit tcp host x.1.28.2 host x.1.28.8 eq 639RP/0/0/CPU0:R2(config-ipv4-acl)#deny tcp any host x.1.28.8 eq 639 logRP/0/0/CPU0:R2(config-ipv4-acl)#permit tcp host x.1.28.2 host x.1.28.8 eq bgpRP/0/0/CPU0:R2(config-ipv4-acl)#permit tcp host x.1.28.2 eq bgp host x.1.28.8RP/0/0/CPU0:R2(config-ipv4-acl)#permit pim host x.1.28.2 host x.1.28.8RP/0/0/CPU0:R2(config-ipv4-acl)#permit tcp any any established.........RP/0/0/CPU0:R2(config-ipv4-acl)#deny ip any any log