Unix平台常用網路安全測試軟體介紹

来源:百度文库 编辑:神马文学网 时间:2024/04/28 06:51:37
■Unix平台常用網路安全測試軟體介紹
前言:
  隨著網際網路的盛行,就商業而言,許多公司為了增加自己公司內部的競爭力,提供
給顧客更便利的服務,或是使更多人可以瞭解他們公司所提供的資訊或服務,紛紛建立起
各式各樣的伺服器,如網頁伺服器,檔案伺服器…等等。有時基於成本的考量,使得越來
越多的公司選擇在自己的伺服器安裝UNIX like作業系統,基於其穩定、簡單、快速特性
,在網路安全檢測方面,雖然不像微軟有專為本身作業系統所量身訂作的MSBA,但也有許
多安全檢測軟體是以UNIX平台為基礎所開發的,如NMAP、NESSUS、SAINT…等,更是眾所
皆知的網路安全檢測軟體,我們在這裡介紹幾套軟體,供大家作為日後在UNIX電腦上架設
網路安全檢測軟體的參考。

壹、Nmap(掃瞄工具):
一、何謂Nmap:
  NMAP因為在網路安全的軟體中頗負盛名,所以有許多人可能都已經聽過或者用過NMAP
了,不過我們仍以最基本的角度來檢視這套軟體,從中我們也可以知道這套軟體迷人的原
因。
  NMAP的全名為Network Mapper,它可以提供網路管理者所需要的網路資訊,讓網路管
理者可以一次針對大量的IP位址進行掃瞄,它提供的掃瞄技術如下:UDP, TCP connect()
, TCP SYN(half open), ftp proxy(bounce attack), ICMP(ping sweep), FIN, ACK
sweep, Xmas Tree, SYN sweep, IP Protocol,以及 Null scan。

二、安裝:
  先從http://www.insecure.org/nmap/nmap_download.html 下載nmap的原始檔,再依
下列步驟執行安裝:

bzip2 -cd nmap-VERSION.tar.bz2 | tar xvf -
cd nmap-VERSION
./configure
make
su root(若無root權限)
make install

三、執行Nmap:
  Nmap的重點在於它所提供的各項參數,這也是我們要介紹的重點,在這裡我們會介紹
幾個常用的參數,讓使用者在使用時能夠較容易接受。

Nmap語法:nmap [Scan Type(s)] [Options] ,每種掃瞄的種
類和一般選項通常可以合併,有些是為了特別的掃瞄模式所建立的。我們根據以上項目進
行解釋:
●掃瞄的種類(Scan Type):
 ■-sS
  TCP SYN掃瞄:通常這種掃瞄又稱為半開放的掃瞄,因為此連線通常不會完整,主要的
  目的在於測試是否可以主機進行連線。這種狀態,就像是您即將建立起連線,再等待
  對方回應,可以根據RST回傳的值,看看是否對方主機有服務在進行監聽,其優點在於
  ,  這樣的掃瞄主機通常不會記錄起來,缺點是你必須要有管理者的權限,才能夠
  執行這種掃瞄。
 ■-sT
  試著針對目標主機的連接埠建立連線,不過要您的主機支援TCP connect( )系統呼叫
  。假如建立起連線,表示目標主機正在監聽該服務,這種掃瞄的優點在於,您不需要
  有的管理者權限,任何在Unix的使用者皆可使用。
 ■-sF –sX –sN
  可以用來試著突破防火牆的限制或者入侵偵測系統的偵測,觀察目標主機。這三者分
  別代表Stealth FIN,Xmas樹和Null scans。。一個 FIN "-sF" 掃描將發送一個FIN的
  封包到每個埠。而Xmas掃描"-sX"打開FIN,URG和PUSH,一個Null scans "-sN"關閉所
  有的封包表頭。
 ■-sP
  Ping scanning:用來只想確認網路上的裝置是否存活。Nmap會一起使用ICMP和ACK技
  術進行掃瞄。Nmap會用ICMP 回應需求封包給每個IP位址,不幸地有些作業系統會拒絕
  這些封包,如微軟的作業系統,但是Nmap可以送出TCP 要求給port 80,假如得到RST
  的回應,就表示機器是存在的。
 ■-sV
  利用掃瞄來推測是哪種軟體在目標主機上提供該埠服務。它會偵測出是哪些服務(WWW
  、FTP…)以及應用程式的名稱(Apach…),版本編號。
 ■-sU
  UDP scans:用來掃瞄該主機開啟哪些UDP的埠。
 ■-sO
  用來得知目標主機有支援哪些IP協定。
 ■-sA
  用來得知目標主機的防火牆是屬於statefull或者只是單純的封包過濾。

