Asterisk安全配置避坑指南从sip.conf到extensions.conf防止你的PBX被当成跳板当企业将Asterisk PBX系统从内网环境扩展到公网访问时默认配置往往隐藏着致命安全隐患。许多管理员在完成基础搭建后常因忽视几个关键参数而导致系统成为攻击者的跳板。本文将深入解析sip.conf和extensions.conf中那些容易被忽略的安全陷阱并提供一套可立即落地的加固方案。1. SIP协议安全加固超越默认密码的防护策略在公网环境中SIP协议的5060端口就像敞开的大门。仅修改默认密码远远不够我们需要建立多层防御体系。1.1 访问控制列表ACL实战sip.conf中的permit/deny规则是防火墙后的第二道防线。以下是一个生产环境推荐配置[general] ; 仅允许公司办公网IP段访问SIP服务 permit192.168.1.0/255.255.255.0 deny0.0.0.0/0注意当员工需要远程办公时建议通过VPN接入内网再访问PBX而非直接开放公网访问1.2 密码策略与加密传输弱密码是PBX沦陷的首要原因。除了设置复杂密码外还应启用TLS加密[1001] typefriend secretZxK8$pL2qW9yB4vN ; 使用16位混合密码 encryptionyes ; 启用SRTP加密 transporttls ; 强制TLS传输密码设置黄金法则长度不低于12字符包含大小写字母、数字和特殊符号定期90天轮换密码不同分机使用不同密码1.3 NAT与安全参数精解natyes和insecureinvite的组合常被滥用正确配置应当是这样参数危险值安全值影响分析natyesno避免NAT穿透导致的内网暴露insecureinvite,port空值强制完整认证流程canreinviteyesno防止媒体流绕过服务器qualifynoyes实时监测终端在线状态[general] natno insecure qualifyyes2. 拨号计划安全extensions.conf的权限控制艺术攻击者常利用脆弱的拨号规则进行国际话费欺诈。以下方案可有效防范此类风险。2.1 上下文(Context)隔离策略将内部通话与外部路由严格隔离[internal] exten _1XXX,1,Dial(SIP/${EXTEN}) ; 内部短号互拨 [outbound] exten _00X.,1,Set(DENY1) ; 阻断国际长途 exten _0[1-9].,1,Dial(SIP/trunk/${EXTEN}) ; 国内长途2.2 呼叫限制多维防护通过组合限制条件构建立体防护网[default] exten _X.,1,Set(GROUP()outbound) exten _X.,n,GotoIf($[${CALLERID(num)} 1001]?dial) exten _X.,n,Playback(no-permission) exten _X.,n,Hangup() exten _X.,n(dial),Dial(SIP/trunk/${EXTEN},,Tk) exten _X.,n,Set(CDR(accountcode)${STRFTIME(${EPOCH},,%Y%m%d)})关键控制维度主叫号码白名单被叫号码模式匹配并发呼叫数限制通话时长阈值时间段限制如禁止非工作时间外呼3. 系统级加固超越配置文件的防护措施3.1 网络架构最佳实践推荐部署拓扑[公网] → [防火墙] → [反向代理] → [Asterisk] → [内网] ↑ [IDS检测]必须实施的网络规则将SIP端口从5060改为非常用端口配置防火墙仅允许SBC/IPPBX的IP连接启用fail2ban防御暴力破解设置网络流量监控检测异常呼叫模式3.2 实时监控与审计通过以下命令建立监控体系# 查看实时通话 asterisk -rx core show channels # 检测异常注册 grep Registration from /var/log/asterisk/full | awk {print $NF} | sort | uniq -c # 生成呼叫统计报告 echo select dst,count(*) from cdr where calldate date_sub(now(), interval 1 day) group by dst having count(*) 10; | mysql -u asterisk -p asteriskcdrdb4. 安全运维清单从部署到应急响应4.1 部署时检查项[ ] 修改所有默认密码包括AMI接口[ ] 关闭不必要的模块如chan_skinny[ ] 设置配置文件权限为640[ ] 启用详细的日志记录[ ] 配置日志自动轮转和归档4.2 日常维护要点每周必须检查异常通话记录特别关注国际长途非工作时间段的呼叫高峰来自异常地理位置的注册尝试系统资源占用情况CPU/内存突增可能预示攻击4.3 入侵应急响应流程当发现可疑活动时立即备份当前配置和日志通过防火墙阻断可疑IP重置所有账户密码审查最近一周的CDR记录更新所有安全补丁在PBX服务器上保存以下应急工具包tcpdump抓包工具Wireshark安装包干净的配置文件模板关键系统命令速查表真正的安全不是一次性配置而是持续监控和改进的过程。每次系统变更时都应该问自己这个改动会打开新的攻击面吗只有保持这种警惕性才能确保PBX系统长期稳定运行。
Asterisk安全配置避坑指南:从`sip.conf`到`extensions.conf`,防止你的PBX被当成跳板
发布时间:2026/5/18 19:42:04
Asterisk安全配置避坑指南从sip.conf到extensions.conf防止你的PBX被当成跳板当企业将Asterisk PBX系统从内网环境扩展到公网访问时默认配置往往隐藏着致命安全隐患。许多管理员在完成基础搭建后常因忽视几个关键参数而导致系统成为攻击者的跳板。本文将深入解析sip.conf和extensions.conf中那些容易被忽略的安全陷阱并提供一套可立即落地的加固方案。1. SIP协议安全加固超越默认密码的防护策略在公网环境中SIP协议的5060端口就像敞开的大门。仅修改默认密码远远不够我们需要建立多层防御体系。1.1 访问控制列表ACL实战sip.conf中的permit/deny规则是防火墙后的第二道防线。以下是一个生产环境推荐配置[general] ; 仅允许公司办公网IP段访问SIP服务 permit192.168.1.0/255.255.255.0 deny0.0.0.0/0注意当员工需要远程办公时建议通过VPN接入内网再访问PBX而非直接开放公网访问1.2 密码策略与加密传输弱密码是PBX沦陷的首要原因。除了设置复杂密码外还应启用TLS加密[1001] typefriend secretZxK8$pL2qW9yB4vN ; 使用16位混合密码 encryptionyes ; 启用SRTP加密 transporttls ; 强制TLS传输密码设置黄金法则长度不低于12字符包含大小写字母、数字和特殊符号定期90天轮换密码不同分机使用不同密码1.3 NAT与安全参数精解natyes和insecureinvite的组合常被滥用正确配置应当是这样参数危险值安全值影响分析natyesno避免NAT穿透导致的内网暴露insecureinvite,port空值强制完整认证流程canreinviteyesno防止媒体流绕过服务器qualifynoyes实时监测终端在线状态[general] natno insecure qualifyyes2. 拨号计划安全extensions.conf的权限控制艺术攻击者常利用脆弱的拨号规则进行国际话费欺诈。以下方案可有效防范此类风险。2.1 上下文(Context)隔离策略将内部通话与外部路由严格隔离[internal] exten _1XXX,1,Dial(SIP/${EXTEN}) ; 内部短号互拨 [outbound] exten _00X.,1,Set(DENY1) ; 阻断国际长途 exten _0[1-9].,1,Dial(SIP/trunk/${EXTEN}) ; 国内长途2.2 呼叫限制多维防护通过组合限制条件构建立体防护网[default] exten _X.,1,Set(GROUP()outbound) exten _X.,n,GotoIf($[${CALLERID(num)} 1001]?dial) exten _X.,n,Playback(no-permission) exten _X.,n,Hangup() exten _X.,n(dial),Dial(SIP/trunk/${EXTEN},,Tk) exten _X.,n,Set(CDR(accountcode)${STRFTIME(${EPOCH},,%Y%m%d)})关键控制维度主叫号码白名单被叫号码模式匹配并发呼叫数限制通话时长阈值时间段限制如禁止非工作时间外呼3. 系统级加固超越配置文件的防护措施3.1 网络架构最佳实践推荐部署拓扑[公网] → [防火墙] → [反向代理] → [Asterisk] → [内网] ↑ [IDS检测]必须实施的网络规则将SIP端口从5060改为非常用端口配置防火墙仅允许SBC/IPPBX的IP连接启用fail2ban防御暴力破解设置网络流量监控检测异常呼叫模式3.2 实时监控与审计通过以下命令建立监控体系# 查看实时通话 asterisk -rx core show channels # 检测异常注册 grep Registration from /var/log/asterisk/full | awk {print $NF} | sort | uniq -c # 生成呼叫统计报告 echo select dst,count(*) from cdr where calldate date_sub(now(), interval 1 day) group by dst having count(*) 10; | mysql -u asterisk -p asteriskcdrdb4. 安全运维清单从部署到应急响应4.1 部署时检查项[ ] 修改所有默认密码包括AMI接口[ ] 关闭不必要的模块如chan_skinny[ ] 设置配置文件权限为640[ ] 启用详细的日志记录[ ] 配置日志自动轮转和归档4.2 日常维护要点每周必须检查异常通话记录特别关注国际长途非工作时间段的呼叫高峰来自异常地理位置的注册尝试系统资源占用情况CPU/内存突增可能预示攻击4.3 入侵应急响应流程当发现可疑活动时立即备份当前配置和日志通过防火墙阻断可疑IP重置所有账户密码审查最近一周的CDR记录更新所有安全补丁在PBX服务器上保存以下应急工具包tcpdump抓包工具Wireshark安装包干净的配置文件模板关键系统命令速查表真正的安全不是一次性配置而是持续监控和改进的过程。每次系统变更时都应该问自己这个改动会打开新的攻击面吗只有保持这种警惕性才能确保PBX系统长期稳定运行。