企业怎样可以进行应用的可视化管理,随时感知应用交付态势,随时了解在线业务的运行情况,及时发现业务运营中的问题,并帮助运维部门用财务数字显现整体运营情况,以保障安全的应用交付,实现企业投资回报最大化?“ F5 ELK ”解决方案及其如何被实现。
方法思路
iRule通过HSL输出必要的解析日志数据至elk
在整个dashboard中,划分了这样几个功能区域:
1.最上面的解析来源地理热力图,可以清晰的看出哪些地方是热点解析区域。热点解析区域,结合DNS TTL参考,可以意味着这个地方业务量较高,也可能意味着这个地方的DNS缓存存在问题。而同样的,如果此地理热力图所显示的业务真实热门的地方反而解析最不热门,也可能变相的说明该区域的DNS TTL存在问题。此外地理热力图也可以帮助揭示DNS攻击的区域
2.上部分右侧有总解析数,这里的总解析数也可以理解为实际的响应数(不管response是什么),所以与通过dns logging profile方式处理的不一样,这里没有统计那些request进来但被丢弃的请求,当然一般这也不需要统计,往往在外围DNS DDOS/Protocol火墙上就被过滤了。 总解析数意味着你统计时间段内的解析数量,在进行月度等报告撰写方面可以作为参考,是业务发展的一种指标。可以分不同域名(业务)来统计则会更有业务层面的价值
3.右侧的热点城市Top10,以及热点LDNS Top10 用于揭示热门的区域或LDNS IP。这是一个侧面的业务访问量大小的指标,当然也可以用于识别DNS DDOS。与第一条道理相同,过度热门的LDNS、城市在排除业务正常的因素前提下可能是衡量TTL的一个指标,即TTL在该地区/LDNS的是否被恶意不遵守。而业务本来应该热门的城市,但是解析却很不热门,那么也值得怀疑该地区的相关LDNS是否存在TTL恶意改大的情况
4.在地理图下的各线路实时解析统计可以帮助实时观察每个NS上实时的解析请求统计,一般来说应该各个NS上的总解析数应该比较接近,过度偏离的话,可以进一步跟踪该线路上的热门城市/LDNS,这些热门的LDNS里或许存在NS缓存不正确问题,或不能正确轮询NS问题
5.DNS成功率饼图显示成功与失败解析占比,成功是指的解析状态为NOERROR的,其它状态如NXDOMAIN,REFUSED等都归为解析失败。需要注意,解析失败不代表业务解析出了问题,比如客户端解析一个不存在的域名,那么理所当然不能回复为NOERROR。所以这里可以理解为有效解析与无效解析的占比。如果无效解析占比很高,那么说明你的环境下存在太多DNS探测、攻击尝试等。有必要对此开启DNS firewall(方法找sales,哦不对找F5工程师)。同时这也是日常基线的一种衡量,如果突然无效占比高了,你要考虑是否存在攻击了,或者业务层面代码里那里写错了域名。
6.再接下来是所有线路的实时解析响应与智能解析的曲线图,这个可以帮助总览所有NS下的合并统计,作为日常基线、月度等报表内容。也可以宏观的看出整体的DNS解析量状态。过度的偏离都属于异常情况。这里的非智能解析是指的所有非GTM智能模块响应的解析,也就是说包含了非wideip的域名解析,wideip LB算法失效导致的BIND解析。所以如果将dashboard切换为某个wideip的域名视角的话,则可以看出该域名智能解析算法失效的统计,如果你的算法是topology算法的话,那么可能是你的topology兜底规则存在问题,使得解析进入了BIND。注意这里我们没有提最优解析(即解析的结果确实是规则设定的)统计,对于最优解析统计是一个比较复杂的工作,如果你确实有这么方面需求,请在部署了这个标准的可视化后联系sales(哦不,联系SE)来帮助你提出具体的解决方法,由于方法涉及的irule每个客户都需要定制化,所以没有包含在此通用的irule方法里。
7.在实时智能与总解析图右侧是 智能与非智能解析的占比环图,理论上智能解析占比越高越好,如果你的智能解析占比很低,你有必要将更多的域名部署为wideip解析(F5 DNS V12版本后可以对更多的解析类型使用wideip智能解析配置,使用wideip的解析性能要远高于非wideip解析),而对于依旧不能使用wideip进行解析配置的域名,则建议启用DNS express来优化你的DNS架构及性能。非智能解析占比越高,意味着你的DNS系统遭受DNS DDOS攻击时候系越脆弱。
8.再接下来的视图是各条线路的实时智能解析与非智能解析构成图,这个可以进一步的帮助从每条线路的视角来实时观察分析各条线路上的智能与非智能解析,如果某一条线路的非智能解析占比突然变高,你需要考虑是否是该线路上的DNS设备出现了攻击尝试的可能性,或者是否有因iquery跨线路问题导致的健康检查不稳定性所导致的该线路上动态算法失效的问题(结合具体实际判断,一般如果你是F5厂商推荐的第二代DNS架构体系,理论上不用怀疑iquery问题,可以直接优先怀疑攻击问题)
9.再接下来是各条线路的实时响应状态构成,可以帮助判断各条线路上有效解析与无效解析的分布情况,如果REFUSED或者NXDOMAIN明显多,有必要启用DNSX或者使用DNS firewall进行DNS防护。而如果通过钻取分析后,发现这些无效解析与某些固定的IP有关系,且这些固定的IP基本有效解析很少,则可以比较安全的封禁这些LDNS ip, 这些地址可能为攻击地址。当然业务如果在程序里调用了过时废弃的域名或者写错了域名等也会导致这样的结果,可以反馈给业务部门
10.接下来的一排三个饼图,分别是热门域名top10,解析类型占比,响应状态占比。 热门域名可以侧面衡量业务热门程度,特别是临时活动类域名(结合该域名的地理热力图)。也是日常的一个基线,如果突然某个域名变得很热门,抛开业务因素,可能需要怀疑攻击,或者TTL问题。 DNS解析类型占比,可以直观看出目前有哪些解析类型请求过,对于明显我们不存在的解析类型,或者某个我们并没有配置的解析类型占比很高,说明存在攻击意图,可以通过DNS firewall进行过滤。
11.最后两行视图主要是分NS线路的总解析数量以及各个响应状态的总统计,可以作为月度报表,或者在钻取显示某个LDNS、城市、某个域名时的关联统计值,方便进一步确认问题。更多有意义的用法,可能在实际使用中能发现更多。
12.DDOS 攻击,水滴攻击 等场景分析请参考https://www.myf5.net/post/2504.htm
13.缓存投毒攻击的判断,在正常情况下,一个城市或者DNS的解析是相对稳定的解析态势。一般来说投毒着为了使得投毒效果最佳,投放的TTL都会很大,因此直接效果就是一个LDNS不再发送请求过来。所以如果一个稳定解析的地区/LDNS的解析数量突然大幅度下降变得很少,可能就需要怀疑为缓存投毒了(当然该LDNS出现故障也有可能,但是辅以人工解析验证可以很快判定。
更多F5 ELK可视化方案相关信息,请关注“F5Networks”微信公众号。