CCAdmin - 顶顶通呼叫中心中间件Web管理系统 CCAdmin - 顶顶通呼叫中心中间件Web管理系统
空号识别
  • 介绍
  • 基本功能(ippbx)
  • 电话机器人(AI)
  • 语音识别
  • 空号识别
  • 在线预览 (opens new window)
  • 顶顶通官网 (opens new window)
  • 顶顶通博客 (opens new window)
日志 (opens new window)
空号识别
  • 介绍
  • 基本功能(ippbx)
  • 电话机器人(AI)
  • 语音识别
  • 空号识别
  • 在线预览 (opens new window)
  • 顶顶通官网 (opens new window)
  • 顶顶通博客 (opens new window)
日志 (opens new window)
  • 介绍
  • 功能介绍
  • 快速开始
  • 基本电话功能

    • 分机配置

      • 分机互打
      • 手机注册分机
      • 浏览器SIP电话
    • 线路配置

      • 网关对接
      • ims对接
      • IP对接
      • 反向注册对接
      • 发起外呼
    • 点击拨号

      • 添加自定义变量
      • 进入机器人话术
    • FAQ

      • 呼入配置
      • 回铃音补偿
      • 长签功能
      • 限制通话时长
      • 通话录音相关问题
      • CDR分析挂断情况
      • 呼入实现同振与顺振
      • 记忆呼叫与回拨分机的运用
      • 自定义变量添加到CDR
      • 自定义变量添加到分机呼叫信息
      • http接口返回线路组名称
      • 讯时语音网关按线路对接
      • freeswitch无法启动处理流程
      • CCAdmin-web访问失败
      • 关键词过滤freeswitch日志
  • 语音识别

    • asrproxy安装
    • 模型对接

      • 对接第三方ASR
      • 对接第三方TTS
      • 对接不同语种的ASR
      • ASR组的配置与使用
      • 私有化部署ASR
      • 私有化部署TTS
      • 阿里云国际站对接例子
      • asrproxy对接自定义ASR
      • mod_cti对接自定义TTS
      • 测试
    • FAQ

      • 修改VAD模型参数
      • 一句话模型对接方式
  • 自动外呼场景

    • 进入排队转坐席
    • 进入json话术
    • 进入http话术
  • 机器人话术

    • 话术测试流程

      • json话术测试流程
      • http话术测试流程
    • FAQ

      • 机器人话术转坐席人工
      • 机器人通话手动转接给坐席
      • 话术挂断之后是否处理事件
  • SIP安全

    • mod_cti安全加强
      • 功能介绍
      • 升级mod_cti版本
      • sofia安全性加强
      • 分机安全性增强
        • cti.json配置
        • 分机注册失败日志
      • 相关命令
        • 查看账号封杀记录
        • 解封账号命令
    • fail2ban程序安装
  • 替换授权与程序升级

    • 升级Freeswitch
    • 授权替换
    • 更换Redis连接
  • 指南
  • SIP安全
顶顶通
2024-12-03
目录

mod_cti安全加强

# 功能介绍

FreeSWITCH暴露在公网最大的风险就是被盗打,所以我们这次针对sofia配置和分机配置的安全性,做个一次升级:

  • sofia安全性:
    • internal强制要求勾选auth-calls。
    • external的apply-inbound-acl参数不允许为空。
    • external的呼叫路由参数不允许选择internal或者default。
  • 分机安全性:
    • 分机密码需要足够复杂。

# 升级mod_cti版本

mod_cti新增防盗打功能,只有将mod_cti升级到最新的版本,才支持该功能。

  • 执行 mod_cti 升级命令:sudo curl -s http://down.ddrj.com/upgrade.sh | sudo bash -s mod_cti

  • 升级完成后,重启freeswitch程序。

  • 查看版本命令:fs_cli -x "cti status"

    mod_cti版本要求

  • 执行命令:fs_cli -x "sofia status",查看sofia_profile加载情况。如果有部分sofia_profile没有加载出来,跳转到sofia安全性加强,找出解决方法;如果全部的sofia_profile加载出来了,可以跳过sofia安全性加强。