●一般選項(Options)
 ■-P0
  在掃瞄之前先不要去ping對方的主機,以試著讓封包通過對方的防火牆。這情況特別
  適合在不准ICMP回應的網路上,這時可以使用-P0或-PS80。
 ■-PA[portlist]
  使用TCP ACK ”ping”來決定哪些主機是存活的,而不使用ICMP的ping封包。
 ■-O
  用來偵測目標主機所安裝的作業系統。通常若一個入侵者可能對某個操作系統的漏洞
  很熟悉,能很輕易地進入此操作系統的機器。一個常見的選項是TCP/IP上的特徵。利
  用-O,就可以達到上述的目的,詳情可見下列的網址。    
  http://www.insecure.org/nmap/nmap-fingerprinting-article-tw.html
 ■-6
  用來開啟對IPV6的支援。
 ■-f
  使用被分割的短封包來提升回應掃瞄的效率。
 ■-v
  可以取得更詳細的資訊。
 ■-h
  出現說明表單,用來快速的參考關於Nmap。
 ■-oN
  把掃瞄的結果輸出成一般使用者能看的懂的表單。
 ■-oX
  將掃瞄結果輸出成XML格式。
 ■-oG
  將掃瞄結果輸出成grepable格式
 ■-oA
  將掃瞄結果輸出成所有Nmap所支援的主要格式。
 ■-p
  輸入你要特別掃瞄的埠(port)
 ■-F
  快速模式,列出1-65535中主機在監聽哪些埠。
 ■-s
  可以指定你的來源IP是多少。
 ■-e
  指定又那個介面收或送出封包。

●時間選項
 可以根據網路環境的不同,適合調整掃瞄的時間
 ■-T
  根據您的時間政策,有下列幾種不同的類型可以選擇,
 ■Paranoid:它會非常慢的掃瞄您的系統,為的是希望能夠避開IDS(入侵偵測系統)的偵
  測,它會有條理的執行掃瞄,通常在封包的傳送間格至少五分鐘。
 ■Sneaky:跟上面的很像,只不過它封包的間隔大概是15秒。
■Polite:它比較希望能夠減輕網路的負擔,減少掃壞主機的機率,它會有條理的執行
  掃瞄,但是每個封包至少間格0.4秒以上。
 ■Normal:Nmap預設的行為,在不拖垮網路的行況下,盡可能的快速傳送封包。
 ■Aggressive:它可以使得某些掃瞄速度變快。
 ■Insane:適合在速度非常快的網路,且您不在意資訊遺漏。

四、舉例:
  nmap –sS –v abc.def.com
  開始掃瞄abc.def.com所有TCP的埠,並詳細表達輸出結果。

五、使用心得:
  對系統管理者來說,這套軟體提供了系統基本安全測試,可以使我們知道現有網路設
備目前有哪些缺點,管理者也需要有專業的能力,才知道如何對這些弱點進行更新。至於
對於一位有心的入侵者,Nmap 卻提供了許多有力的資訊。

貳、SAINT
一、何謂SAINT
  SAINT的全名是Security Administrator’s Integrated Network Tool,它使用非入
侵方式的偵測任何遠端主機的安全漏洞,包含伺服器、工作站、網路裝置,以及其他網路
節點。它可以告訴你關於該主機的作業系統,以及它所開啟的連接埠(port),SAINT提供
了資料管理、掃瞄設定、掃瞄排程、資料分析等可以透過瀏覽器就可以表達的圖形化介面
。當然掃瞄的結果和分析的結果也可以加以儲存。

二、工作流程
  SAINT一開始會針對其掃瞄的目標確認其是否正在運作,皆下來會對掃瞄的主機進行重
點探測(core probe),根據您選擇的掃瞄等級,會有不同程度的重點探測(core probe),
根據探測後所得的資料,SAINT的推理引擎會規劃更進一步的探測,根據內建的規則,判斷
出所潛在的弱點以及其他的資訊。作為其輸出的資料。

三、安裝
  作業系統:Linux或Unix
1.確認您的系統是否符合系統需求。
2.請到SAINT的網頁下載http://www.saintcorporation.com/download.html
 決定您要下載的類型,要注意的是,要確認下載的檔您要安裝的作業系統是否匹配。
