This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Firewall breach via SIP this morning!

OK, I had a MAJOR SIP breach this morning. Let me start with what I have configured on the firewall. I configured SIP settings under the network security section with a server network of the SIP service provider IP and the client network as my internal VoIP network (all VoIP phones and the PBX are located on their own network). SIP seemed to be working fine.

This morning I had a sheriff show up at my door because there was a 911 hang up from our number.  Looking at the PBX logs I saw that there was a very long list of attempts to access our server and in fact there were four attempts to place international calls and one 911 hangup. The fact that this traffic made it to the PBX means it got through the firewall.  I was under the impression that the security I setup would prevent this. The setup was done using version 8.xx from the web site and was upgraded via up2date to 8.103 and then 8.201.

I then decided to see if I could register a soft phone from outside of my VoIP network and in fact I was able to connect to the PBX from the WAN side of the link, right through the firewall.  Next I disabled the SIP configuration in the firewall and re-enabled it re-checking my settings.  Once I had done this, the settings seemed to take and I was no longer able to connect to the PBX from the WAN side. So while that particular vulnerability "seems" to be solved, I am not sure what caused it.  I am also not clear if I was vulnerable from the start or of it occurred at some point after configuration. However, the breach was significant and very unexpected.

Mike


This thread was automatically locked due to age.
Parents
  • OK, a lot more trial and error and I think I have a solution that will work. It has a few trade-offs, but it meets all of the criteria I setup for the solution. I am not sure what the SIP helper is doing that my packet filters and DNAT rules did not (I would love to know), but I've settled on a hybrid solution.

    I have enabled the SIP helper and put my network group which contains all 28 hosts into the SIP host field (although it appears to work with just the two signaling hosts in this field as well). I put the PBX into the client field. I checked the strict box.

    I then created a DNAT rule that has the network group containing all 28 media hosts in the source field, any in the service field (I trust my provider), although if you want to be more secure you could allow only RTP ports required by your PBX here and finally the external WAN address. I alter the destination to the PBX, but leave the ports field empty. This will get all of my incoming media streams to the PBX as intended. I checked the automatic filter box to setup the inbound packet filter.

    Although, at first, I did not think I needed an outbound packet filter for media, it turns out that in some cases I do. So I created a packet filter from my PBX, for any service, to the SIP providers hosts using the network group with all 28 hosts. 

    With these changes, I have no dropped VoIP packets. I cannot connect from the Internet to my internal PBX to register a device (which was desirable in this case). I did not test if I was able to override this with a DNAT rule.

    Unfortunately, with this solution I lose the "SIP Call" logging that appears when the strict option is not selected. I am not sure why this could not be logged with strict set (I think this is a bug), but I am OK with not having that, if it means that all the other criteria is met.

    I just wanted to follow up for others who might find themselves in a similar situation some day.

    Mike
Reply
  • OK, a lot more trial and error and I think I have a solution that will work. It has a few trade-offs, but it meets all of the criteria I setup for the solution. I am not sure what the SIP helper is doing that my packet filters and DNAT rules did not (I would love to know), but I've settled on a hybrid solution.

    I have enabled the SIP helper and put my network group which contains all 28 hosts into the SIP host field (although it appears to work with just the two signaling hosts in this field as well). I put the PBX into the client field. I checked the strict box.

    I then created a DNAT rule that has the network group containing all 28 media hosts in the source field, any in the service field (I trust my provider), although if you want to be more secure you could allow only RTP ports required by your PBX here and finally the external WAN address. I alter the destination to the PBX, but leave the ports field empty. This will get all of my incoming media streams to the PBX as intended. I checked the automatic filter box to setup the inbound packet filter.

    Although, at first, I did not think I needed an outbound packet filter for media, it turns out that in some cases I do. So I created a packet filter from my PBX, for any service, to the SIP providers hosts using the network group with all 28 hosts. 

    With these changes, I have no dropped VoIP packets. I cannot connect from the Internet to my internal PBX to register a device (which was desirable in this case). I did not test if I was able to override this with a DNAT rule.

    Unfortunately, with this solution I lose the "SIP Call" logging that appears when the strict option is not selected. I am not sure why this could not be logged with strict set (I think this is a bug), but I am OK with not having that, if it means that all the other criteria is met.

    I just wanted to follow up for others who might find themselves in a similar situation some day.

    Mike
Children
No Data