# sofia安全性加强

  • 以 internal开头的sip配置,例:internal1、internal2等。强制要求勾选auth_calls参数。

    • 如果未按要求配置,前台启动freeswitch时,启动日志中出现报错:

      2024-12-03 15:37:35.491271 0.00% [ERR] cti_gui.c:406 sofia_profile:internal auth-calls not true refuse load
      
      1
    • 解决方法:CCAdmin-web->呼叫中心->sip设置 页面中,将所有以 internal开头的sip配置,勾选上auth_calls参数。然后重新启动freeswitch程序。

  • external sip配置强制要求设置apply-inbound-acl参数,不能为空。

    • 如果未按要求配置,前台启动freeswitch时,启动日志中出现报错:

      2024-12-03 15:41:00.266846 0.00% [ERR] cti_gui.c:416 sofia_profile:external apply-inbound-acl is empty refuse load
      
      1
    • 解决方法:CCAdmin-web->呼叫中心->sip设置 页面中,找到externalsip配置中的apply-inbound-acl参数,设置inbound。然后重新启动freeswitch程序。

  • externalsip配置中,呼叫路由参数不允许选择internal或者default。

    • 如果未按要求配置,前台启动freeswitch时,启动日志中出现报错:

      2024-12-03 15:37:35.491279 0.00% [ERR] cti_gui.c:422 sofia_profile:external context:internal refuse load
      或者
      2024-12-03 15:37:35.491279 0.00% [ERR] cti_gui.c:422 sofia_profile:external context:default refuse load
      
      1
      2
      3
    • 解决方法:CCAdmin-web->呼叫中心->sip设置 页面中,找到externalsip配置中的呼叫路由参数,选择external。然后重新启动freeswitch程序。

# 分机安全性增强

# cti.json配置

  • mod_cti 版本升级完成后,默认生效以下配置,无需配置:

            "password_minimum":6,      //默认密码最小6位
            "password_strength": 3,    //0:没要求 1:必须包含数字、小写字母、大写字母、特殊符号中的1种以上,2:必须包含2种以上 3(默认值):必须包含3种以上,4:必须4种都包含。
    
            /*注册失败后cti封堵策略*/
            "register_failure":[
                {
                    "findtime":60,   //分析最近多少秒的失败记录
                    "maxretry":3,    //鉴权最大失败次数,超过就封堵这个IP或者账户
                    "banmode":1,     //封堵方式 0: 根据IP封堵,1:分机和IP都一样才封堵,可以避免只要一个分机错了密码,就直接把这个IP封堵了。
                    "bantime":180     //封堵时间单位秒,默认180秒
                }
            ],
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
  • 如果想要修改配置,则需要将配置添加到cti.json配置文件的指定位置,然后再进行修改。配置添加位置如图所示:

    修改配置文件

# 分机注册失败日志

分机注册失败,freeswitch控制台中会输出日志,注册失败的场景不同,日志也会不同。以下是不同场景分机注册失败输出的日志:

  • 分机密码复杂度未达到指定要求的日志:
2024-12-03 16:58:03.871785 99.37% [WARNING] cti_gui.c:1032 sip_auth user:1001 password is too simple
1
  • 分机密码长度未达到指定要求的日志:
2024-12-03 16:58:03.871785 99.37% [WARNING] cti_gui.c:1032 sip_auth user:1001 password is too short
1
  • 分机注册时密码输入错误的日志:
2024-12-03 16:53:16.312291 99.23% [NOTICE] cti_fail2ban.c:445 write to fail2ban:ip[192.168.31.242] user[1001] at[2024-12-03T16:53:16.312291+0800] Registration failed
 succeed!
1
2

# 相关命令

# 查看账号封杀记录

freeswitch控制台执行命令:cti show baninfo

输出结果展示:

-ERR no reply

register_failure_config:
	findtime:60 maxretry:3 banmode:1 bantime:180
register_failure_history:
	2024-12-03 14:14:54 192.168.31.16 1002
	2024-12-03 14:15:26 192.168.31.16 1002
	2024-12-03 14:15:58 192.168.31.16 1002
	2024-12-03 14:16:30 192.168.31.16 1002
	2024-12-03 14:17:02 192.168.31.16 1002
	2024-12-03 14:17:34 192.168.31.16 1002
	2024-12-03 14:18:06 192.168.31.16 1002
	2024-12-03 14:18:38 192.168.31.16 1002
	2024-12-03 14:19:10 192.168.31.16 1002
	2024-12-03 14:19:42 192.168.31.16 1002
	2024-12-03 14:20:14 192.168.31.16 1002
	2024-12-03 15:10:57 192.168.31.242 1001
	2024-12-03 15:11:00 192.168.31.242 1001
	2024-12-03 15:11:01 192.168.31.242 1001
	2024-12-03 15:11:03 192.168.31.242 1001
register_failure_bandata:
	192.168.31.242 expires:
		1001 expires:2024-12-03 15:13:03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 解封账号命令

  • 例:从以上的输出结果展示可以看出,封杀账号是1001,账号注册ip为192.168.31.242。

    想要解封账号1001,在freeswitch控制台执行命令:cti unban 192.168.31.242 1001

  • 例:如果192.168.31.242这个IP下,封杀了多个账号,一个一个解封太麻烦。

    想要解封这个IP下的所有账号,在freeswitch控制台执行命令:cti unban 192.168.31.242

上次更新: 2024/12/21, 17:12:40
话术挂断之后是否处理事件
fail2ban程序安装

← 话术挂断之后是否处理事件 fail2ban程序安装→

微信:cdevelop
Copyright © 2024-2025 福州晋安区顶顶通软件有限公司  |  闽ICP备17029631号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式