3.將壓縮檔解壓縮,其壓縮格式是.gz,若下載之後檔案不是.gz,請改成.gz。
4.執行下列指令:chmod a+x saint-install-x.x。
5.安裝SAINT:./saint-install-x.x。
6.進入SAINT的資料夾內:cd saint-x.x。
7.如果有需要,請編輯 config/saint.cf。

四、取得認證鑰匙
  假如您是使用免費的(只有15天的使用期限,以及固定的掃瞄IP數量),則鑰匙會經由
電子郵件寄給您,假如您是商業客戶,可以經由您的帳號,產生一把鑰匙。將這把鑰匙放
在SAINT的資料夾內,到此時您才可以使用SAINT。

五、SAINT的安裝需求:
●作業系統:目前可以安裝的作業系統有:
 ■SunOS 5.6/Solaris 2.6或者更高的版本
 ■HP-UX 11.00或者更高的版本
 ■Linux 2.2或者更高的版本(x86)
 ■FreeBSD(x86)
 ■MacOS X
●硬碟空間:一般而言,只要10MB就可以安裝整個SAINT,但若沒安裝特定的軟體工具(如
 下),就可能要70MB的硬碟空間。
●特定的軟體工具:
 ■PERL 5.004或者更高的版本(必要)。
 ■Mozilla或者Netscape(必要),假如要用遠端的執行模式的話,IE也可以支援用戶端的
  需求。
 ■Nmap(建議):安裝後可以增進對於主機掃瞄,對於主機上的弱點更容易掌握。
 ■Samba utilities(建議):主要是用來確認微軟系統的分享資料夾。

六、Session的概念:
  當SAINT在執行掃瞄的時後,我們將整個環境的運作稱為一個Session,Session包含了
您的掃瞄政策,所有的參數設定,以及關於目前掃瞄的主機狀態資料。

  開啟和建立Session:
當您使用圖形化介面時,您可以選擇Session的頁籤,在這頁面下,有四種選擇,分別為建
立一個新的Session、或者利用目前的資料開啟一個Session、或者將資料進行合併,形成
一個Session,以及刪除一個Session。

七、SAINT的設定
  Global相對於Session設定:Global的設定檔為saint.cf,它儲存所有SAINT執行時所需
要的設定,不過假如您是使用圖形化介面的話,您可以經由Configuration進行修改,不然
的話也可以直接修改saint.cf檔案,其中Global包含對於GUI模式以及被允許連線的客戶端
。而Session則是管理關於如何執行掃瞄,掃瞄的等級,時間停止值以及密碼的猜測。當您
建立一個新的Session時,您就可以建立新的規則。

八、掃瞄等級:
  SAINT有不同針對主機掃瞄的模式,可以在Scan Setup中選擇您想要進行的模式,當然
較輕的攻擊,速度較快但是比較難獲得資料,較重的攻擊可以獲得比較多的資料,但是速度
較慢。
●Discovery
 這是最輕的入侵掃瞄,通常只是確定目標主機是否存活。
●Light
 SAINT會試著從DNS中收集資料,並試著是找出目標主機的作業系統,並對其建立起RPC
 (Remote Procedure Call)服務。
●Normal
 這個等級包含了上述的兩種測試,更進一步會追查目前網路所提供的服務,像是遠端登
 入 、FTP、WWW、Gopher、電子郵件等。藉由這些資訊,可以進一步確認作業系統類型
 ,以及軟體版本。
●Heavy
 在這個等級,SAINT會檢查TCP port 1- 10000,以及UDP port 1- 2050,當掃瞄的時後
 ,會造成軟體的某種程度的停止,但是可以根據如此而進一步的得知每個服務可能會有
 的漏洞。
●Heavy Plus
 除了包含Heavy等級之外,盡其所能的掃瞄任何可能會使用的port,不過這仍會造成軟體
 的某種程度的停止。
●Top20
 這是針對 http://www.sans.org/top20/所發佈的漏洞進行掃瞄。
●Custom
 由客戶端自行結合SAINT所提供的掃瞄的技術,以符合不同用戶的需求。客制化允許使用
 者去創造所於管理者所屬的掃瞄等級,使用者可以使用圖形化的介面就可以設定。

掃瞄的定義:
  掃瞄定義在兩種檔案裡面,分別都是perl格式的檔案:.conf以及 .probe兩個檔案都
在 config/policy的資料夾裡,.probe的檔案定義的掃瞄的模式,.conf檔則是定義SAINT
要針對哪些種類作弱點偵測。

