ksu final ok [2] spir.lib.ksu.edu.tw/bitstream/987654321/514/1/專題報告.pdf ·...

49
崑山科技大學 資訊工程系 專題製作報告 網路弱點攻擊與拓樸分析 製作學生:C941E002 廖厚全 C941E004 李世璋 指導老師: 賴溪松 老師 中 華 民 國 九 十 六 年 二 月

Upload: others

Post on 02-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

  • 崑 山 科 技 大 學

    資訊工程系

    專題製作報告

    網路弱點攻擊與拓樸分析

    製作學生:C941E002 廖厚全

    C941E004 李世璋

    指導老師: 賴溪松 老師

    中 華 民 國 九 十 六 年 二 月

  • I

    摘 要

    目前市面上有許許多多的防毒軟體有提供本機弱點偵測的功能,

    但是如果你想使用此功能的話就要購買他們的產品,一套軟體可能就

    會限制最多兩到三台主機可以使用,並不能說你想在哪測就在哪測,

    有許多的限制 ,本專題就是使用網頁的方式讓使用者可以在任何地

    方,都可以使用網路連結到架設好的伺服器來進行掃描,不用在另外

    架Client端。

    透過本專題所建置之系統的實際測試、評估、實驗報告結果後,

    可以知道網路安全的確是個相當重要的議題,人人都要用網路,卻不

    可忽略在使用網路的同時所存在的風險。而我們所做的實驗就是以

    Nessus 作為弱點掃描工具,透過 Web 的方式連線至裝有 Nessus 之系

    統,並進行系統的弱點掃描工作,以降低各個系統的風險。

    然而本系統能夠以不同的使用者帳號登入之後,以不一樣使用者

    權限進行弱點掃描。在管理員的部份,系統則能讓他針對某個部份網

    段進行弱點掃描的權限;若是一般使用者,系統僅能給予他進行個人

    主機的弱點掃描權限,亦不能讓他針對其他主機,甚至是某個網段進

    行掃描。

    關鍵字:網路安全、Nessus

  • II

    誌 謝

    首先感謝賴溪松教授的指導,讓吾人可以透過此專題製作了解到

    何謂弱點掃描、如何使用弱點掃描工具,亦可從此得知該如何善用

    Nessus 來做為弱點掃描的核心工具。此外也要感謝成功大學電機工

    程所林敬皇學長的敦敦教誨之下,令吾人可以在網路的茫茫大海中探

    索到使用工具的技巧,而不是在於廣大的網路中,找不到合適的軟體

    而一籌莫展。

    感謝崑山科技大學資訊科技學院於新設立的教學大樓,提供了研

    究室以供吾人可以用來做為網路測試平台,透過多台電腦連線以達到

    本專題所需具備的網域掃描條件。

    此外也要感謝學校提供這麼好的學習環境,可以讓吾人在浩大圖

    書館中,尋得知識寶藏,更可以藉由在圖書館的找尋資料進而學習到

    自己本身的搜尋能力。 最後,要感謝吾人的家人,有你們提供後援

    金錢支助,以讓吾人可以有機會在這麼棒的環境中學習到更多的知

    識、技能。

  • III

    目 錄 摘要.................................................................................................................................... I 誌謝...................................................................................................................................II 目錄................................................................................................................................. III 圖目錄.............................................................................................................................. V 表目錄............................................................................................................................. VI

    第一章 緒論............................................................................................................. 1 1-1 研究前言 ........................................................................................................... 1 1-2 研究動機與目的 ............................................................................................... 2 1-3 研究背景 ........................................................................................................... 3 1-4 研究方法與系統概述 ....................................................................................... 4

    第二章 相關研究..................................................................................................... 6 2-1 線上掃瞄 ........................................................................................................... 6 2-2 缺點分析 ........................................................................................................... 6 2-3 網路型弱點掃描器主要功能 ........................................................................... 7 2-4 常見的弱點掃描工具 ....................................................................................... 8 2-5 弱點掃描的優缺點 ......................................................................................... 11 2-6 適用對象 ......................................................................................................... 12

    第三章 系統架構................................................................................................... 14 3-1 網路安全偵測系統總架構 ............................................................................. 14 3-2 系統規格需求 ................................................................................................. 15 3-2-1 系統硬體 .............................................................................................. 15 3-2-2 系統軟體 .............................................................................................. 16

    第四章 系統實現................................................................................................... 17 4-1 系統概述 ......................................................................................................... 17 4-2 Nessus安裝 .................................................................................................... 18 4-3 Inprotect安裝 ............................................................................................. 21 4-4 Nessus執行畫面 ........................................................................................... 21 4-5 系統執行畫面 ................................................................................................. 22 4-6 Plugin自訂系統 ........................................................................................... 23 4-6-1 Plugin自訂系統適用對象 ................................................................ 24 4-6-2 Plugin自訂系統功能 ........................................................................ 24 4-6-3 Plugin自訂系統目標 ........................................................................ 25

  • IV

    4-6-4 Plugin自訂系統操作流程 ................................................................ 25 4-7 使用者規劃 ..................................................................................................... 28 4-8 系統特徵 ......................................................................................................... 29 第五章 問題討論................................................................................................... 31 第六章 結論........................................................................................................... 33 參考文獻......................................................................................................................... 34

    附件................................................................................................................................. 35

  • V

    圖 目 錄 圖2-1 參考崑山科技大學各行政單位組織圖............................................................. 12

    圖2-2 系統使用者權限細部圖..................................................................................... 13

    圖3-1 系統架構圖......................................................................................................... 14

    圖4-1 系統模組............................................................................................................. 17

    圖4-2 Nessus開啟畫面................................................................................................. 21

    圖4-3 系統執行畫面..................................................................................................... 22

    圖4-4 Plugin自訂系統簡易操作說明圖..................................................................... 23

    圖4-5 進入Plugni自訂系統頁面................................................................................. 25

    圖4-6 plugin確認畫面................................................................................................. 26

    圖4-7 新增的plugin內容............................................................................................. 27

    圖4-8 使用者規劃架構圖............................................................................................. 28

    圖4-9 使用者區分圖..................................................................................................... 29

  • VI

    表 目 錄 表2-1 網路型弱點掃描主要功能說明........................................................................... 7

    表2-2 主機型弱點掃描主要功能說明........................................................................... 8

    表2-3 網路型弱點掃描常見工具................................................................................... 9

    表2-4 主機型弱點掃描常見工具................................................................................... 9

    表2-5 弱點掃描工具評估............................................................................................. 10

    表3-1 系統硬體............................................................................................................. 15

    表3-2 系統軟體............................................................................................................. 16

  • 1

    第一章 緒論

    1-1 研究前言

    網路安全的重要性,至今依然是每個人所必須重視的問題。每一

    台可連結至網際網路之主機,皆會有弱點出現,在於該如何偵測該主

    機之相關弱點,是本專題所要研究之動向。

    現今社會電腦、網路發展迅速,幾乎是每人最少都有一台電腦可

    以使用,也因為如此,個人電腦及網路系統主機的安全漏洞也就越來

    越多,而懂得防護知識的人卻沒有像電腦網路一樣迅速產生,也因如

    此大家常常都會有被駭客入侵或被植入木馬的經驗,這時就會想說有

    什麼方法能讓自己的電腦安全而不會被駭客攻擊成為跳板呢?

    現今的社會有許許多多的防毒軟體都會有一些類似的弱點偵測

    的功能,可是它只能作一些簡單的檢測,無法將全部的弱點全部掃描

    出來,也因如此還是有些弱點還是會存在,因此我們才會想說有沒有

    什麼方法可以讓自己的電腦更安全呢?

  • 2

    1-2 研究動機與目的

    常常在網路安全相關議題平台,可看到關於該如何使自己電腦更

    安全?該如何保護自己電腦系統資料?該如何……?等。這些都是關

    於網路安全,也是系統安全的重要議題,有時候都會聽到某某人系統

    被駭,資料被竊取或者是系統被破壞之類的經驗。在此是否有設想

    過,該如何先了解自己的系統是否有風險存在呢?

    於是我們決定要作線上弱點掃描平台,提供一般使用者;或管理

    階層人員可透過我們的系統,進行自己的主機,公司主機,或是公司

    網段的弱點掃描。

    而一般人在使用弱點掃描的時候,通常都會覺得還要安裝軟體,

    整個掃描過程太麻煩。於是我們決定以 Web 的介面提供給使用者透過

    網路的連線方式,連到我們的系統,並提供弱點掃描功能。有了我們

    提供 Web 介面的弱點掃描功能,亦可讓使用者省下掃描前還要花費安

    裝軟體的時間。

    然而我們的系統在弱點掃描使用權限的部份,則是以一般使用者

    和管理人員的身份來做區隔,若是以一般使用者登入本系統,僅可進

    行單一主機掃描;若是以管理人員身份登入,則可享有更高的權限,

    進行進階的掃描功能和管理功能。

  • 3

    1-3 研究背景

    到目前為止,已經有許多因為弱點而導致的網路攻擊事件被公

    佈。這些弱點往往是由系統中元件設計和實作上的疏忽或設定上的不

    正確所產生的錯誤,並可能會導致系統在違反安全政策的情況下恣意

    遭到存取、修改或停用。要將所有弱點百分之百消除是不可能的事

    情,其原因有三:第一、這些系統安全問題之細節通常艱深難懂,第

    二、系統中之元件往往有上百個,以及第三、系統變更時可能出現新

    的弱點。

    既然無法消除所有弱點,安全管理上目前有兩種策略,一為入侵

    偵測系統(Intrusion Detection System);另外為弱點管理系統

    (Vulnerability Management System)。其中弱點管理系統即指每隔

    一段時間檢查系統安全,使得弱點可在公佈後且尚未被攻擊者破解之

    前被發現,進而採取補救措施。但是,要處理這些偵測到的弱點將會

    花費管理者大量的時間,除此之外,並不是所有的弱點都會對系統產

    生重大的危害。所以在最近相關研究上,都著重在藉由系統安全狀態

    之弱點分析以估計弱點對於系統危害之風險程度,依此結果管理者只

    須針對嚴重性高的弱點進行補救措施即可 [8] 。

  • 4

    然而現今的弱點掃描工具種類多樣化,有主機型的,也有網路

    型。當然在此我們則是以網路型的弱點掃描工具來作為本系統的主要

    研究對象,我們則是選擇了 Nessus 這套軟體,主要是因為它除了提

    供網路型弱點掃描功能之外,亦有提供主機型弱點掃描,可說是一應

    俱全的弱點掃描軟體。

    在系統的主要核心部份,將會採取 Nessus 作為主要掃描平台,

    而使用者端的部份則是以 Web 介面,提供使用者能透過網路連線進行

    弱點掃描,且無須再自行額外安裝弱點掃描軟體。

    1-4 研究方法與系統概述

    在此我們將以隨手可得的自由軟體為主要研究內容,當然研究的

    軟體將以 Nessus 作為主要研究系統,透過 Web 方式與 Nessus 做連

    線,並於 Web 介面上做掃描動作。而本研究也將會達到幾項目標。

    (1)協助管理者了解有哪些弱點:

    在於管理者使用弱點掃描之後,可以清楚的透過系統所呈現的回

    報轉告系統中存在了哪些弱點,並且在於系統中會存放弱點資料庫,

    以提供給予管理者可以在資料庫中了解目前弱點有哪些。

  • 5

    (2)提供網段模式進行掃描:

    管理者在設定掃描的同時,亦可透過設定功能選項中,選擇設定

    網段,並將網段內的 IP 位址都列至掃描程序,以便管理員可進行網

    段掃描的任務。

    (3)建置弱點掃描排程工作:

    以排程的方式可以讓管理者相當便利的管理系統,可以透過排程

    讓弱點掃描工具可以定期替系統做掃描動作,一旦管理者無閑暇時刻

    的時候,排程工作也將會提供給管理者相當便利的工作。

    (4)提供弱點掃描結果修正方案:

    在掃描回報內容,將會清楚告知管理者,該系統存在哪些弱點,

    並需要如何修正以及提供相關的方法給予管理者可以自行修正系統

    弱點,以避免掉不必要之風險。

  • 6

    第二章 相關研究

    2-1 線上掃描

    在網路的茫茫大海中,隨處可見的是免費線上掃毒網站,例如趨

    勢科技[3]、Panda ActiveScan[4]、Kaspersky Lab[5]、F-Secure[6]、

    等等若干的防毒軟體網站皆有提供即時性的線上掃毒工具。但是往往

    卻忽略了給予提供弱點掃描的功能,在於這部份 Symantec[7]則是有

    提供提供了線上弱點掃描的工具給予使用者可以透過線上的弱點掃

    描,來進行系統的風險評估。

    2-2 缺點分析

    在使用過 Symantec 公司所提供的線上弱點掃描,以相異的作業

    系統同時進行弱點掃描工作時,僅提供給予部分作業系統(例如:

    Microsoft 系列)使用,而無法達到跨平台之效應,導致若要使用該

    線上弱點掃描服務的話,必須使用符合該網站上規定的作業系統,才

    能順利進行線上弱點掃描。

    當然,除此之外,我們亦可從多個線上掃描工具觀察而知,多半

    僅提供線上掃毒功能,尚未提供全方位的線上弱點掃描,固然使用者

    在進行線上掃描的同時,僅能透過掃描結果得知系統是否受電腦病毒

    感染,而無法判斷系統是否存有弱點。

  • 7

    2-3 網路型弱點掃描器主要功能

    在表 2-1、表 2-2 主要說明,目前網路型弱點掃描器和網路型弱

    點掃描器所提供的主要功能說明,當然也包括了該掃描器所提供的掃

    描偵測、後門程序偵測、密碼破解偵測、、、等等。

    表 2-1 網路型弱點掃描主要功能說明

    功能 說明

    (1)服務掃描偵測 提供所有 Port Service 的掃描偵測。

    (2)後門程序掃描偵測 提供遠端控制程序(後門程序)的掃描偵測。

    (3)密碼破解掃描偵測 提供包括操作系統及程序密碼破解掃描功

    能,如:FTP、Telnet、…等。

    (4)應用程序掃描偵測 提供已知的破解程序執行掃描偵測,包括

    CGI-BIN、Web Server 弱點、FTP Server 等

    掃描偵測。

    (5)阻斷服務掃描測試 提供阻斷服務(Denial of Service)的掃描

    攻擊測試。

    (6)系統安全掃描偵測 如:NT 的 Registry、Groups、Networking、

    User、Passwords、DCOM(Distributed

    Component Object Model)、安全掃描偵測。

    (7)分析報表 產生分析報表,並告訴管理者如何去修補弱

    點。

    (8)安全資料庫的更新 安全資料庫必須時常更新,才能落實掃描。

  • 8

    表 2-2 主機型弱點掃描主要功能說明

    功能 說明

    (1)重要資料鎖定 利用安全的 Checksum (SHA1)來監

    控重要資料或程序的完整及真實

    性,例如:Index.html 檔。

    (2)系統日誌檔和文字檔分析 針對系統日誌檔,如 NT 的檢視

    (event log),以及其它文字檔的內

    容做分析。

    (3)動態式的警訊 當遇到違反掃描政策或安全弱點時

    提供即時警訊能利用 E-mail、SNMP

    traps、呼叫應用程序等方式回報給

    管理者。

    (4)分析報表 產生分析報表,並提供如何去修補

    弱點之方法。

    (5)加密 提供 Console 和 Agent 之間的

    TCP/IP 連接認證、確認和加密等功

    能。

    (6)安全知識庫的更新 主機型掃描器由中央控管並更新各

    主機的 Agents 的安全知識庫

    2-4 常見的弱點掃描工具

    目前市面上的掃描工具層出不窮,在此將列舉日常比較容易見到

    的掃描工具,當然也根據該掃描工具所屬型態,歸納出網路型和主機

    型的弱點掃描工具,如表 2-3、表 2-4 所示[9]。

  • 9

    表 2-3 網路型弱點掃描常見工具

    目標主機作業系統 掃描工具名稱

    windows Microsoft Baseline Security Analyzer、

    Interner Security Scanner、Retina、LANGuard

    Network Security Scanner、Shadow Security

    Scanner、NerRecon、 Dragonsoft Secure

    Scanner、Nessus-Client(Open Source)

    Unix(Linux) Nessus-Client(Open Source)、ISS Internet

    Scanner、CyberCop、NetRecon

    表 2-4 主機型弱點掃描常見工具

    目標主機作業系統 掃描工具名稱

    Windows Enterprise Security Mangement(ESM)、

    ISS System Scanner、DragonSoft System

    Security Manager.

    Unix(Linux) ESM、ISS System Scaner.

  • 10

    探討過有目前常見的網路型弱點掃描工具與主機型弱點掃瞄工

    具之外,我們亦可藉著其軟體的功能做分類,並整理出其弱點掃描工

    具評估,如表 2-5。

    表 2-5 弱點掃描工具評估

    功能 說明

    便利性 (1) 安裝、操作的簡易程度。 (2) 功能自訂的彈性程度。 (3) 檢測目標和政策設定的彈性程度。 (4) 自動更新、定時檢測的程度。

    效能及能力 (1) 通訊埠的掃描述及耗費時間。 (2) 檢測的弱點數及耗費時間。 (3) 辨識網路服務的準確度。 (4) 辨識弱點的準確度與可靠度。

    報表與輸出 (1) 報表分類及自訂的程度。 (2) 報表是否容易理解。 (3) 項目及弱點容易找到的程度。 (4) 圖表及報表資訊的豐富程度。

    弱點資料庫 (1) 弱點資料庫的更新速度。 (2) 新弱點的加入速度。 (3) 弱點描述、修補等內容實用度。 (4) 弱點的確認度(由軟體原廠或國際安全組織所

    發佈)。

  • 11

    2-5 弱點掃描的優缺點

    網路型:

    優點:價格便宜。

    不需要在系統上安裝任何套件。

    缺點:不能穿透防火牆。

    與Nessus通訊相關的連接埠,防火牆沒開放Nessus掃描終止。

    掃描服務器與目標主機之間的通訊資料包是沒有加密的。

    主機型:

    優點:能完整的掃描主機的弱點。

    缺點:價格較高。

    需要在系統上安裝特定套件。

    隨著所要掃描的範圍擴大,需要與每個系統的使用者溝通,

    必然首次佈署的時間會加長。

  • 12

    2-6 適用對象

    目前在於適用對象的部份,則是採取校園作為例子,透過崑山科

    技大學各個行政單位組織圖,我們可以大略看到這是個屬於階層式的

    組織圖,當然我們的系統也就與該組織圖意義相近。

    圖 2-1 參考崑山科技大學各行政單位組織圖

  • 13

    除了透過崑山科技大學行政單位組織圖概略了解其使用者權限

    是逐層往下遞減,越下面的階層使用權限相對的也就會越小,能使用

    的系統功能相對的也會因權限關係而有所拘束。

    然而我們可以再透過圖2-2可了解若是將此一系統提供給各個學

    院使用的話,將會因權限的不同,而產生了階層式的分布圖。

    圖 2-2 系統使用者權限細部圖

    計算機中心

    工程學院 商業學院 資科學院

    資管系 資工系 .. 國貿系 企管系 .. 電機系 電子系 ..

    生 ..

    生.. ..

    系統管理員,可管理全部系統

    學院管理員,可管理學院系統

    系所管理員,可管理系所系統

    一般使用者,僅可用掃描工具

  • 14

    第三章 系統架構

    3-1 網路安全偵測系統總架構

    圖 3-1 系統架構圖

    首先由 Client 連線到 Server,然後在登入同時,會先做身份確

    認,待登入之後,不同帳號享有不同的權限,所使用的 NessusServer

    也有所不同,透過不同的權限,在於系統掃瞄的設定上也會有所不同。

    例如,今天是以管理員(Administrator)的身分登入,則可自行

    選擇所要使用的 NessusServer 針對單一主機,或者是某一個網段進

    行弱點掃瞄的工作。

  • 15

    3-2 系統規格需求

    網路弱點掃描 Client 端是不需要有特定的電腦設備,凡只要能

    夠連上網際網路的電腦,將能夠與本系統結合,並進行弱點掃描之動

    作。

    基本上將會把 Nessus 安裝於 Linux 系統之上,為求其穩定性,

    於是選擇 Linux 作為 Server 端,以供 Client 做為連結。

    Client 端軟體屆時將以 Inprotect 為主,作為研究之用,了解其

    Client 與 Server 端是如何做連結,並在於經過掃描之後,如何於

    Client 顯示出被掃描之主機弱點,以及被掃描之主機有哪些漏洞是

    需要修正。

    3-2-1 系統硬體

    表 3-1 系統硬體

    CPU P3 2.0G

    Memory 256 MB Main Memory RAM

  • 16

    3-2-2 系統軟體

    表 3-2 系統軟體

    OS Fedora Core 5

    Apache 2.2.2-1.2

    Nessus 3.0.f-fc5

    PHP 5.1.6-1.2

    MySQL 5.0.24-1.FC5.1

    Shell Scripts Bash

  • 17

    第四章 系統實現

    4-1 系統概述

    首先概略性的說明本系統的模組,以及它是如何建立而成,使用

    工具軟體有哪些,軟體間的連接方式又會是如何。

    系統核心的部份,我們使用 Nessus 作為弱點掃描工具,亦能透

    過 Nessus公司提供的 NASL (Nessus Attack Scripting Language) 語

    言撰寫新的 plugin;Client 的部份則是採取 Inprotect 的 Web 介面,

    如圖 4-1 所示。

    圖 4-1 系統模組

    Web Front-End (Apache+PHP)

    MySQL Database

    nessusd

    Scheduler Scan Execution

    Script

    System Modules

  • 18

    4-2 Nessus 安裝

    首先至 HTUhttp://www.nessus.orgUTH 網站下載Nessus軟體,並於進行

    安裝

    Nessus 主要安裝設定步驟:

    Step 1.安裝Nessus伺服器

    #rpm –ivh nessus-3.0.3.rpm

    #完成上述動作後,在編/opt/Nessus/etc/Nessus/Nessusd.conf

    將 plugin_upload = yes

  • 19

    Step 4.註冊 Nessus plug-in 登錄

    #/opt/Nessus/bin/Nessus-fetch-–registerXXXX-XXXX-XXXX-XXXX

    -XXXX

    如何抓取最新的 Plug-ins 先前在 Nessus 網站進行 Plug-ins 註冊

    時,在 Nessus 的回信中,內附有一組註冊碼,使用此註冊碼進行帳

    號啟用。

    Step 5.執行Nessus-update-plugins,抓取最新的plug-in

    使用下列指令更新 Nessus 的 Plugins

    #/opt/Nessus/sbin/Nessus-update-plugins

    設定每日更新時間

    輸入 crontab –e 並在裡面加入

    28 3 * * * /opt/Nessus/sbin/Nessus-update-plugins

    登記 Nessus 的掃描器

    到下列網站並輸入 e-mail

    HTUhttp://www.Nessus.org/register/UTH

  • 20

    輸入/opt/Nessus/bin/Nessus-fetch –challenge 會得到一串認證

    碼,再至 HTUhttps://plugins.Nessus.org/offline.phpUTH

    輸入所得到的那一串認證碼與剛剛再次收到信中的註冊碼

    按下 submit 後,將會進到一各下在頁面,下載 all-2.0.tar.gz 下載

    完後,將檔案解壓至 tar -zxvf all-2.0.tar.gz -C

    /opt/Nessus/lib/Nessus/plugins/

    完成後設定 Nessus.conf 檔案

    /opt/Nessus/etc/Nessus/Nessusd.conf

    修改 admin_user = admin

    plugin_upload = yes

    plugin_upload_suffixes = .nasl, .inc

    Step 6.執行Nessusd,啟動Nessus伺服器

    修改完後,輸入以下指令檢查 Nessus 是否安裝上去

    #/opt/nessus/sbin/nessusd -D

    rpm –qa | grep Nessus

  • 21

    4-3 Inprotect 安裝

    檔案至 http://inprotect.sourceforge.net/ 下載即可,並在經

    過解壓縮之後,進入 Inprotect 資料夾,在執行 install.sh 檔案之

    前,要先了解自己系統是否有安裝最新版本的

    perl,php,php-gd,mysql,mysql-server,mysql-client,,,等等套

    件。待全部都有安裝之後,即可進行安裝之動作。

    4-4 Nessus 執行畫面

    此為開啟 NessusClient 畫面,並可以於該 Client 進行本機端之

    弱點掃描,以供使用者了解自己電腦中有哪些弱點是需要修正。

    圖 4-2 Nessus 開啟畫面

  • 22

    4-5 系統執行畫面

    此為本系統經過 Nessus Scan 之後,所呈現出來的偵測結果,並

    可以藉由報表結果告知電腦使用者目前系統是否尚有風險存在,若有

    將會在報表結果中提供使用者該如何做修正。

    圖 4-3 系統執行畫面

  • 23

    4-6 Plugin 自訂系統

    透過 web 建立新的 Plugin 給予 Nessus 使用,在透過網頁上撰寫

    完一筆新的 Plugin 儲存的時候,除了會將資料存入資料庫之外,議

    會將資料存入 Nessus plugins 所放置的目錄。可以藉由圖 4-4,了

    解該 Plugin 自訂系統其運作方式。

    圖 4-4 Plugin 自訂系統簡易操作說明圖

    首先使用者先透過網路連線至系統伺服器,然後於 Plugin 自訂

    系統網頁中,撰寫新的 Plugin,隨後確定撰寫完畢之後,儲存檔案

    的同時,系統伺服器將會把該筆 Plugin 同時傳送至資料庫與檔案目

    錄。

    使用者 系統伺服器

    資料庫

    檔案目錄

  • 24

    4-6-1 Plugin 自訂系統適用對象

    目前該 Plugin 自訂系統訂定為給予管理員階級來進行自訂權

    限,尚未開放給予一般使用者使用其功能。畢竟 Plugin 撰寫不易,

    一般使用者仍需懂得如何進行系統掃描即可,若有意想新增的話,可

    以透過與管理員聯繫後,請求管理員新增。

    4-6-2 Plugin 自訂系統功能

    透過此 Plugin 自訂系統,讓管理員新增一筆新的 plugin 提供一

    般使用者或者管理員進行系統掃描時,可以多一筆相關的弱點資訊。

    譬如今天甲管理員,他在自己平日使用的發現了一個弱點,該弱

    點足以讓駭客攻擊,並竊取重要資料,於是在他找到如何解決該弱點

    方法之後,就可透過此 Plugin 自訂系統,自行訂定一個新的 Plugin,

    並詳細的將該弱點會對系統有哪些影響,及其危險性高、中、低等級,

    包含要怎麼解決此項弱點,用什麼方式更新或者修補等等方法,都將

    於新的 Plugin 上一一述說。

    若今日發現弱點的對象是一般使用者,而他想提供其 Plugin 卻

    無法提供的話,可以透過與管理員聯繫之後,由管理員代為新增。

  • 25

    4-6-3 Plugin 自訂系統目標

    透過本系統可以讓管理階級人員,來撰寫一筆新的 Plugin 提供

    給予任何人使用。並且透過自訂系統,可以將新的 Plugin 傳送至任

    一個 Nessus Server 並將資料放置於資料庫與 Plugin 檔案目錄。

    4-6-4 Plugin 自訂系統操作流程

    進入系統首頁之後,以 Administrator 身分登入,隨後點選網頁

    的『plugins』選項之後,隨即進入 Plugin 自訂系統,如圖 4-5 所示。

    圖 4-5 進入 Plugni 自訂系統頁面

    Step 1 Administrator帳號登入Step 2 隨後點選plugins連結 Step 3 進入plugin撰寫網頁

    Step 1 Step 2

    Step 3

  • 26

    在經過一番撰寫新的 Plugin 之後,接著按下『Submit』畫面將

    會把撰寫好的 Plugin 秀在頁面上,提供撰寫者確認,待確認撰寫無

    誤之後,於確認頁面按下『Submit』即進行新的一筆 plugin 資料儲

    存,如圖 4-6 所示。

    圖 4-6 plugin 確認畫面

    Step 1 撰寫完畢按下 Submit

    Step 2 確定無誤按下 Submit

    Step 1

    Step 2

  • 27

    在進行檔案儲存之後,接著我們可以到放置 plugin 的目錄

    (/opt/nessus/lib/nessus/plugins/)查看我們剛才所撰寫的

    plugin,如圖 4-7 所示:

    圖 4-7 新增的 plugin 內容

  • 28

    4-7 使用者規劃

    使用 Admin 來規劃 User 並設定 User 不同的權限,例如:Clinet1

    可使用的 Nessus Server1、2,可使用的功能為掃描部份 IP,Clinet2

    可使用 Nessus Server2,可使用的功能掃描為特定的 IP,Clinet3

    可使用 Nessus Server2、3,可使用的功能掃描為整個網域。

    Clinet 1 web server Nessus Server 1

    Clinet 2 Nessus Server 2

    Clinet 3 Nessus Server 3

    圖 4-8 使用者規劃架構圖

    使用者登入後由

    系統分配 Nessus

    伺服器執行掃描

  • 29

    4-8 系統特徵

    用途功能

    利用 Nessus 作為主要的弱點掃瞄核心引擎

    即時檢測與分析不同網路位置及網路環境

    提供比較及分析報表

    WEB 化管理介面,無須額外執行 Client 程式

    管理功能

    不同的使用者權限控管

    Administrator 一般使用者

    同時管理多部 Nessus Server

    弱點掃瞄排程管理

    使用者功能區分:

    Admin User

    圖 4-9 使用者區分圖

  • 30

    T Admin為最高使用者(管理員),因此所需要的功能較為齊全,

    也提供新的資訊讓其他使用者使用。

    User 為一般使用者,因此只要有基本的功能即可,避免使用

    者拿來做非法用途或任意掃描他人系統,所以一般使用者的功能選項

    及功能有減少許多,也是用此部份來區分 Admin 與 User 的不同。

  • 31

    第五章 問題討論

    在完成系統架設之後,也進行了掃描動作,並可藉由掃描的結果

    可得,被掃描之系統該修正之弱點有哪些,以及目前該系統有哪些弱

    點。但是不可行的是,若是直接用 Nessus 進行掃描的話,將只能掃

    描自己電腦,而無法透過 Nessus 掃描其他電腦。

    Inprotect 在經過測試之後,除了可以自行掃描之外,亦可以掃

    描其他主機。但是缺點就是在於使用者的建立制度上。倒是挺麻煩,

    似乎不是相當的便利,於是該嘗試把 Inprotect 精簡化,以供其他使

    用者可以更加容易上手。

    而目前該系統在實驗之後,目前有幾項正在改善中的部份,將一

    併列於下面:

    (1)系統中文化:

    透過中文化之後,將可以讓習慣於中文環境的使用者,可以更加

    快速上手,透過中文的介面,也讓自己了解到需要做哪些設定。

    (2)在建立使用者的時候,一併建立 Nessus 使用者:

    目前在建立使用者的時候,仍舊只有在 Web 上建立,尚未完成與

    Nessus 新建使用者的部份做同步化。一旦完成同步化的動作,往後

    只需要在 Web 頁面新建使用者即可,無須再另外新增 Nessus 使用者。

  • 32

    (3)Plugin 自訂系統:

    透過 Plugin 自訂系統,可以讓使用者自行選擇所要使用的

    Plugin,而不是以系統預設一萬多筆資料進行比對工作,一旦資料量

    大,相對的所花費時間成本也會相當高昂,於是將設計此系統給予使

    用者能夠自訂 Plugin。

    (4)不同使用者登入之介面:

    在此將以管理員以及一般使用者作為區隔,避免一般使用者登入

    之後,可以有管理員的權限,擅自修改內部設定。

    (5)自動更新以及手動 Plugin:

    更新 Plugin 是一件相當重要的事項,不論何時都需要有新的

    Plugin 更新,以避免網路攻擊手挽不斷翻新的同時招架不住攻擊者

    的攻擊。

  • 33

    第六章 結論

    經過多次實驗之後,可以從中了解我們所建立的系統是可具跨平

    台性弱點掃描平台,可以掃描的系統包羅萬象,除了 Microsoft 系列

    之外,亦可以掃描 Unix 系列相關的作業系統。

    而我們也可以藉著此系統提供的弱點掃描平台,讓浩大校園內的

    學生、老師、主任、、等,任何一位教職員工,皆可以自行進行弱點

    掃描的工作,並透過弱點掃描的報告結果,了解自己本身的系統目前

    是否有風險存在。

    另外,此系統仍可幫助管理員,透過網段掃描的方式,來掃描特

    定網段,並在掃描過後若有發現主機有任何弱點,亦可進行修補動

    作,避免駭客進行攻擊,且資料遭竊取。

    當然我們的系統,除了給予使用者進行掃描之外,亦提供管理員

    一個 plugin 自訂系統,讓管理員可透過該系統撰寫新的 plugin,提

    供給使用者在進行弱點掃描的時候使用。

  • 34

    參考文獻 [1] Nessus,http://www.nessus.org

    [2] Inprotect, http://inprotect.sourceforge.net/

    [3] 趨勢科技,http://housecall.trendmicro.com/

    [4] Panda ,http://www.pandasoftware.com.tw/freescan/activescan.htm

    [5] Kaspersky Lab, http://www.kaspersky.com/virusscanner

    [6] F-Secure,http://support.f-secure.com/enu/home/ols.shtml

    [7] Symantec, http://security.symantec.com/sscv6/home.asp

    [8] 林崇頤,「適應於多量弱點資訊之智慧型攻擊圖形產生器」,碩士

    論文,民國 92 年 6 月。

    [9] 賴溪松,「網路攻防實驗教材」,財團法人國家實驗研究院科技政

    策研究與資訊中心,民國 94 年 6 月。

  • 35

    附 件 檔案名稱:plugin_add.php FileName Id Version Name Family Category Copyright Summary Description

  • 36

    Solution Risk Factor Dependencie Plz input Scripts  

  • 37

    檔案名稱:plugin_add_2.php

  • 38

    $description =""; $solution =""; $risk =""; $dependencie =""; $scripts =""; //如果有傳遞資料過來就指定給對應變數 if(isset($_POST["filename"])) $filename = $_POST["filename"]; if(isset($_POST["id"])) $id = $_POST["id"]; if(isset($_POST["version"])) $version = $_POST["version"]; if(isset($_POST["name"])) $name = $_POST["name"]; if(isset($_POST["family"])) $family = $_POST["family"]; if(isset($_POST["category"])) $category = $_POST["category"]; if(isset($_POST["copyright"])) $copyright = $_POST["copyright"]; if(isset($_POST["summary"])) $summary = $_POST["summary"]; if(isset($_POST["description"])) $description = $_POST["description"]; if(isset($_POST["solution"])) $solution = $_POST["solution"]; if(isset($_POST["risk"])) $risk = $_POST["risk"]; if(isset($_POST["dependencie"])) $dependencie = $_POST["dependencie"]; if(isset($_POST["scripts"])) $scripts = $_POST["scripts"]; //新增資料於 plugins 目錄內 $fp = fopen("/opt/nessus/lib/nessus/plugins/$filename.nasl", 'a'); fwrite($fp, "################################\r\n"); fwrite($fp, "## (C)Kun Shan University ##\r\n"); fwrite($fp, "## http://www.ksu.edu.tw ##\r\n"); fwrite($fp, "## Date:$today ##\r\n"); fwrite($fp, "################################\r\n"); fwrite($fp, "if(description)\r\n{\r\n"); fwrite($fp, "script_id(".$_POST['id'].");\r\n"); fwrite($fp, "script_version(\"".$_POST['version']."\"); \r\n"); fwrite($fp, "name[\"$E\"]=\"".$_POST['name']."\";\r\n"); fwrite($fp, "script_name($E:name[\"$E\"]);\r\n");

  • 39

    fwrite($fp, "family[\"$E\"]=\"".$_POST['family']."\";\r\n"); fwrite($fp, "script_family($E:name[\"$E\"]);\r\n"); fwrite($fp, "script_category(".$_POST['category']."); \r\n"); fwrite($fp, "script_copyright(".$_POST['copyright']."); \r\n"); fwrite($fp, "summary[\"$E\"]=\"".$_POST['summary']."\";\r\n"); fwrite($fp, "script_summary($E:summary[\"$E\"]);\r\n"); fwrite($fp, "script_description($E:desc[\"$E\"]);\r\n"); fwrite($fp, "desc[\"$E\"]=\"".$_POST['description']." \r\n"); fwrite($fp, "Solution:".$_POST['solution']." \r\n"); fwrite($fp, "Risk Factor:".$_POST['risk']." \" \r\n"); fwrite($fp, "script_dependencie(\"".$_POST['dependencie']."\");\r\nexit(0); \r\n}\r\n"); fwrite($fp, "$scripts\r\n"); fclose($fp); //連結 MySQL 伺服器 $link = mysql_connect($host,$user,$ps); mysql_select_db($dbase,$link); //新增資料於 nessus_plugins $insert_str = "INSERT INTO nessus_plugins(enabled,version,created,modified,deleted,category,family,risk ) Values('Y', '$version', Now(), Now(), NULL, '$category', '$family', '$risk')"; mysql_query($insert_str); // or die("無法送出" . mysql_error( )); //新增資料於 nessus_settings_plugins $insert_str = "INSERT INTO nessus_settings_plugins(id,sid,enabled,category,family ) Values('1', 'Y, '$category', '$family')"; mysql_query($insert_str) ; //新增資料於 plugins $insert_str = "INSERT INTO plugins(id,name,family,category,copyright,summary,description,version,cve_id,bugtraq_id,xref) Values(NULL, '$name', '$family', '$category', '$copyright', '$summary', '$description', '$version', 'NOCVE', '', '')"; mysql_query($insert_str ); mysql_close($link); ?>

  • 40

    action="plugin_add_3.php">

     

     

  • 41

    檔案名稱:plugin_add_3.php