In this section:
Several important settings are available to improve the security of Access configurations.
IP Access Control Lists (ACLs) are used to protect the SBC Core from attacks. IP ACLs allow you to specify rules that permit or deny packets into the SBC. For example, you can permit traffic from one particular IP address, but deny traffic from all other IP addresses.
Only signaling and management IP traffic is subjected to IP ACL filtering. Media IP traffic (RTP) is not subject to IP ACL filtering. In most cases, you only need to define ACLs on the UNTRUSTED or EXTERNAL interface groups. These are the interfaces used to communicate with third parties such as a trunk group to another service provider or phones from the public Internet.
Each ACL is configured with a unique precedence, between 1 and 65,535. ACLs are evaluated in the order of precedence, with 1 being the highest priority, and the first ACL evaluated. For a rule that is matched by two separate ACL, the one that is evaluated first (lowest number= higher priority) takes precedence.
For a SIP Trunking configuration, you should define ACL "white lists" that only allow traffic from the far ends (IP address) you are peering with. ACLs are used to prevent traffic from all other IP addresses except those on the "white list".
For each trunk group, an ACL that allows traffic from the far end should be created with a high priority (low precedence value). Then, a "Block Everything Else" ACL should be created at a lower priority (higher precedence value). This has the effect of blocking all traffic EXCEPT traffic that is explicitly allowed.
The below rule allows unlimited traffic from "10.35.66.187" (this is the IP address of the far end in our example configuration in this document. This IP address would also be an IP Peer, and in the trunk group ingress IP prefix) to destination port 5060.
set addressContext "default" ipAccessControlList rule "WHITELIST_PEER_01" precedence "1000" protocol "udp" ipInterfaceGroup "EXTERNAL.IPIG" sourceIpAddress "10.35.66.187" sourceAddressPrefixLength "32" destinationPort "5060" state "enabled"
sourceAddressPrefixLength
is set ("32" is used in the above example).Otherwise, the parameter defaults to "0" which will allow all IP addresses to get "white listed".The below rule blocks all traffic that is not explicitly allowed:
set addressContext "default" ipAccessControlList rule "DENYALL_UNTRUST" precedence "65015" ipInterfaceGroup "EXTERNAL.IPIG" action "discard"
The precedence of WHITELIST_PEER_01 is a lower value than DENYALL_UNTRUST. This causes WHITELIST_PEER_01 to take precedence over DENYALL_UNTRUST, which allows traffic from 10.35.66.187 to be accepted by the SBC.
For a SIP Access configuration you do not manually "white list" the IP address of all the phones that will be registering (since the address may change and there are so many). Instead you create a rule that allows traffic destined for the SIP Port of the SBC.
Summary of Steps Needed:
The below rule is an example for Step #1, where 10.35.66.143 is the SBC SIP Port IP address that phones register with, and 5060 is port.
set addressContext "default" ipAccessControlList rule "ALLOW_SIP_PORT_ACCESS" precedence "1001" protocol "udp" ipInterfaceGroup "EXTERNAL.IPIG" destinationIpAddress "10.35.66.143" destinationPort "5060"
The below rule is a step 3 example.
% set addressContext "default" ipAccessControlList rule "DENYALL_ACCESS" precedence "65020" ipInterfaceGroup "EXTERNAL.IPIG" action "discard"
You may wish to allow some ICMP traffic. This can be useful for network debugging situations. Also, if you have the SBC Link Detection feature enabled with Ping Targets, then you must allow Ping traffic. Make sure this has a lower precedence value than your "discard all" rule.
The below command allows a small amount of ICMP traffic:
set addressContext "default" ipAccessControlList rule "AllowICMP_UNTRUST" precedence "64985" protocol "icmp" ipInterfaceGroup "EXTERNAL.IPIG" fillRate "10" bucketSize "10" state "enabled"
Some system-defined ACLs are automatically set up on the SBC for known services such as SNMP, SSH, SFTP, HTTP, HTTPS. Refer to IP ACL Policing - Packet Filtering for more details.
You can display the system defined ACL status:
% show status addressContext default ipAccessControlList
When you define an ACL, it takes precedence over a similar system-defined ACL. For example, if you have a third-party management system that exceeds the predefined rate for SNMP traffic, you can set up an ACL to override the default rules and allow traffic. You could, for example, allow all traffic ("white list") from the IP of the third-party management system.