◆江曉蓮 鄭海山
(廈門大學(xué) 福建 361005)
面向安全漏洞管理的高校備案系統(tǒng)設(shè)計與實現(xiàn)
◆江曉蓮 鄭海山
(廈門大學(xué) 福建 361005)
隨著高校網(wǎng)絡(luò)安全的復(fù)雜化和校內(nèi)站點類型的多樣化,高校在網(wǎng)站管理方面面臨更大的挑戰(zhàn)。強化網(wǎng)站備案、提高備案信息的準(zhǔn)確性,完善問題網(wǎng)站處置應(yīng)急響應(yīng)機制,成為一件刻不容緩的工作。為了方便校內(nèi)站點的備案管理和對站點安全漏洞進行及時響應(yīng),廈門大學(xué)開發(fā)了新的備案系統(tǒng)。在傳統(tǒng)備案系統(tǒng)的基礎(chǔ)上,引入年審機制,及時更新備案信息;為各個備案網(wǎng)站建立漏洞庫,以便能更好跟蹤網(wǎng)站漏洞處理進度,建立長效機制。本文結(jié)合當(dāng)前網(wǎng)絡(luò)安全日益嚴(yán)峻的背景,對備案系統(tǒng)進行設(shè)計,并給出了具體實現(xiàn)細節(jié)。關(guān)鍵詞:備案系統(tǒng);網(wǎng)絡(luò)安全;信息化
高校的網(wǎng)站類型可分為以下幾種:門戶網(wǎng)站、各部處學(xué)院網(wǎng)站、研究所和科研機構(gòu)網(wǎng)站、會議網(wǎng)站、校內(nèi)信息化應(yīng)用、教師個人主頁、學(xué)生社團網(wǎng)站、圖書館資源、新媒體平臺等[2]。日益增長和種類繁多的校園網(wǎng)站,給網(wǎng)站的管理提出了更高的要求[3]。
此外,隨著高校網(wǎng)絡(luò)應(yīng)用規(guī)模的擴大及復(fù)雜化,高校網(wǎng)絡(luò)環(huán)境的開放特性,使得高校在網(wǎng)絡(luò)安全方面面臨著各種攻擊和威脅,網(wǎng)絡(luò)安全問題日益突出[3]。針對網(wǎng)絡(luò)安全問題,除了從源頭做好防范工作,更需要在發(fā)現(xiàn)問題的第一時間聯(lián)系相關(guān)管理員進行及時處理。
根據(jù)中華人民共和國國務(wù)院令第292號《互聯(lián)網(wǎng)信息服務(wù)管理辦法》、中華人民共和國信息產(chǎn)業(yè)部令第33號《非經(jīng)營性互聯(lián)網(wǎng)信息服務(wù)備案管理辦法 》、工信部發(fā)布的《互聯(lián)網(wǎng)基礎(chǔ)管理專項行動工作方案》等,強化網(wǎng)站備案、著力提高網(wǎng)站備案聯(lián)系方式信息的準(zhǔn)確性、完善違法違規(guī)網(wǎng)站處置應(yīng)急響應(yīng)機制,是一件刻不容緩的工作。備案系統(tǒng)的核心功能是進行網(wǎng)站信息和相應(yīng)管理員信息的備案工作,備案信息的準(zhǔn)確性至關(guān)重要。高校傳統(tǒng)的備案系統(tǒng)主要是線上與線下結(jié)合的形式[3],新增站點向高校備案管理部門履行登記備案手續(xù)。后期網(wǎng)站廢棄或管理員更換,相關(guān)站點并不一定對備案管理部門報備。這種單向備案,不利于后期備案信息維護工作的開展。由于備案信息未能及時更新,當(dāng)發(fā)生網(wǎng)站漏洞等緊急情況,無法及時聯(lián)系到相關(guān)負責(zé)人。針對當(dāng)前網(wǎng)站種類繁多,網(wǎng)絡(luò)安全日益嚴(yán)峻的現(xiàn)狀,為了更好地進行校內(nèi)站點的管理工作,廈門大學(xué)信息與網(wǎng)絡(luò)中心通過充分調(diào)研,在原有較為簡陋的備案系統(tǒng)基礎(chǔ)上開發(fā)了新的備案系統(tǒng)?;谠袀浒腹δ埽肽陮彊C制和漏洞管理機制,在備案的實施過程中取得了良好的效果。本論文將介紹本備案系統(tǒng)的功能模塊和具體的實現(xiàn)細節(jié)。
1.1 系統(tǒng)總體設(shè)計
廈門大學(xué)備案系統(tǒng)大量采用了開源軟件。為方便和其它系統(tǒng)集成,操作系統(tǒng)基于 Linux環(huán)境。開發(fā)語言采用 Python,使用Django框架。開發(fā)環(huán)境采用Vagrant和VirtualBox搭建,系統(tǒng)部署采用Puppet自動化部署工具。Web服務(wù)器選擇Apache2,數(shù)據(jù)庫使用MySQL,緩存采用Redis。
為兼容移動客戶端,提供更好的用戶體驗,網(wǎng)站前端采用Bootstrap響應(yīng)式布局,后臺管理員界面使用 Gentelella模板,JavaScript框架使用jQuery,文件上載采用Dropzone組件。從易用性及安全性考慮,系統(tǒng)對接學(xué)校統(tǒng)一身份認證,包括廈門大學(xué)教職員工、學(xué)生等在內(nèi)的網(wǎng)站管理員無需注冊即可使用統(tǒng)一身份認證登錄備案系統(tǒng)。此外,新的備案系統(tǒng)使用Chart.js、D3.js展示備案信息的各種統(tǒng)計圖表。
1.2 功能模塊設(shè)計
新版?zhèn)浒赶到y(tǒng)的目標(biāo)是對廈門大學(xué)各類站點進行網(wǎng)站備案,并結(jié)合年審機制督促管理員及時更新備案信息;對已通過備案的站點通過程序自動打開校外IP可訪問權(quán)限;對接DNS系統(tǒng),自動關(guān)閉未備案的僵尸和過期站點;為各個備案站點建立漏洞庫,及時聯(lián)系站點管理員處理相關(guān)漏洞,并對漏洞的生命周期進行跟蹤;基于備案數(shù)據(jù),生成校內(nèi)站點數(shù)據(jù)的統(tǒng)計報表,為校內(nèi)站點的管理決策提供數(shù)據(jù)支持[3]。
新備案系統(tǒng)用戶分為三類:普通用戶、院級管理員、系統(tǒng)管理員。
(1)普通用戶功能
普通用戶即各網(wǎng)站管理員,主要進行站點備案、站點相關(guān)設(shè)置、站點漏洞跟蹤管理等工作。普通用戶主要功能包括:
控制臺:進行當(dāng)前用戶所有備案站點信息的匯總展示、站點所有安全漏洞匯總展示、待辦事項提醒等。
我的個人信息:為防止備案站點聯(lián)系人信息缺失,首次登錄備案系統(tǒng)需要先進行個人聯(lián)系信息的填寫。個人信息填寫的每一步均嵌入齊全的幫助信息。
備案:提交備案站點的相關(guān)信息及分管領(lǐng)導(dǎo)信息。備案過程嵌入齊全的幫助信息,提供當(dāng)前可用域名查詢,并進行是否開放校外 IP可訪問權(quán)限的設(shè)置;分管領(lǐng)導(dǎo)信息填寫方面,用戶可以直接選擇之前已備案站點的分管領(lǐng)導(dǎo)信息,不需要重復(fù)填寫,提高備案效率。備案成功后,普通用戶會收到由系統(tǒng)自動發(fā)送的備案成功郵件。
備案項目列表:用戶可查看所有備案條目,包括每條備案的當(dāng)前認證狀態(tài)、是否開放校外 IP可訪問權(quán)限、該備案的安全漏洞列表鏈接、查看該備案詳情的鏈接等。
安全漏洞列表:通過安全漏洞列表,用戶可以查看所維護站點的漏洞,包括每條漏洞的當(dāng)前狀態(tài)、漏洞等級、漏洞類別、漏洞來源、漏洞處理截止時間;點擊相應(yīng)的漏洞可進行漏洞詳情查看及漏洞處理。這樣,就為各個站點建立了漏洞庫,實現(xiàn)網(wǎng)站安全漏洞的通知、確認和處理均在備案系統(tǒng)進行,方便站點漏洞的跟蹤及歷史信息的保存。此外,系統(tǒng)會將漏洞的進展對用戶進行郵件推送,以提醒用戶及時處理漏洞。
提交管理員權(quán)限移交申請。
(2)院級管理員功能
院級管理員除了擁有普通用戶的功能外,還增加以下權(quán)限:
查看學(xué)院內(nèi)所有站點備案列表。
查看學(xué)院內(nèi)所有安全漏洞項目列表。
審核學(xué)院站點中管理員權(quán)限移交申請。
查看學(xué)院內(nèi)所有備案站點統(tǒng)計報表:按月新增站點、活躍站點、學(xué)院站點開放校外訪問權(quán)限的比例、漏洞類型分布、漏洞處理情況統(tǒng)計等,且統(tǒng)計數(shù)據(jù)以圖表形式進行直觀展示。
(3)系統(tǒng)管理員功能
系統(tǒng)管理員通過備案系統(tǒng)對新增備案站點進行審核,對舊站點進行年審工作,并定期清理僵尸站點。
備案搜索管理和用戶搜索管理:方便系統(tǒng)管理員進行相關(guān)站點或相關(guān)管理員信息的定位。
系統(tǒng)管理員使用備案系統(tǒng)進行漏洞錄入、通知、跟蹤、及修復(fù)驗證。
檢查DNS和備案系統(tǒng)數(shù)據(jù),對備案站點進行梳理,發(fā)現(xiàn)已備案的僵尸站點,為備案站點的年審工作提供依據(jù)。
查看普通用戶和院級管理員操作日志。
通過控制臺查看全校備案站點的統(tǒng)計:包括校內(nèi)已認證備案的站點數(shù)目、未認證備案的站點數(shù)目、需年審站點數(shù)目、按月新增站點統(tǒng)計、按學(xué)院網(wǎng)站個數(shù)分析、開放校外 IP訪問權(quán)限的站點統(tǒng)計等。查看全校站點漏洞數(shù)據(jù)統(tǒng)計、分析:根據(jù)漏洞類型、漏洞等級、漏洞狀態(tài)等提供全校安全漏洞統(tǒng)計圖表;按網(wǎng)站、學(xué)院統(tǒng)計漏洞數(shù)最多的網(wǎng)站。通過統(tǒng)計報表,使系統(tǒng)管理員對校內(nèi)站點情況有更直觀的了解,方便系統(tǒng)管理員更好地進行全校站點管理。
1.3 數(shù)據(jù)庫設(shè)計
備案系統(tǒng)的主要數(shù)據(jù)表定義如表1和表2。
表1 備案站點信息表
表2 漏洞信息表
1.4 網(wǎng)站流程設(shè)計
(1)備案流程如圖1所示。
圖1 備案流程
(2)安全漏洞生命周期管理流程如圖2所示。
圖2 安全漏洞生命周期管理流程
2.1 PDF文檔下載
為方便用戶打印出備案信息交由領(lǐng)導(dǎo)蓋章和單位簽字,備案系統(tǒng)提供給用戶預(yù)覽打印效果和下載 PDF打印功能。為了方便開發(fā)人員修改打印樣式和重用代碼,通過Django的模板機制,把需要預(yù)覽的HTML和PDF統(tǒng)一成一個模板文件,在模板內(nèi)編輯樣式,通過模板引擎替換字符串,并渲染為 HTML文本,最終根據(jù)用戶是預(yù)覽或者下載輸出不同的格式。
# 構(gòu)建HTML和PDF統(tǒng)一的樣式
beian_detail_content = render_to_string('licenses/detail.html', {'license': license})
# 如果不是下載PDF,則直接輸出HTML
if not download:
return HttpResponse(beian_detail_content)
# 如果是下載PDF,通過weasyprint模塊把HTML輸出成PDF
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition']= 'attachment; filename="xmu_beian.pdf"'
from weasyprint import HTML
response.write(HTML(string=beian_detail_content).write_pdf() )
return response
2.2 與DNS、防火墻聯(lián)動
為了使得全校盡快地實現(xiàn)所有站點的備案,我們在實踐中通過宣傳、郵件群發(fā)、技術(shù)處理等多種手段促進備案進程。在一定時間過后,通過跟DNS和防火墻系統(tǒng)聯(lián)動,自動封禁未備案站點。任何人訪問未備案站點任何頁面均會得到該站點未備案的通知,并引導(dǎo)用戶到備案頁面進行備案。具體實現(xiàn)為修改 DNS BIND9系統(tǒng)的配置文件。BIND9的配置文件為文本文件,每一行對應(yīng)一條DNS記錄。對每一條DNS記錄,均查詢是否通過備案,如果通過備案,則寫入已備案配置文件,否則寫入未備案配置文件。通過修改DNS配置,不再引用原先的記錄文件而是引用新的拆封過的2個文件,達到封禁未備案站點的目的。同時繼續(xù)保留原先記錄文件,每天定時更新解封新備案站點。具體Python代碼為:
with open('db.xmu.edu.cn.all_sites') as f:
content = f.readlines()
for l in content:
rec = l.rstrip(' ').split()
if is_beianed(rec[0]):
write_to_file(‘db.xmu.edu.cn.beianed’, rec[0])
else:
write_to_file(‘db.xmu.edu.cn.not_beian’, ‘%-20s CNAME ban_server' % rec[0])
BIND配置文件修改為:
;注釋掉原先記錄文件,更改為引入新的拆封過的文件
;$INCLUDE /etc/bind/db.xmu.edu.cn.all_sites
$INCLUDE /etc/bind/db.xmu.edu.cn.beianed
$INCLUDE /etc/bind/db.xmu.edu.cn.not_beian
經(jīng)過以上修改,極大加快了全校備案的進程。
廈門大學(xué)新備案系統(tǒng)在傳統(tǒng)備案功能的基礎(chǔ)上,引入年審機制,著力提高備案站點信息的準(zhǔn)確性,為及時應(yīng)對站點安全問題提供基礎(chǔ);建立備案站點漏洞庫,有效對站點安全漏洞進行跟蹤、處理,建立長效機制。通過在全校開展備案工作,截止到 2017年2月,廈門大學(xué)新備案系統(tǒng)通過和DNS、防火墻系統(tǒng)聯(lián)動,封禁未備案站點的域名解析,實現(xiàn)短時間內(nèi)將500多個站點登記了管理員和分管領(lǐng)導(dǎo)信息,識別出100多個僵尸和過期域名,為下一步的網(wǎng)站漏洞掃描和安全管理提供了堅實的基礎(chǔ)。通過引入的新的漏洞管理功能,使得漏洞整改過程清晰可查,漏洞響應(yīng)時間加快,漏洞平均處理時長也較以往有所減少。今后備案系統(tǒng)的開發(fā)方向可整合更多安全設(shè)備信息,例如與漏洞掃描設(shè)備和WAF、IPS等安全設(shè)備聯(lián)動,為站點管理員和學(xué)校提供各個站點和全校更加清晰的安全態(tài)勢分析。
[1]JEFF FORCIER. DJANGO WEB開發(fā)指南[M].機械工業(yè)出版社, 2009.
[2]鄭海山.高校校內(nèi)網(wǎng)址導(dǎo)航站的研究與實現(xiàn)[J].中國教育信息化, 2014.
[3]簡思遠. 基于SSH架構(gòu)的高校校園網(wǎng)站備案系統(tǒng)的構(gòu)建[J]. 福建電腦, 2010.
[4]劉蘭娟.高校網(wǎng)絡(luò)系統(tǒng)的安全管理策略[J].計算機工程, 2003.
[5]李宗峰.校園網(wǎng)絡(luò)安全問題及對策研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2009.
[6]馬文海.高校網(wǎng)絡(luò)存在的安全隱患與應(yīng)對措施研究[J].中國教育信息化, 2016.
[7]徐濤.深入理解Bootstrap[M].機械工業(yè)出版社, 2014.
[8]陳晨,邵葉秦.數(shù)字化校園基礎(chǔ)平臺信息安全問題及對策[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2016.