首页 > 其他分享 >freeswitch的ACL规则

freeswitch的ACL规则

时间:2022-10-13 12:11:58浏览次数:40  
标签:xml auto acl conf 规则 freeswitch ACL

 

 

概述

freeswitch是一款好用的VOIP开源软交换平台。

VOIP公共网络中的安全问题是最重要的问题,我们必须对网络端口的访问权限做出限制。

ACL全称Access Control List,意为访问控制列表,是一个权限(或规则)列表,列表定义了允许哪些网络实体访问目标对象。

环境

centos:CentOS  release 7.0 (Final)或以上版本

freeswitch:v1.8.7

GCC:4.8.5

acl规则配置

acl规则的配置文件${conf_dir}/autoload_configs/acl.conf.xml,默认配置如下。

<configuration name="acl.conf" description="Network Lists">

  <network-lists>

    <!--     These ACLs are automatically created on startup.

     rfc1918.auto  - RFC1918 Space

     nat.auto      - RFC1918 Excluding your local lan.

     localnet.auto - ACL for your local lan.

     loopback.auto - ACL for your local lan.    -->

 

    <list name="lan" default="allow">

      <node type="deny" cidr="192.168.42.0/24"/>

      <node type="allow" cidr="192.168.42.42/32"/>

    </list>

 

    <!--    This will traverse the directory adding all users

    with the cidr= tag to this ACL, when this ACL matches

    the users variables and params apply as if they

    digest authenticated.    -->

    <list name="domains" default="deny">

      <!-- domain= is special it scans the domain from the directory to build the ACL -->

      <node type="allow" domain="$${domain}"/>

      <!-- use cidr= if you wish to allow ip ranges to this domains acl. -->

      <!-- <node type="allow" cidr="192.168.0.0/24"/> -->

    </list>

 

  </network-lists>

</configuration>

allow表示允许,deny表示拒绝。

acl.conf.xml文件中配置的list名称,可以用于呼叫中的acl鉴权。

该文件有修改时,可以使用命令刷新内存中的acl规则。

reloadacl reloadxml

但是该命令不会刷新新增的acl列表,新增acl列表需要重启fs才能生效。

预设acl规则

fs内置的acl预设规则项(Pre-defined ACLs)。

预设的acl规则项包括如下,可以当作内置变量直接使用。

rfc1918.auto         RFC 1918 Space

nat.auto               RFC 1918, excluding your local LAN

localnet.auto        ACL for your local LAN

loopback.auto      ACL for your local LAN

wan.auto              公网地址

sip配置项

fs支持的sip配置项主要在sip_profile下的配置文件中使用,作用于该端口的所有呼叫控制acl。

apply-inbound-acl,呼入acl规则。

apply-register-acl,注册acl规则。

apply-proxy-acl,代理acl规则。

apply-candidate-acl,webrtc的ice框架下可选媒体地址acl规则。

auth-calls,账户鉴权acl规则,包括inbound和register。

示例如下。

配置conf/sip_profile/external.xml如下,则从5080端口呼入的呼叫来源IP都要符合“inbound-acl”规则。

<param name="apply-inbound-acl" value="inbound-acl"/>

配置conf/sip_profile/internal.xml如下,则从5060端口注册的消息来源IP都要符合“register-acl”规则。

<param name="apply-register-acl" value="register-acl"/>

配置conf/directory/default/10011.xml如下,则10011账户的注册/呼叫消息来源IP都要符合“auth-calls-acl”规则。

<param name="auth-acl" value="auth-calls-acl"/>

呼叫acl配置示例

如果我们希望对呼叫进行acl控制,有俩种常用方案。

方案一,配置conf/sip_profile/external.xml如下,则5080端口呼入的呼叫来源IP都要符合“inbound-acl-001”规则。

<param name="apply-inbound-acl" value="inbound-acl-001"/>

方案二,配置conf/dialplan/test001.xml如下,则所有进入拨号计划“foo-hosts-calls”的呼叫来源IP都要符合“list_foo”规则。

<extension name="foo-hosts-calls">

  <condition field="${acl(${network_addr} list_foo)}" expression="true"/>

  <condition field="destination_number" expression="(.*)">

    <action application="bridge" data="sofia/switchbox/[email protected]:5060"/>

  </condition>

</extension>

配置“${acl(${network_addr} list_foo)}”中的acl为fs的app接口,acl接口的作用是测试ip是否符合“list_foo”规则。

总结

对于公共网络中的VOIP服务,不管如何强调安全性都不为过,linux服务器本身的防护墙和fs服务的acl规则都要正确配置,尽可能的预防和减少sip扫描的威胁。

 

空空如常

求真得真

标签:xml,auto,acl,conf,规则,freeswitch,ACL
From: https://www.cnblogs.com/qiuzhendezhen/p/16787737.html

相关文章

  • Oracle数据恢复
     注意事项恢复被delete删除的数据,删除时间点很关键,orcle所在服务器的时间和真实时间可能不同。比如,你在自己电脑显示时间为2022/10/1310:15:02时,误删了数据,而此时orcl......
  • Oracle的SYSAUX表空间
    在Oracle10g版本中,引入了SYSTEM表空间的一个辅助表空间:SYSAUX表空间。        SYSAUX表空间存放一些其他的metadata组件,如OEM,Streams等会默认存放在SYSAUX......
  • Oracle SQL 性能調整
    1.选用适合的ORACLE优化器  ORACLE的优化器共有3种:  a. RULE(基于规则)  b.COST(基于成本) c.CHOOSE(选择性)  设置缺省的优化器,可以通过对init.ora......
  • oracle修改字段类型报错ORA-01439: column to be modified must be empty to change d
    可用如下方式,都是一样的,修改字段类型的列的数据必须为空!ORA-01440:要减小精度或标度,则要修改的列必须为空问题修复-信铁寒胜-博客园(cnblogs.com) ......
  • 【Vegas原创】Oracle Dblink(链接服务器)创建(Oracle对Oracle的链接)以及SQL对Oracle的互
    Oracle对Oracle的链接:创建:CREATEPUBLICDATABASELINKlinknameCONNECTTOusernameIDENTIFIEDBYpasswordUSING‘tnsname’删除:DROPPUBLICDATABASELINKlin......
  • VOFM修改组单开票时会计凭拆分规则
    货铺QQ群号:834508274之前有人问到例程的内容,我好久不做了,应该是17年还是18年做过。当时是因为组单开票的时候,发现本来应该开在一张凭证上的单子开出来两张凭证。......
  • 云的安全组和网络ACL
    云的安全组和网络ACL1.流量控制:安全组是云服务器、数据库等实例级别的流量控制​ACL是子网级别的流量控制2.规则:安全组和网络ACL都支持允......
  • 使用java代码连接oracle
    Connectionconn=null;try{Class.forName("oracle.jdbc.OracleDriver");//数据库IPStringip="oracle数据库IP地址或者是localhost";//数据库......
  • oracle 21c expdp报错误UDE-31623
     环境:OS:Centos7DB:21C 导出报错expdpc##goldengate/goldengate@tnspdb1tables=hxl.tb_testdumpfile=tb_test.dmpFLASHBACK_SCN=4990304parallel=5direct......
  • Verilog中端口的连接规则
    摘自于(15条消息)Verilog中端口应该设置为wire形还是reg形_CLL_caicai的博客-CSDN博客,以及(15条消息)Verilog端口连接规则_「已注销」的博客-CSDN博客_verilog端口连接......