DO NOT SHARE THESE DOCS WITH CUSTOMERS!
This is an LA release that will only be provided to a select number of PLM-sanctioned customers (PDFs only). Contact PLM for details.
In this section:
Several important settings are available to improve the security of Access configurations.
Table 1: Access Configuration Security Settings
Configuration | Setting | Details |
---|---|---|
SIP Sig Controls | Multiple Contacts per AOR | Enable this flag to pass REGISTRATIONs from a different IP address/port than the currently successful REGISTRATION (for example a second SIP client using the same username) to the Feature Server for authentication. If this setting is not enabled, a fraudulent user that has the details of a legitimate user could make and receive calls. View settings: Set command: References: Signaling - Global - CLI, Signaling - SIP Sig Controls (EMA) |
SIP Sig Controls | Registrar Support Contact Param | Enable this flag to support parameters in the Contact header. Many feature servers require this setting. View settings: > Set command: References: Signaling - Global - CLI, Signaling - SIP Sig Controls (EMA) |
Trunk Group | Require Registration | On the trunk group facing the phones (PHONES in our example), the This setting ensures that calls from subscribers that arrive on this trunk group are only allowed if a valid registration for that subscriber has occurred. Calls that arrive from endpoints that are not registered are not allowed. View settings: Set command: References: SIP Trunk Group - Signaling - CLI, Trunk Group - SIP Trunk Group (EMA) |
Expires timer and Inside Expires timer | Set the Expires timer which controls how often the phones will Register, and the Inside Expires timer which is how often the SBC registers with the Feature Server (PBX or Class-5 Softswitch) on behalf of the phone. The Inside timer is typically set to 1 hour while the phones Registration timer is typically set to 60 seconds. View settings: Set command: References: SIP Trunk Group - Signaling - CLI, Trunk Group - SIP Trunk Group (EMA) | |
Relay Non-Invite Request | This setting should be "disabled". Note that SUBSCRIBE for Registered Users will still be sent to the feature server. View settings: Set command: References: SIP Trunk Group - Signaling - CLI, Trunk Group - SIP Trunk Group (EMA) | |
Number of simultaneous calls per | In the case where a username and password have been compromised, limiting the number of simultaneous calls can reduce the impact of fraud. This SBC feature can be activated by assigning a CAC profile to the trunk group facing the phones (PHONES). The field is called: This profile should be set to limit the number of simulation calls. Use this command to display CAC profiles:
View settings: Set command: References: | |
Feature Server | Number of simultaneous calls per subscriber on the feature server | In the case where a username and password have been compromised, limiting the number of simultaneous calls can reduce the impact of fraud. This function may be available at the feature server. |
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.