无线发射台站智慧运维支撑管理系统审计日志模块的设计与实现

2024-04-01 06:41李敏盛顾家玉黄慧慧
电视技术 2024年1期
关键词:台站日志运维

李敏盛,顾家玉,黄慧慧

(1.广西广播电视无线传播枢纽台,广西 南宁 530000;2.广西广播电视技术中心,广西 南宁 530000)

0 引言

广西广播电视无线发射台站智慧运维支撑管理系统(以下简称智慧运维管理系统)为广西广播电视技术中心自主研发。该系统由省级总监控管理平台与分布在全区各个台站内的智能化业务控制子系统组成,自2008 年上线以来,实现了对广西已建成的区、市、县、乡、村5 级900 多座电视、调频、实验、中波无线发射台实施自动化和智能化的远程管理,构建了全区广播电视“无线一张网”架构。广西因此成为全国首个实现全域广播电视无线发射台站“有人留守,无人值班”管理模式的地区,显著降低了值班工作强度和人为责任事故的风险,减少了发射台站的运营成本。该系统极大地提升了广西广播电视安全播出的调度指挥能力和整体工作效率,为广播电视无线台站的运行维护管理带来了科学性和高效性。

随着《中华人民共和国网络安全法》的出台,广播电视行业对安全播出和网络安全提出了新的要求。根据《中华人民共和国网络安全法》及广播电视安全播出管理的相关规定,广播电视播出、传输、覆盖等单位应当建立健全网络安全管理制度,采取有效的技术措施保障安全播出和网络安全[1]。广播电视行业应当加强技术系统配置,提高安全防范能力,及时发现并处理播出中出现的问题,确保广播电视节目的安全、稳定、可靠传输。

为了应对这一新形势,智慧运维管理系统增加了审计日志模块。这一模块将全面记录系统操作行为和相关事件,确保所有操作和事件可追溯、可审计,从而提升系统的安全性,保障广播电视节目的安全播出。该模块还助力及时发现潜在的网络安全风险,采取有效措施加以防范,为智慧运维管理系统的稳定运行提供有力支持[2]。本文主要介绍智慧运维管理系统基于ASP.NET Core 框架的审计日志模块总体设计思路与实现要点。

1 模块设计

1.1 设计目标和原则

审计日志模块基于以下目标和原则进行设计。

第一,实时监控与追踪。审计日志实时监控并记录系统的所有操作和事件,包括设备状态、信号传输及节目切换等。通过对这些日志进行分析,可以追踪播出过程中的异常情况,及时发现问题并采取相应的措施,确保播出安全。

第二,故障排查与定位。当系统出现故障,审计日志可以帮助快速准确地定位和排查故障。通过对日志数据进行分析,可以了解故障发生前后的系统状态和操作情况,从而迅速找到故障原因并采取相应的修复措施,减少停播时间,保障播出连续性。

第三,安全审计与溯源。审计日志记录系统的所有安全相关事件,如未经授权的访问、恶意攻击及数据泄露等。通过对这些日志进行安全审计,及时发现潜在的安全威胁、异常行为和漏洞,并采取相应的安全措施加以防范[3]。发生安全事件时,审计日志可以提供详细的溯源信息,帮助追踪攻击来源和攻击路径,为安全事件的处置提供有力支持。

第四,合规性检查与报告。审计日志记录所有操作和数据变化,为合规性检查提供有力的依据。通过对日志数据进行分析和报告,可以验证播出过程是否符合相关法规和标准的要求,确保播出的合规性和网络的安全性。

第五,优化系统性能。通过对审计日志的长期分析和挖掘,可以发现系统性能瓶颈和问题,如内存不足、磁盘空间不足等,有助于管理员及时采取相应的优化措施,提高系统的整体性能,确保广播电视播出和网络传输的稳定性和效率。

第六,实时告警。通过对审计日志的实时监控,可以及时发现异常行为和潜在风险,触发告警并通知相关人员,以便快速响应和处理。

第七,数据分析与优化。通过对审计日志数据的深入分析,能够发现系统运行的规律和潜在问题,为运维管理提供数据支持,促进系统的持续优化和改进。

第八,可靠性。审计日志模块应具有高可用性和容错性,确保在各种异常情况下都能稳定运行并保存关键日志信息。

第九,可扩展性。随着系统规模的不断扩大和业务需求的不断变化,审计日志模块应具有良好的可扩展性,以适应未来发展的需要。

1.2 总体设计

审计日志模块是智慧运维管理系统的关键组成部分,负责全面记录、分析和响应与系统相关的操作和事件,涵盖了收集、存储、分析和告警等多个重要环节[4]。这些环节之间的高效协作,通过Apache Kafka 消息队列平台来实现。审计日志模块的总体流程如图1 所示。

图1 审计日志模块总体流程

1.2.1 收集日志

