在IP网络电话调度系统中,最常见的网络攻击就来自于对SIP 5060端口的疯狂灌水,不仅拉低了系统效率,一不小心还可能会造成话费损失,就算是骚扰了调度用户也是大事故啊。
今天我们要讲的这个方法,是在网络电话系统里流行常用的防范方法,叫做Fail2ban,大家都很熟悉了。
1. Fail2ban的作用是什么?
看图:
Fail2ban可以将疑似攻击的来源IP地址,自动列入iptables防火墙,从而在firewall上就把攻击拦截掉。
2. Fail2ban的人性化设置–指定协议
既要安全,也要人性化,这是在设计的时候需要关注的。
对于网络调度系统来说,一般只开放sip和ssh这样的协议,因为在防范的时候,主要是防范这两个协议的端口:
在规定时间内的允许最大尝试次数,是启用fail2ban的主要计数指标。
比如我们通常设计在10分钟的最大尝试次数。
对于SIP协议,我们还注意区分注册和呼叫的最大尝试次数不同,这是因为尝试注册(探测密码)是比较危险的,所以一旦次数超过5次就关小黑屋。
当然,我们也不能注册失败1次就关小黑屋,因为新sip用户端注册的时候输错密码是比较常见的。所谓“宽严皆误”,合适才最好。
3. 黑名单和白名单
黑名单和白名单的设计,是非常方便的方法。可以极大地避免误伤友军,但是也可能会带来潜在风险,使用的时候需要切实注意呢。
一般我们会把内网的网段加入白名单。比如 192.168.1.0/16。
但是在实际应用中我们也发现,白名单恰恰可能是风险较大的部分。
暂且不说内鬼的问题,就算是无意之失,也可能酿成灾难。
比如局域网内的某台电脑不慎成为肉鸡,极有可能会被植入各种各样的攻击手段,而盗打SIP电话,也是其中之一。
堡垒最容易从内部攻破。