九、執行SAINT
  SAINT的執行方式可以分圖形和文字模式,在圖形中,分別是在X-windows下的圖形化
介面模式以及遠端執行模式。
●圖形模式
 ■選擇目標:
  第一步是您要選擇您要掃瞄的主機,SAINT對於目標的選擇是多樣化的,您可以根據您
的需求進行選擇,通常目標的選擇有下列數種格式:
  ◆主機名稱:一個或多個I主機的名稱,可以用空格加以隔開,SAINT可以對主機名稱
   加以解析,可能是用主機上所提供的DNS服務或者是對於主機上所設定的DNS來加以
   利用。
  ◆IP位址:一個或一段IP位址,用空格加以隔開。
  ◆子網路:class C的子網路。
  ◆一段IP位址的範圍:一個或多個IP範圍。
●遠端模式
 ■在config/saint.cf檔中,設置$allow_hosts 設定給遠端要登入的主機IP,使遠端主
  機可以連接。
 ■同樣在config/saint.cf檔中,$server_port設定主機要監聽的埠。
 ■執行./saint
 ■設定管理者和SAINT的密碼。
 ■再經由用戶端的瀏覽器連接到該伺服器。
 ■若要關閉遠端模式所開啟的服務,則輸入 ./saint –k
●文字模式
 關於文模式的指令可至以下網站參考文件說明。 
 http://www.saintcorporation.com/documentation/saint_documentation.html

十、SAINT的資料分析
  SAINT提供了四種不同的報表,給使用者進行評估:report、vulnerabilities、host
information以及trust,每一種的報表所包含的資料以及表現的方式皆不相同。
●Reports
 由SAINTwriter所產生,此件已經建立在SAINT裡面,是最基礎且標準的資料報表。
●Vulnerabilities
 描述是什麼弱點,位在哪裡以及該弱點的危險程度,它又可提供下列資訊:
 ■Approximate Danger Level
  分析該弱點的危害程度,最危險的程度是危害管理者使用電腦。
 ■Type of Vulnerability
  說明找到的弱點種類。
 ■Vulnerability Count
  弱點出現的數量,包含在關鍵問題,關心區域,以及潛在問題。
●Host information
 會產生特別的連結讓管理者可以藉由此連結連接到個別的主機資訊,給予包含主機、網
 路、資訊數量等。
●Trust
 用來檢驗之前定義可任信有檔案分享網站是否安全,因為越是信任的網站當他被入侵時
 ,對我們的危害也就越大,SAINT可以對此網站進行檢驗。

Severity Levels
●Critical Problem(紅色):
 入侵者可進行攻擊的弱點,使其可進行權限的提升,或者製造DOS攻擊。
●Area of Concern(黃色)
 密碼或者資訊可能會遭到攻擊或者有被揭露的危機,對主機造成危害。
●Potential Problem(棕色)
 此服務可能也可能沒有弱點,必須取決於其版本,
●Service(綠色)
 目前正在執行的服務,不論是否有弱點。
●Other information(黑色)
 有其他的訊息但是沒有該服務。

十一、使用心得
  SAINT是一款UNIX平台上的不錯弱點評估工具,它親和的使用圖形介面,讓使用者可以
輕易上手,不過有時它仍需要更進一步的掃瞄能力(如在架設NMAP),這是使用者需要多加
注意的地方,不過整體而言,它仍是一款不錯的弱點掃瞄工具。

肆、結論:
  目前在市面上有很多的安全檢測軟體,但是其功能不是大同小異,要不然就是專精於
某一方面,對於主機服務所提供的弱點,或是有針對Web伺服器提供網站的安全檢查,各有
各的功能,有的可以彼此結合,形成更有力的檢測軟體。身為網路管理者,在面對層出不
窮的網路問題,往往需要花費比以往更多的精神來面對主機的潛在危機,所以當越來越多
強力的檢測工具浮上台面的同時,似乎也給攻擊者越來越有力的工具,針對目標主機的弱
點進行攻擊,工具越方便,對於進入攻擊者的門檻也越來越低。網路世界就像現實的世界
一樣,永遠沒有停止攻擊的一天,網路管理者若只是靠著安全檢測工具,那無疑是飲鴆止
渴。最終還是一句話,網路安全是從人開始做起,這句話說來簡單,做起來卻很難,如人
飲水,冷暖自知。

伍、參考資料:
http://www.insecure.org/nmap/nmap_documentation.html
http://www.saintcorporation.com/products/saint_engine.html
 from site : http://www.cert.org.tw/document/column/show.php?key=92