我们的星号服务器被入侵了。 一些电话是上周末向亚洲国家发出的。
认为我们已经改进了networkingconfiguration,我们仍然想确定入侵是如何完成的,我们认为星号日志文件中有线索。
但我们不知道要找什么,基于默认的星号:
这是我如何保护自2006年以来一直在生产的Asterisk服务器。
仅为必要的服务打开入站端口。 (你必须为RTPstream打开一个广泛的范围,但这通常不是问题,因为通常在该端口范围内没有监听。)
22/tcp ssh(当然用于pipe理) 4520/udp DUNDi(如果你正在使用DUNDi) 4569/tcp IAX2(如果您使用的是IAX) 5060/udp SIP注册 10000-20000/udp RTP – 媒体传输 16384-16482 。 如果可能,限制允许SIP客户端连接的IP地址范围。 如果部署在办公室,则将连接端口5060限制到电话所在位置的IP地址。 如果您必须接受来自不受您控制的Internet地址的连接,请考虑阻止特定于国家/地区的IP地址范围。
不要使用SIP分机号码作为用户名。 如果您的SIP客户端支持,请给他们所有的名字。
为所有SIP扩展设置强密码。 这应该是显而易见的,但并不总是如此。
从阅读上一个问题所附的日志,我可以确定你有一个用用户名1定义的SIP扩展,其中有一个很容易猜到的秘密,那就是攻击者在第一次尝试时得到了正确的结果。 这个扩展可能根本没有定义任何秘密。
在sip.conf使用alwaysauthreject=yes 。 这可以防止攻击者通过暴力来确定SIP扩展是否存在。
在sip.conf使用allowguest=no 。 这可以防止未经身份validation的客户端进行调用。
更改UNIX用户,数据库和pipe理前端(如FreePBX)的所有默认密码。
在manager.conf设置bindaddr = 127.0.0.1 ,以确保Asteriskpipe理界面不向世界开放。
安装fail2ban。 我已经configuration为在两次失败尝试后阻止,但是如果您完全控制了所有设备,以至于永远无法正确login,则可以在尝试一次失败后将其设置为阻止。
如果您不需要拨打国际长途电话,那么请您的SIP中继供应商在其结束时closures该function。 你也可以configuration你的星号服务器不要路由这样的呼叫。
这应该涵盖基本的内容,并且可以让你在大部分时间内避免麻烦。 如果您部署任何不寻常的服务或编写自己的自定义configuration,则可能需要做一些额外的工作来保护它们。
我们之前有一个类似的问题。 除了迈克尔汉普顿的回答。 我们做了三件事情,
1)安装fail2ban 。 它所做的是扫描日志文件寻找密码失败尝试。 太多了,它会防火墙的IP。 它不仅适用于星号,还适用于您所需的任何服务。
2)白名单,或黑名单来自你想要/不想要的国家的IP。 你想允许来自中国的SIP接入? 您可以从nordsoft获取IP列表
3)如果您要与上游提供商进行中继或配对,请查看是否可以获得每日信用额度。 这将限制你从他们得到的账单的大小,如果前两个失败。 如果你确实发现了一个问题,至less在你真的失去控制权之前给你一些时间。
我会在其他答案中列出的build议中添加“良好监控”。 监视系统(检查日志的build议标题是logwatch或logcheck)。 查看可用的星号报告工具(我不知道任何标题,但Asterisk Monitoring列出了一些标题),并查看您的上游电话提供商是否可以监控您的使用情况,并提醒计划外增加的通话费用。