文/中国光大银行 李刚 张林 史乐萌
当前,金融机构逐步向多数据中心架构演进,多中心流量调度、灾备切换敏捷性等业务连续性保障能力变得至关重要。实现业务流量在多数据中心间的精准调度、在灾难情况下快速恢复业务,已成为金融行业的核心诉求,域名解析系统(DNS)是实现这一诉求的核心支撑。如今,DNS系统已由传统的“域名到IP地址的简单映射”转变为数据中心流量管理和调度的关键枢纽,近年来频发的DNS故障引发了金融行业多起大面积网络瘫痪及业务中断事件,影响重大。因此,防范域名解析系统故障带来的风险,完善其高可用架构、容灾机制和应急预案已成为数据中心技术团队的核心关注点。对此,中国光大银行针对DNS系统面临的问题和挑战,经过持续的探索实践,成功构建了一套低耦合、高冗余、职责分离、自主可控、安全的内网分布式域名解析系统。
架构设计:分层解耦与分布式部署基于我行数据中心规模,从健壮性和容量的角度考虑,对各层角色进行解耦并独立异构部署,采用根、权威、递归服务器分角色部署的方案。分层解耦架构设计示例如图1所示。
各角色(根、权威、递归)服务器跨数据中心分布式部署、单中心采用集群部署模式,可有效规避数据中心DNS的单点故障风险,提供数据中心级的冗余能力。多级授权,使各级权威服务器可通过增加授权进行平滑的横向扩容。子域权威服务器可授权给需要域名自主权的系统自行管理,如全栈云、内网CDN平台等。递归服务器采用办公和生产的独立的方式进行部署,分别为办公终端和生产服务器提供域名解析服务,办公递归服务器引入不同信创产品和非信创产品进行异构部署。除此以外,我行递归服务器采用负载均衡集群部署,为递归服务器提供负载分担、横向扩展、健康检查、安全防护、异构部署能力等多项优势。
域名规划:动静分离与租户隔离1. 动静分离
静态域名:仅做域名与IP绑定,资源消耗低。
动态域名:主要依赖于智能解析的功能(如根据位置/健康状态选择解析IP)实现负载均衡或灾备切换,但动态域名会消耗更多解析资源(健康检查、算法)。此类域名(如CDN、多AZ云等)独立专用子域部署,避免成为性能瓶颈。
2. 租户分级
独立的机构域名建议使用独立的子域,比如分行、信用卡💳️或者子公司,后续如果出现单机构业务发展过快或者管理架构调整的情况,可以方便进行独立拆分。
核心策略:提升解析性能,确保安全稳定内网域名解析系统的分布式改造策略设计聚焦于提升解析性能、确保业务连续性和增强安全性。
1. 智能解析机制
智能解析机制的核心是依据用户源地址和健康检查状态返回最优IP,即实现“近源访问”效果。我行在各数据中心分别部署递归服务器,权威服务器基于请求源(即递归服务器地址),根据其所属数据中心返回就近服务IP,减少跨中心流量,提升解析效率。同时结合健康检查,可实现故障应用的域名解析地址自动切换。递归服务器可按需在非关键或无“近源访问”需求的网络区域,进行低成本部署或复用其他递归服务器。
2. 缓存机制
在域名解析系统架构的设计中,缓存策略的设计直接影响域名解析系统的整体性能。递归服务器启用缓存后,缓存时间内,递归服务器不再将请求转发给权威服务器解析,而是将缓存的结果直接返回给用户,不仅大大缓解了权威服务器的访问压力,也提高了域名解析的速度。
图4 缓存机制示例
综合分析域名解析系统的整体性能和大部分应用系统的需求,设计通用TTL时间提高应用需求的沟通成本,以健康检查失败超时30秒,TTL时间60秒为基础配置,基本实现大部分应用系统需求。
3. 域名解析时延优化
域名解析过程作为发起应用访问过程中的第一步,其带来的时延,可能影响整个应用系统的访问体验感。影响主要区分于应用连接类型:长连接应用,则连接建立后无需重复解析,时延影响小;短连接高频应用,则客户端访问本地递归服务器,缓存过期时短暂时延增加。
我行针对上述问题的解决方案是为时延敏感业务在递归服务器开启缓存刷新功能,缓存到期后递归服务器主动对时延敏感应用系统域名发起解析请求,从而刷新缓存,降低时延,提高访问效率。
4. 容灾策略
容灾策略主要从架构、负载、产品异构、性能四个方面实现。
架构容灾:根和权威服务器均实现分布式部署,单点故障无全局影响。
负载容灾:递归服务器采用负载均衡(LB)集群部署模式,LB具备健康检查能力,能自动隔离失效的递归节点,保障自身高可用性。
性能级容灾:系统设计整体性能容量满足未来五年的发展需求,通过开启递归服务器缓存极大降低权威服务器的性能压力,当出现权威服务器性能压力过大等紧急情况,可实现直接关闭智能解析,降低智能解析占用的服务器性能,采用静态解析方式提供域名服务。
域名安全设计:全面部署威胁防护我行针对DNS flood攻击、DNS污染和隐蔽隧道等威胁部署以下防护措施:
1. DNS flood攻击防护
建立域名解析日志与流量双重监控机制,实时检测突发查询量。可精准定位发起客户端及被访问域名,定位后,可通过关停异常客户端或调整域名TTL等方式完成处置。
图5 监控视图
2. DNS污染防御
在递归服务器启用防DNS投毒功能:迭代查询时强制使用随机大小写的域名字符串,使攻击者难以伪造响应报文,有效阻断缓存中毒攻击。
3. DNS隐蔽隧道管控
严格隔离内网与互联网的DNS解析环境,内网无法解析外部域名,天然规避隧道风险。互联网边界部署额外控制策略,防范数据外泄。
4. 补充关键措施
关闭DNS的TCP 53端口。该端口通常用于大报文传输,但日常解析无需此协议。关闭后可直接阻断利用TCP协议实施的隐蔽隧道攻击和恶意域名解析,加强边界防护。
内网域名解析系统(DNS)日均承载金融机构上亿次关键解析请求,是业务连续运行的核心命脉。DNS的深度应用确保在故障场景下实现30—60秒自动切换,有效规避因DNS单点故障引发的大面积业务中断,实现交易无感持续进行,确保金融机构服务永不掉线,维护社会金融秩序稳定。作为金融行业公共基础设施的关键环节,DNS系统的韧性大幅降低了因基础设施故障导致的社会服务中断风险。同时,通过多重安全加固措施,从源头杜绝数据泄露与攻击影响,为金融关键信息基础设施的安全防护提供了坚实保障。