王迎生 宗學 梁后健


摘要:隨著國網公司“三集五大”體系建設的完成及深化應用為的推進,信息通信支撐作用日益凸現。本文通過將Nmap這個專業的漏洞掃描工具引用到企業內網環境中,結合市縣一體化要求,通過漏洞的統一掃描,統一整改,為最終實現信息通信專業的統一監控、統一客服和統一運維添磚加瓦。通過淮北供電公司的實踐表明基于NMAP的電力公司網絡漏洞管理系統的建設可全面提高專業管理效率、運維質量、服務能力及安全水平,取得了較好的應用實效。
關鍵詞:企業內網安全 系統漏洞自動掃描 NMAP
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2016)06-0209-02
隨著淮北市縣公司電網規模的不斷增長,變電站、供電營業所等基礎設施的增加使得信息通信網絡覆蓋地域增大、信息通信設備數量激增,業務應用對信息通信的支撐要求越來越高,對信息通信的運維管理均提出了更高的標準。由于各種臺式機中較多使用的是Windows系統,系統漏洞多發。如果系統漏洞被不法者利用,通過網絡植入木馬、病毒等方式來攻擊或控制整個電腦,竊取電腦中的重要資料和信息,甚至破壞系統。造成企業機密外泄,甚至威脅電網安全運行,將會給企業造成不可估量的損失[4]。為此有必要定期掃描企業內所有終端的漏洞情況,構件一套漏洞定期掃描系統。
1 需求現狀分析
2008年10月24日微軟公司發布了編號為MS08-067的嚴重高危漏洞,2012年3月13日微軟公司發布了編號為MS12-020 的嚴重高危漏洞,攻擊者可以利用這兩個漏洞無需認證運行任意代碼。這兩個漏洞如果在企業局域網中大量存在,則企業的信息化工作將無安全可言。因此,企業信息運維人員如何及時發現并消除這兩個漏洞,是企業信息安全人員工作方向之一。
企業內部局域網計算機操作系統存在MS08-067[1]、MS12-020[2]漏洞,對企業信息安全產生嚴重威脅,同時也面臨被上級單位督查考核的情況。因為網絡工作站經常因工作需要重新安裝操作系統,稍不小心就會留下漏洞。
目前商業漏洞掃描的工具非常貴,且很難和企業內部信息運維監控告警平臺整合,給基層單位信息運維工作人員帶來困擾。
2 系統建設
2.1 系統設計
依據網省公司對信息通信專業的運維管理規范,通過建設基于NMAP[3]的電力公司網絡漏洞管理系統,編寫自動檢測MS08-067、MS12-020漏洞的腳本,方便日常使用,減少運維復雜度。
通過對Linux環境(Kali)NMAP工具的了解,找出利用NMAP掃描漏洞的方法,然后再用shell script語言封裝降低使用難度。
2.1.1 漏洞自動掃描流程設計
由于NMAP是根據IP地址來掃描的,所以需要將現有市、縣公司的IP段保存到系統數據庫中,另外為了方便系統擴展,漏洞掃描腳本支持維護添加。
為了支持定時自動掃描,需要編寫腳本定時執行任務,又因為腳本執行結果在Linux服務器上顯示,畢竟查看保存不方便,所以需要將最終結果解析保存到數據庫。經過對比篩選,我們選擇了python執行定時啟動漏洞掃描腳本和解析掃描結果。
2.1.2 漏洞自動掃描功能設計
圍繞漏洞自動掃描,首先要編寫基于NMAP的漏洞掃描功能bash腳本,然后使用python腳本調用漏洞掃描的bash腳本,最終由web頁面展示給用戶。主要功能規劃如下圖1,詳細功能規劃見圖2。
2.2 系統實現
漏洞掃描的腳本實現是本系統的核心。通過對Linux環境(Kali)NMAP工具的了解,找出利用NMAP掃描漏洞的方法,然后再用shell script語言封裝降低使用難度。MS08-067掃描腳本代碼如下:
#!/bin/bash
#Check arg 1 is null
if [ -z $1 ]; then
echo “Please input host ip address.
Example:192.168.12.2 or 192.168.12.2-64”
exit 0
fi
#check arg format
#echo “step 1”
flag=`echo “$1” | grep “-”`
if [[ $flag ]]; then
#if [[ $1=~”-” ]]; then
net=`echo “$1” | awk -F ‘- ‘{print $1}`
netstart=`echo “${net}” | awk -F ‘. ‘{print $4}`
net1=`echo “${net}” | awk -F.{print $1”.”$2”.”$3}`
netend=`echo “$1” | awk -F ‘- ‘{print $2}`
x=$(($netend-$netstart))
if [ $x -lt 0 ]; then
s=$netend
e=$netstart
else
s=$netstart
e=$netend
fi
else
net1=`echo “$1” | awk -F ‘. ‘{print $1”.”$2”.”$3}`
netstart=`echo “$1” | awk -F ‘. ‘{print $4}`
s=$netstart
e=$netstart
fi
#echo “step10”
for ((i=$s;i<=$e;i++)); do
#for (( i=1;i<=5;i++ )); do
ip=$net1.$i
rtn=`nmap -p445 --script=smb-check-vulns.nse --script-args=unsafe=1$ip|grep”MS08-067:VULNERABLE”`
if [[ -z ${rtn} ]]; then
echo -e “ Host:$ip no MS08-067 Vuln.”
else
echo -e “ Host:$ip has MS08-067 Vuln.”
fi
Done
但是由于腳本掃描結果是顯示在Linux系統上,不方便保存查看與分析。所以需要使用python解析結果并保存到數據庫,便于查看與分析。
3 總結與展望
通過基于Nmap的信息內網漏洞掃描工具的建設,大幅提高了地市電力公司信息運帷人員的終端安全管理效率,切實提高信息通信系統運維水平和工作質效,具有一定的實踐意義。
參考文獻
[1]百度百科MS08-067:http://baike.baidu.com/link url=EMIY36ju
ovlX9JWESxpzRsncWnvM4Rdd8yDOwSSZQZhWZX2S9rjR5pkwK9SbKeFWFy
MptPZ1JZMg8iyZhuvTM_.
[2]Microsoft 安全公告 MS12-020:ttps://technet.microsoft.hcom/
library/security/ms12-020.
[3]Nmap:https://nmap.org/.
[4]張波.企業網絡信息安全[A].中國煙草行業信息化研討會論文集[C],2004.