李敏盛,顧家玉,黃慧慧
(1.廣西廣播電視無線傳播樞紐臺,廣西 南寧 530000;2.廣西廣播電視技術(shù)中心,廣西 南寧 530000)
廣西廣播電視無線發(fā)射臺站智慧運維支撐管理系統(tǒng)(以下簡稱智慧運維管理系統(tǒng))為廣西廣播電視技術(shù)中心自主研發(fā)。該系統(tǒng)由省級總監(jiān)控管理平臺與分布在全區(qū)各個臺站內(nèi)的智能化業(yè)務控制子系統(tǒng)組成,自2008 年上線以來,實現(xiàn)了對廣西已建成的區(qū)、市、縣、鄉(xiāng)、村5 級900 多座電視、調(diào)頻、實驗、中波無線發(fā)射臺實施自動化和智能化的遠程管理,構(gòu)建了全區(qū)廣播電視“無線一張網(wǎng)”架構(gòu)。廣西因此成為全國首個實現(xiàn)全域廣播電視無線發(fā)射臺站“有人留守,無人值班”管理模式的地區(qū),顯著降低了值班工作強度和人為責任事故的風險,減少了發(fā)射臺站的運營成本。該系統(tǒng)極大地提升了廣西廣播電視安全播出的調(diào)度指揮能力和整體工作效率,為廣播電視無線臺站的運行維護管理帶來了科學性和高效性。
隨著《中華人民共和國網(wǎng)絡安全法》的出臺,廣播電視行業(yè)對安全播出和網(wǎng)絡安全提出了新的要求。根據(jù)《中華人民共和國網(wǎng)絡安全法》及廣播電視安全播出管理的相關(guān)規(guī)定,廣播電視播出、傳輸、覆蓋等單位應當建立健全網(wǎng)絡安全管理制度,采取有效的技術(shù)措施保障安全播出和網(wǎng)絡安全[1]。廣播電視行業(yè)應當加強技術(shù)系統(tǒng)配置,提高安全防范能力,及時發(fā)現(xiàn)并處理播出中出現(xiàn)的問題,確保廣播電視節(jié)目的安全、穩(wěn)定、可靠傳輸。
為了應對這一新形勢,智慧運維管理系統(tǒng)增加了審計日志模塊。這一模塊將全面記錄系統(tǒng)操作行為和相關(guān)事件,確保所有操作和事件可追溯、可審計,從而提升系統(tǒng)的安全性,保障廣播電視節(jié)目的安全播出。該模塊還助力及時發(fā)現(xiàn)潛在的網(wǎng)絡安全風險,采取有效措施加以防范,為智慧運維管理系統(tǒng)的穩(wěn)定運行提供有力支持[2]。本文主要介紹智慧運維管理系統(tǒng)基于ASP.NET Core 框架的審計日志模塊總體設計思路與實現(xiàn)要點。
審計日志模塊基于以下目標和原則進行設計。
第一,實時監(jiān)控與追蹤。審計日志實時監(jiān)控并記錄系統(tǒng)的所有操作和事件,包括設備狀態(tài)、信號傳輸及節(jié)目切換等。通過對這些日志進行分析,可以追蹤播出過程中的異常情況,及時發(fā)現(xiàn)問題并采取相應的措施,確保播出安全。
第二,故障排查與定位。當系統(tǒng)出現(xiàn)故障,審計日志可以幫助快速準確地定位和排查故障。通過對日志數(shù)據(jù)進行分析,可以了解故障發(fā)生前后的系統(tǒng)狀態(tài)和操作情況,從而迅速找到故障原因并采取相應的修復措施,減少停播時間,保障播出連續(xù)性。
第三,安全審計與溯源。審計日志記錄系統(tǒng)的所有安全相關(guān)事件,如未經(jīng)授權(quán)的訪問、惡意攻擊及數(shù)據(jù)泄露等。通過對這些日志進行安全審計,及時發(fā)現(xiàn)潛在的安全威脅、異常行為和漏洞,并采取相應的安全措施加以防范[3]。發(fā)生安全事件時,審計日志可以提供詳細的溯源信息,幫助追蹤攻擊來源和攻擊路徑,為安全事件的處置提供有力支持。
第四,合規(guī)性檢查與報告。審計日志記錄所有操作和數(shù)據(jù)變化,為合規(guī)性檢查提供有力的依據(jù)。通過對日志數(shù)據(jù)進行分析和報告,可以驗證播出過程是否符合相關(guān)法規(guī)和標準的要求,確保播出的合規(guī)性和網(wǎng)絡的安全性。
第五,優(yōu)化系統(tǒng)性能。通過對審計日志的長期分析和挖掘,可以發(fā)現(xiàn)系統(tǒng)性能瓶頸和問題,如內(nèi)存不足、磁盤空間不足等,有助于管理員及時采取相應的優(yōu)化措施,提高系統(tǒng)的整體性能,確保廣播電視播出和網(wǎng)絡傳輸?shù)姆€(wěn)定性和效率。
第六,實時告警。通過對審計日志的實時監(jiān)控,可以及時發(fā)現(xiàn)異常行為和潛在風險,觸發(fā)告警并通知相關(guān)人員,以便快速響應和處理。
第七,數(shù)據(jù)分析與優(yōu)化。通過對審計日志數(shù)據(jù)的深入分析,能夠發(fā)現(xiàn)系統(tǒng)運行的規(guī)律和潛在問題,為運維管理提供數(shù)據(jù)支持,促進系統(tǒng)的持續(xù)優(yōu)化和改進。
第八,可靠性。審計日志模塊應具有高可用性和容錯性,確保在各種異常情況下都能穩(wěn)定運行并保存關(guān)鍵日志信息。
第九,可擴展性。隨著系統(tǒng)規(guī)模的不斷擴大和業(yè)務需求的不斷變化,審計日志模塊應具有良好的可擴展性,以適應未來發(fā)展的需要。
審計日志模塊是智慧運維管理系統(tǒng)的關(guān)鍵組成部分,負責全面記錄、分析和響應與系統(tǒng)相關(guān)的操作和事件,涵蓋了收集、存儲、分析和告警等多個重要環(huán)節(jié)[4]。這些環(huán)節(jié)之間的高效協(xié)作,通過Apache Kafka 消息隊列平臺來實現(xiàn)。審計日志模塊的總體流程如圖1 所示。
圖1 審計日志模塊總體流程
1.2.1 收集日志
收集日志環(huán)節(jié)是審計日志模塊的起點,負責實時捕獲系統(tǒng)中發(fā)生的所有相關(guān)操作和事件,收集包括用戶登錄、節(jié)目切換、數(shù)據(jù)查詢、遠程操作和控制臺站終端設備、終端配置信息變更以及系統(tǒng)異常等在內(nèi)的關(guān)鍵信息。這些信息以結(jié)構(gòu)化的格式被記錄下來,確保數(shù)據(jù)的完整性和準確性。
當前,智慧運維管理系統(tǒng)的總監(jiān)控平臺是采用ASP.NET Core 框架的Web 應用程序編程接口(Application Programming Interface,API)控制器作為與各端的對外交互接口。所有的查詢、操作、控制及配置指令都是通過Web API 接口進行。由于Web API 接口開放的特性,其也可能面臨多種惡意攻擊,如結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)注入、跨站腳本攻擊(Cross Site Scripting,XSS)、跨站請求偽造(Cross-site request forgery,CSRF)、API 暴力破解、敏感數(shù)據(jù)泄露以及拒絕服務攻擊等。因此,收集日志環(huán)節(jié)主要集中監(jiān)控和記錄所有對Web API 接口進行訪問請求的信息。
ASP.NET Core 框架提供中間件(Middleware)組件和過濾器(Filters)組件用來處理超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)請求和響應的核心組件,都可以用來實現(xiàn)審計日志收集[5]。經(jīng)過比較,過濾器組件中的Action Filters 最適合用來實現(xiàn)收集日志環(huán)節(jié),因為可以在Action 方法執(zhí)行之前(OnActionExecuting)和之后(OnActionExecuted)執(zhí)行代碼,記錄請求的開始時間、結(jié)束時間以及中間發(fā)生的任何異?;蛑匾录ction Filters提供了豐富的上下文信息,包括HttpContext、ActionExecutingContext 和ActionExecutedContext 等。這些上下文信息可以幫助記錄請求的詳細信息,如請求統(tǒng)一資源定位器(Uniform Resource Locator,URL)、請求頭、請求體、響應結(jié)果以及用戶身份等對審計日志至關(guān)重要的信息。
1.2.2 存儲日志
存儲日志環(huán)節(jié)負責安全、高效地存儲收集到的審計日志數(shù)據(jù),采用高性能的存儲解決方案,確保即使在大量日志數(shù)據(jù)持續(xù)生成的情況下也能提供快速的數(shù)據(jù)寫入和查詢響應。為保證數(shù)據(jù)的安全性,此環(huán)節(jié)實施雙備份機制,一是通過syslog 方式外發(fā)給指定的日志審計服務器,二是存儲到智慧運維管理系統(tǒng)數(shù)據(jù)庫中進行備份。
1.2.3 分析日志
分析日志環(huán)節(jié)對收集的日志數(shù)據(jù)進行深度挖掘和模式識別,以發(fā)現(xiàn)潛在的安全威脅或系統(tǒng)性能問題,運用先進的算法,能夠?qū)崟r檢測異常行為、識別風險模式,為運維團隊提供有價值的見解和建議。
1.2.4 告警通知
一旦分析環(huán)節(jié)檢測到異?;驖撛陲L險,告警通知環(huán)節(jié)便立即啟動應急響應流程,通過預設的通知渠道(短信和內(nèi)部告警系統(tǒng)),及時將相關(guān)信息傳達給智慧運維管理系統(tǒng)總監(jiān)控平臺的值班員和運維人員,確保運維團隊能夠迅速采取行動,減輕潛在的安全威脅或系統(tǒng)故障對業(yè)務的影響。
在Web API 接口服務項目中,創(chuàng)建一個自定義的Action Filter 來實現(xiàn)收集日志功能。首先,創(chuàng)建一個自定義的Action Filter類,實現(xiàn)IActionFilter接口。其次,在OnActionExecutingAsync 方法中,收集請求的基本信息、請求的開始時間、請求參數(shù)信息和用戶信息等日志。最后,在OnActionExecutedAsync 方法中,收集執(zhí)行的結(jié)果信息、執(zhí)行的結(jié)束時間和異常信息等日志,封裝到一個對象中,異步提交到相應的Kafka 主題中。
存儲日志環(huán)節(jié),使用循環(huán)或異步方式從指定的Kafka 主題中拉取日志,使用syslog 發(fā)送庫將日志異步發(fā)送到指定的審計服務器,使用EFCore 將日志對象批量插入的方式存儲到數(shù)據(jù)庫中。
接收到Kafka 中的日志后,分析日志環(huán)節(jié)根據(jù)具體的業(yè)務邏輯進行解析、分析和處理,包括解析日志格式、提取關(guān)鍵信息、進行統(tǒng)計分析、檢測異常行為等。當觸發(fā)定義告警的規(guī)則和條件后,將告警信息推進指定的Kafka 主題中。
接收到告警消息后,告警通知環(huán)節(jié)將同時通過阿里云短信平臺和智慧運維管理系統(tǒng)的內(nèi)部告警平臺推送告警信息給值班員和運維團隊成員。
隨著廣播電視無線發(fā)射臺站智慧運維支撐管理系統(tǒng)審計日志模塊的正式投入使用,廣西迎來了廣播電視行業(yè)安全管理的新篇章。這一模塊的引入為安全播出事件的故障排查與定位、安全事件溯源提供了全面而精確的視角,增強了系統(tǒng)的穩(wěn)定性和可靠性,更進一步保障了廣播電視的安全播出和網(wǎng)絡安全,維護了廣大觀眾的權(quán)益。