收集日志环节是审计日志模块的起点,负责实时捕获系统中发生的所有相关操作和事件,收集包括用户登录、节目切换、数据查询、远程操作和控制台站终端设备、终端配置信息变更以及系统异常等在内的关键信息。这些信息以结构化的格式被记录下来,确保数据的完整性和准确性。

当前,智慧运维管理系统的总监控平台是采用ASP.NET Core 框架的Web 应用程序编程接口(Application Programming Interface,API)控制器作为与各端的对外交互接口。所有的查询、操作、控制及配置指令都是通过Web API 接口进行。由于Web API 接口开放的特性,其也可能面临多种恶意攻击,如结构化查询语言(Structured Query Language,SQL)注入、跨站脚本攻击(Cross Site Scripting,XSS)、跨站请求伪造(Cross-site request forgery,CSRF)、API 暴力破解、敏感数据泄露以及拒绝服务攻击等。因此,收集日志环节主要集中监控和记录所有对Web API 接口进行访问请求的信息。

ASP.NET Core 框架提供中间件(Middleware)组件和过滤器(Filters)组件用来处理超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求和响应的核心组件,都可以用来实现审计日志收集[5]。经过比较,过滤器组件中的Action Filters 最适合用来实现收集日志环节,因为可以在Action 方法执行之前(OnActionExecuting)和之后(OnActionExecuted)执行代码,记录请求的开始时间、结束时间以及中间发生的任何异常或重要事件。Action Filters提供了丰富的上下文信息,包括HttpContext、ActionExecutingContext 和ActionExecutedContext 等。这些上下文信息可以帮助记录请求的详细信息,如请求统一资源定位器(Uniform Resource Locator,URL)、请求头、请求体、响应结果以及用户身份等对审计日志至关重要的信息。

1.2.2 存储日志

存储日志环节负责安全、高效地存储收集到的审计日志数据,采用高性能的存储解决方案,确保即使在大量日志数据持续生成的情况下也能提供快速的数据写入和查询响应。为保证数据的安全性,此环节实施双备份机制,一是通过syslog 方式外发给指定的日志审计服务器,二是存储到智慧运维管理系统数据库中进行备份。

1.2.3 分析日志

分析日志环节对收集的日志数据进行深度挖掘和模式识别,以发现潜在的安全威胁或系统性能问题,运用先进的算法,能够实时检测异常行为、识别风险模式,为运维团队提供有价值的见解和建议。

1.2.4 告警通知

一旦分析环节检测到异常或潜在风险,告警通知环节便立即启动应急响应流程,通过预设的通知渠道(短信和内部告警系统),及时将相关信息传达给智慧运维管理系统总监控平台的值班员和运维人员,确保运维团队能够迅速采取行动,减轻潜在的安全威胁或系统故障对业务的影响。

2 模块实现要点

2.1 收集日志环节实现

在Web API 接口服务项目中,创建一个自定义的Action Filter 来实现收集日志功能。首先,创建一个自定义的Action Filter类,实现IActionFilter接口。其次,在OnActionExecutingAsync 方法中,收集请求的基本信息、请求的开始时间、请求参数信息和用户信息等日志。最后,在OnActionExecutedAsync 方法中,收集执行的结果信息、执行的结束时间和异常信息等日志,封装到一个对象中,异步提交到相应的Kafka 主题中。

2.2 存储日志环节实现

存储日志环节,使用循环或异步方式从指定的Kafka 主题中拉取日志,使用syslog 发送库将日志异步发送到指定的审计服务器,使用EFCore 将日志对象批量插入的方式存储到数据库中。

2.3 分析日志环节实现

接收到Kafka 中的日志后,分析日志环节根据具体的业务逻辑进行解析、分析和处理,包括解析日志格式、提取关键信息、进行统计分析、检测异常行为等。当触发定义告警的规则和条件后,将告警信息推进指定的Kafka 主题中。

2.4 告警通知环节实现

接收到告警消息后,告警通知环节将同时通过阿里云短信平台和智慧运维管理系统的内部告警平台推送告警信息给值班员和运维团队成员。

3 结语

随着广播电视无线发射台站智慧运维支撑管理系统审计日志模块的正式投入使用,广西迎来了广播电视行业安全管理的新篇章。这一模块的引入为安全播出事件的故障排查与定位、安全事件溯源提供了全面而精确的视角,增强了系统的稳定性和可靠性,更进一步保障了广播电视的安全播出和网络安全,维护了广大观众的权益。

猜你喜欢
台站日志运维
中国科学院野外台站档案工作回顾
气象基层台站建设
一名老党员的工作日志
扶贫日志
运维技术研发决策中ITSS运维成熟度模型应用初探
风电运维困局
杂乱无章的光伏运维 百亿市场如何成长
游学日志
基于ITIL的运维管理创新实践浅析
基层台站综合观测业务管理之我见