• 沒有找到結果。

善用安全檢測工具建置安全的校園網路

N/A
N/A
Protected

Academic year: 2021

Share "善用安全檢測工具建置安全的校園網路"

Copied!
12
0
0

加載中.... (立即查看全文)

全文

(1)

善用安全檢測工具建置安全的校園網路

*謝依儒 *國立高雄師範大學資訊教育研究所 壹、前言 國內網際網路環境日益成熟,幾乎所有的學校單位已建置校園網路,並設置 網站以提供師生許多的便利服務。由於校園內所使用的學術網路有龐大的網路頻 寬,卻不見得有企業裝置防火牆的機制,或欠缺網路安全的警覺,使校園網路經 常是駭客喜愛的攻擊對象。不要認為校園網路的安全性不如企業網路重要,就可 輕忽其安全性,遭到入侵攻擊,仍會使校務運作不正常,更甚者,電腦選課資料、 成績資料遭竄改,因此,建置安全的校園網路是不容輕忽的。 今年年中,只要使用微軟作業系統者,不管是大中小型企業或個人用電腦廣 受疾風病毒感染,使網路速度變慢,甚至打垮 router 與 switch。相繼又出現疾風 變種,不僅使網路擁塞癱瘓,甚至可以遠端入侵 NT/2000/XP/2003 執行任意程 式。根據 8 月 13 日趨勢科技公佈國內外受疾風病毒感染電腦用戶的數字,在台 灣方面,短短數日之內受感染的大型企業客戶急速擴增到兩百多家,中小型企業 用戶更是多達數千家以上,估計全台個人電腦主機超過五萬台以上受到病毒嚴重 感染無法正常作業 (http://www.trendmicro.com/tw/about/news/pr/archive/2003/pr030813b.htm)。而 8 月

15 日從美國電腦緊急應變小組(Computer Emergency Response Team ,CERT)追蹤 並公佈的數字發現,全球受到疾風病毒感染的個人電腦已到達 140 多萬台 (http://www.trendmicro.com/tw/about/news/pr/archive/2003/pr030815.htm)。至於疾 風變種病蟲,從自由時報電子新聞網得知禍延了全球五十萬部電腦 (http://www.libertytimes.com.tw/2003/new/aug/31/today-life1.htm)。有專家認為,這 堪稱是今年最嚴重的電腦蟲蟲危機。校園內也多使用微軟作業系統,當然也無法 置身事外,所以學校網管人員也須多關注這類安全資訊,使校園網路免於受害。 本文希望藉由安全檢測工具的使用,減少網管人員對已公佈弱點的維護成 本,提高入侵者的攻擊門檻以及維護主機的正常運作。

(2)

貳、網路安全 在建構安全的網路系統上,一般僅著重在網路的異常行為分析,如要提昇入 侵攻擊的因難度,還應該包括對網路系統的各項威脅,做全面性的分析與防制(呂 芳懌、蘇俊維、許惟翔,民 92)。目前防範入侵的方式主要分為弱點檢測與入侵 偵測兩方面。弱點檢測屬於預防措施,網管人員利用工具程式自行檢查是否使用 了含有弱點的軟硬體,以便先行修補弱點或加強安全監控。入侵偵測則為系統在 使用期間,網管人員利用工具程式監看網路或系統的使用情況,以各種分析方法 找出可能為入侵的異常行為,以對該異常行為採取進一步的行動(陳宗裕,民 90)。 所謂預防勝於治療,架設防火牆是必要的預防措施。防火牆就好像校園網路 外圍的圍牆,圍牆若干地點開了門由警衛把關,壞人仍可利用假的通行證或盜用 通行證矇騙警衛混進來,或找圍牆的破洞鑽進來(黃景彰,民 89)。如果只靠防火 牆來防衛,那麼也意味當入侵者進入圍牆後,校園網路的安全性也盪然無存了, 所以單靠防火牆來防衛是不足夠的。 而網路上的軟硬體難免因設計上的不良或實作上的疏忽,使其含有安全方面 的弱點,這些弱點會造成系統或網路的安全漏洞,成為系統被入侵的管道(陳宗 裕,民 90)。為了提高被入侵的困難度,必須有其它更積極的預防措施,若能利 用安全檢測工具自行檢查校園網路系統是否存有安全弱點,有則進行修補弱點或 加強安全監控,那麼系統的入侵難度自然可大為提昇。當然欲確認網路上軟硬體 的弱點,並不一定要使用安全檢測工具,只是就管理者而言,要知道每一個軟硬 體的弱點是有其困難性,因為網路管理者必須在閱讀冗長的諮詢報告後,自行判 斷系統或檢測所用程式版本資訊,再經由網路搜尋相關檢查程式,以及找出適合 此系統弱點的修補程式,而且必須不間斷地進行同樣的檢查和修補的動作(楊明 豪,民 89) 。因此,善用安全檢測工具,可有效減少弱點的維護成本。 目前知名的安全檢測工具有 COPS、TARA(前身為 Tiger)、SATAN、SAINT、 ISS、Nessus 等。COPS 和 TARA 只可檢查本地主機系統的安全性,且僅限於 Unix-like 系統,也無法檢查出新發現的安全漏洞。SATAN、SAINT、ISS、Nessus 皆可掃描遠端主機。SATAN 比較需要更多的系統資源,而 SAINT 改良自

(3)

強大,但所費不貲,而免費軟體就只能掃描本地主機。Nessus 是個極優秀的安全 檢測工具,功能強大且檢測速度快,可檢測的弱點涵蓋了所有網路服務,適用於 各種平台與網路設備,可檢測的弱點又可快速更新,是當今網路管理者票選最佳 的網路安全檢測工具(https://www.cert.org.tw/member/#SAS),最難得的是不用任 何費用,所以本文介紹 Nessus 來進行校園網路安全的檢測。 參、Nessus 的特點 Nessus 檢測的項目包含 23 大類,諸如各種阻斷服務攻擊、遠端取得權限、 後門、SMTP 伺服器、FTP 伺服器、網頁伺服器、防火牆、網路設備、遠端檔案 存取、WINDOWS 的各項設定疏失等一千多個檢測項目 (https://www.cert.org.tw/member/#SAS)。不僅可檢測已知的弱點與漏洞,更可檢 測出是否已遭受入侵或植入木馬程式,並將檢測結果做詳細的報告,包括弱點發 生於何種系統、服務中,以及如何進行修正。Nessus 主要特點如下 (http://www.nessus.org): 1. 主從式的架構:

Nessus 是由Server、Client 二個部份所組成,如圖一所示。Server 端主要 是負責作檢測的執行,它能安裝在所有 Unix-like 作業系統下,並以服務的方式 來提供 Client 端服務。而 Client 端主要是一個前端介面,能提供使用者登入N essus Server、選擇欲執行的檢測並且顯示檢測的結果,而 Client 端 主要有W in32、Unix-like 二種平台的選擇。

(4)

2. Plug-in 的組成方式:

Nessus 的各個檢測程式都寫成外掛模組,Nessus 使用者能輕易的增加檢測 程式至 Nessus Server 內,不需更新 Nessus 系統的程式。若想編寫新的檢測程 式,需要熟知入侵的行為模式與 NASL 函式。

3. NASL 語言:

Nessus 檢測程式的撰寫,可以用 C 語言或是 Nessus 所發展的 NASL(Nessus Attack Scripting Language)語言撰寫,而用 NASL 發展檢測程式,除執行效率較 C 語言佳外,將來如果在 Windows 下發展Server 端會比較容易移殖。

4. 能同時檢測無限制的主機:

假如執行檢測的 Server 夠強,Nessus 並不會限制同時檢測多少數量的主機。 5. 聰明的辨識主機上的服務:

Nessus 並不認定特定的 Port 必定是某項服務,所以它能檢測改變固定 Port 的服務,如 web 的服務設在 Port 8080(預設 Port 80),Nessus 可以檢測到 Port 8080 是 web 的服務。 6. 重覆服務的檢測: 假設一台主機有二個以上相同的服務(如二個 web 服務),Nessus 都會對其 執行檢測。 7. 完整的報告結果: Nessus 列出執行檢測之主機數量,以及每台主機發現了多少 holes、warnings 與 notes 及其服務的版本,針對發現問題給定危險等級(從 Low 到 Very High), 並告知如何預防駭客入侵,如圖二所示。

(5)

8. 支援多種格式的報告結果: 假 如 Client 端 是 在 WIN32 的 系 統 下 執 行 , 能 輸 出 的 報 告 格 式 有.txt、.html、.pdf 等格式,可匯出的報告格式有.csv、NSR、NBE、MySQL Database、.sql 等格式。 肆、Nessus 安裝需求 Nessus 可架在所有Unix-like 作業系統上,以原始碼的安裝方式來說,需從 Nessus 官方網站下載 nessus-libraries.tar.gz 、libnasl.tar.gz 、nessus-core.tar.gz、 nessus-plugins.tar.gz 四個 tarball,分別解壓縮後,再依上列的順序分別進入個別 的目錄下執行./configure、make、make install 三個命令。安裝的系統上需要含有 GTK(Gimp Toolkit)、OpenSSL。嚴格說來 GTK 並非絕對必要,若想在圖形介面 執行Nessus Client 端即需使用 GTK 工具集,而 OpenSSL 就絕對必要了,其主 要負責 Nessus Client 與 Nessus Server 間的安全性

(http://www.hk.redhat.com/docs/manuals/linux/RHL-9-Manual-TW/custom-guide/)。

Nessus Server 與 Client 端程式皆由 nessus-core 安裝完成,假如系統沒有 GTK ,預設只安裝 Nessus Server 端程式。若欠缺 GTK 仍想在文字模式下使用 Nessus Client 端程式,安裝 nessus-core 時,組態命令./configure 附加--disable-gtk 參數即可。至於詳細安裝過程可參閱http://www.nessus.org 伍、Nessus 功能與實際運用 當網管人員大量檢測電腦系統的安全性時,無法依據各大網路安全機構所發 佈的安全通告來一一檢查系統是否存在弱點與漏洞,此時便需仰賴安全檢測工具 來檢查。若從各大網路安全機構或他人得知最近有何弱點、漏洞被利用,或只想 檢查特定弱點、漏洞,不想耗費太多時間做全面性檢查,Nessus 允許設定只掃描 特定檢測程式,如圖三所示,將 Use session-specific plugin set 勾選後,再執行 Select plugins...選擇欲檢測之 Plugins。當設定了只掃描特定檢測程式時,由於 Plugins 之 間可能有相依性,所以最好勾選圖四之 Enable plugin dependencies ,若沒勾選, 有可能因欠缺另一檢測程式的檢測結果,導致網管人員選定之檢測程式無法掃描 出真正結果。今年年中所發佈的疾風病毒即作用於 Windows NT/2000/XP/2003 等 系統上,而學校有許多電腦使用 Windows 環境,一台一台重複同樣步驟來檢測

(6)

是件繁瑣的事,此時適合以 Nessus 安全檢測工具來針對疾風病毒作大量檢測, 以目前釋出的版本並不包含疾風病毒的 Plugin,所以必需先在 Nessus Server 端執 行 Plugins 更新程式,再設定只掃描疾風病毒 Plugin,一次掃描校內所有 Windows 環境電腦。若欲檢測的電腦數量越多,所需耗費時間相對越久。若欲檢測的電腦 數量多,且欲掃描的 Plugin 檢測程式也多,則所需時間更久,此時可使用 Nessus 的 Detached scan 功能,其允許 Client 與 Server 斷線,而 Server 繼續進行安全 檢測,待檢測完後再連線至 Server 端取回檢測結果,如圖五、圖六所示。

圖三 設定只掃描特定檢測程式

(7)

圖五 使用 Detached scan 功能 圖六 從 Server 端取回檢測結果 Nessus 所開發的每個 NASL 檢測程式皆是依據各大網路安全機構所發佈的 安全通告發展而成,如:CERT/CC、TWCERT/CC、CVE、Security Focus 等,檢 測結果主要是描述漏洞發生於何種系統、服務中,並且告知如何進行修正與核對 措施。因為新的弱點與漏洞持續被發現,Nessus 組織也持續發佈新的 NASL 檢 測程式,所以 Nessus 須勤加更新 plugin,如果希望系統能自動更新,可使用 crontab 來做 plugin 的週期性更新。此外,Nessus 也允許 Nessus 使用者自行依 據各大網路安全機構所發佈的安全通告撰寫 NASL 語言,若想自行編寫新的檢測 程式,當然熟知入侵行為模式與 NASL 函式是必備的。撰寫完的檢測程式必需 上傳至 Nessus Server 才能使用,而 Nessus Server 預設不允許使用者上傳 plugin,需將 Nessus Server 的組態檔 nessusd.conf 設定成 Nessus 使用者可上傳 plugin,再重新啟動 Server 服務,使用者才能上傳使用。上傳的 plugin 存放在 Nessus 使用者個人路徑內,所以只有上傳該 plugin 的使用者可使用該檢測程 式。圖七即上傳 Plugin。

(8)

圖七 上傳 Plugin

在 Linux 上,Nessus Client 端有圖形介面與文字介面,文字介面所使用的 掃描指令可利用系統的 crontab,於 plugin 週期性更新後,再做安全掃描,以達 自動化,不過,網路管理者仍須勤看檢測結果,勤加更新修正系統。 當安全檢測完成後,可依檢測結果的建議進行修正漏洞,修正漏洞的方法通 常是更新版本、執行 PATCH 檔或修正設定,但即使都依照建議進行修正後,並 無法保證系統有百分百的安全性。因為系統本身仍潛藏著尚未被發現的漏洞,或 是已發佈的漏洞尚未撰寫成 NASL 檢測程式,所以管理者應該注意各大網路安 全機構所發佈的安全通告,並且核對 Nessus 組織是否有發佈新的 Plugin,勤加 更新 Plugin,或者自行撰寫 Plugin。如此一來,才能確保有最新的 Plugin,使可 檢測的安全弱點也越齊全,也才能有較安全的校園網路。

陸、NASL 語言撰寫

Nessus 有自己的語言(NASL)提供使用者撰寫檢測的 plugins,雖然也可以使 用 C 語言撰寫,但用 NASL 語言撰寫有下列優點:

(1) 不能讀取 Nessus Server 端的檔案:用 NASL 語言所撰寫的 plugin,不能去 讀取 Nessus server 主機的檔案,可防止駭客藉由撰寫檢測程式,安裝木馬 或偷取 server 上的資料。

(2) 方便使用的現成函數:以 NASL 語言撰寫檢測程式,有許多現成的函數可供 使用,可大大的縮短開發的時間。

(3) 可移殖性:Nessus 以後若可在非 Unix-like 的作業平台下執行,用 NASL 語 言撰寫的檢測程式,較不需考慮作業平台的問題,將來移植時較方便。 NASL 檢測程式可分成二個部份,第一個部份是註冊部份(register section),

(9)

之描述。第二部份則是攻擊部份(attack section),是實際向外檢測的程式碼,其 檢測模式大致分為平和查詢、攻擊查詢兩種。平和查詢是運用 Nessus Script 所 提供的函式,編輯詢問封包的內容,再送出封包並且取得回應訊息,以回應訊息 來判斷是否有漏洞,例如以回應訊息來判斷是否為產生漏洞的版本;攻擊查詢是 具有實際攻擊行為,可能對掃描主機造成危害,例如對偵測主機送出大量封包或 者傳送經由特別設計的長串封包,讓目標主機無法回應或忙於處理請求封包,導 致系統運作變慢,或者形成暫時性的阻斷服務攻擊(Denial- of-Service)而無法馬上 回應其他的請求封包。在此以疾風病毒檢測程式來說明 NASL 語言,如表一,這 個範例的攻擊部份只作平和查詢,看是否已感染疾風病毒。

(10)

表一 疾風病毒檢測程式 #註冊部份開始 if(description) { #註冊腳本 ID script_id(11818); script_version("$Revision: 1.4 $");

name["english"] = "The remote host is infected by msblast.exe"; #設置腳本名稱

script_name(english:name["english"]); desc["english"] = "

The remote host seems to be infected by the 'msblast.exe' worm, which may make this host attack random hosts on the internet. Solution : - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.worm.html - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.b.worm.html - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.c.worm.html - http://www.microsoft.com/technet/security/bulletin/ms03-026.asp Risk Factor : Critical";

#設置腳本的弱點描述

script_description(english:desc["english"]);

summary["english"] = "Checks for the presence of msblast.exe"; script_summary(english:summary["english"]);

#設置腳本類別,ACT_GATHER_INFO 代表訊息採集類腳本,不會對主機產生 傷害

script_category(ACT_GATHER_INFO);

script_copyright(english:"This script is Copyright (C) 2003 Tenable Network Security"); family["english"] = "Windows"; #設置腳本所屬的族(family) script_family(english:family["english"]); #設置 plugin 的依賴關係。這腳本需取得 netbios_name_get.nasl、smb_login.nasl、 #smb_registry_access.nasl 腳本獲得的結果 script_dependencies("netbios_name_get.nasl", "smb_login.nasl","smb_registry_access.nasl"); #設置腳本需分別取得上面三個腳本的 SMB/name、SMB/login、SMB/password、 #SMB/registry_access 等 KB 值

script_require_keys("SMB/name", "SMB/login", "SMB/password", "SMB/registry_access");

script_require_ports(139, 445); exit(0);

#註冊部份結束 }

(11)

表一(續) 疾風病毒檢測程式 #攻擊(檢測)部份開始 include("smb_nt.inc"); #機碼路徑: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";

#機碼名稱: "windows auto update" item = "windows auto update"; #取得登錄檔機碼值

value = registry_get_sz(key:key, item:item); #若無機碼資料則不執行以下檢測

if(!value)return 0;

#若機碼資料包含"msblast.exe"或"penis32.exe",則顯示安全問題 if("msblast.exe" >< value || "penis32.exe" >< value)security_hole(port); #機碼路徑:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";

#機碼名稱: "microsoft inet xp.." item = "microsoft inet xp.."; #取得登錄檔機碼值

value = registry_get_sz(key:key, item:item); #若無機碼資料則不執行以下檢測 if(!value)return 0; #若機碼資料包含"teekids.exe",則顯示安全問題 if("teekids.exe" >< value)security_hole(port); 柒、結論 為了使校務運作正常、確保資料安全,校園網路安全是不容輕忽的。使用 Nessus 不僅減少已公佈弱點的維護,相對提高了校園網路被入侵的困難度,並可 免於重複檢測的動作,尤其當有大量電腦需作檢測,更可減輕網路管理的負擔。 檢測後可能有大量電腦需進行更新修正,但對於更新版本、執行 PATCH 檔 或修正設定,仍無法免於重複同樣的動作,目前無大量電腦同時更新修正的機 制。作業系統若是 RedHat,那麼可透過 crontab 使用 APT 來自動升級系統,只 不過升級並不一定是最好的解決方法,因為新的版本畢竟可能潛藏著尚未被發的 安全問題。此外,APT 套件本身仍在發展階段,所以使用了這個套件並無任何 保證。至於 Windows 環境,只要微軟有繼續支援,可使用 Windows Update 來 更新修正。

(12)

捌、參考文獻

Nessus http://www.nessus.org。

Red Hat, Inc. (民 92)。Red Hat Linux 用戶自訂手冊。

http://www.hk.redhat.com/docs/manuals/linux/RHL-9-Manual-TW/custom-guide /。 TWCERT/CC 台灣電腦網路危機處理暨協調中心 https://www.cert.org.tw/member/#SAS。 自由時報電子新聞網 http://www.libertytimes.com.tw/2003/new/aug/31/today-life1.htm。 呂芳懌、蘇俊維、許惟翔。內部網路安全威脅分析與防制。2003 電子商務與數 位生活研討會論文集,台北:國立台北大學與實踐大學,2003 年 4 月 11 日 至 12 日,2644-2657 頁。 陳宗裕。支援弱點稽核與入侵偵測之整合性後端資料庫設計研究。中原資工所碩 士論文,2001 年。 黃景彰。網上駭客的攻擊與反制。資訊安全通訊,2000 年 12 月,7 卷 1 期,65-77 頁。 楊明豪。後門之偵測與防治。資訊安全通訊,2000 年 12 月,7 卷 1 期,55-64 頁。 趨勢科技 http://www.trendmicro.com/tw/about/news/pr/archive/2003/pr030813b.htm。 趨勢科技http://www.trendmicro.com/tw/about/news/pr/archive/2003/pr030815.htm。

參考文獻

相關文件

瞭解各種安全防護 器具(含滅火器、安 全帽、護目鏡、防 凍手套、絕緣手 套、高空作業安全 帶、噪音防護及氣 銲設備回火安全裝 置等)之種類及功 用。.

了解電腦網路的原理,學習使用 個人網誌及簡易的網頁設計,具 備電子商務的觀念、網路安全以 及網路犯罪與相關法規.

凡中華民國國民,體能狀況良好,具有安全維護暨門禁安全管理、校園定 時巡視、校園夜間輪值暨安全警戒及突發狀況處置及通報等工作能力者

勞工保險局、職業安全衛生署危險性機械及設備檢查 與管理、動植物防疫檢疫局及所屬屠宰衛生檢查、畜

機器人、餐飲服務、花藝、雲端運算、網路安全、3D 數位遊戲藝術、旅 館接待、行動應用開發、展示設計、數位建設

近期全球各地皆藉由停止上班上課以遏制新冠肺炎疫情的傳播,正是需要遠端視訊或會 議軟體的時刻,然而視訊會議工具 Zoom

近期全球各地皆藉由停止上班上課以遏制新冠肺炎疫情的傳播,正是需要遠端視訊或會 議軟體的時刻,然而視訊會議工具 Zoom

圖 2-13 顯示本天線反射損耗 Return Loss 的實際測量與模擬圖,使用安捷倫公司 E5071B 網路分析儀來測量。因為模擬時並無加入 SMA