Nessus 安裝與使用

Download Report

Transcript Nessus 安裝與使用

Nessus弱點掃瞄工具
操作與使用
區域聯防總區中心
http://www.sss.org.tw/
2005年09月
1
大綱
 Session 1




Linux 系統基本環境與指令介紹
Nessus 簡介
Nessus Server與Client 安裝
Nessus Server與Client設定與使用
 Session 2


弱點報表分析
弱點修正
 結論
2
Linux 系統基本環境
與指令介紹
3
什麼是作業系統?
 作業系統可以管理整部電腦的硬體
 作業系統為使用者與硬體之間的溝通管道
 作業系統包含:


核心和核心提供的介面工具
利用核心提供的介面工具所開發出來的軟體
4
什麼是核心 (Kernel) ?
 核心為作業系統的最底層的東西,用來掌
管整個硬體資源的工作狀態
 Kernel 須要管理的事項有:





系統呼叫介面(System call interface)
行程管理(Process control)
記憶體管理(Memory management)
檔案系統管理(File system management)
裝置的驅動(Device drivers)
5
什麼是Linux ?
 Linux 就是一個作業系統,包含有最主要
的 kernel 以及 kernel 提供的工具
 Kernel提供了一個完整的作業系統中,最
底層的硬體控制與資源管理的完整架構
6
Linux 的特色 ?
 自由與開放
 相對比較不耗資源的系統
 功能強大而穩定
 安全性、漏洞的快速修補
 多工、多使用者
 使用者與群組的規劃
7
Linux 指令使用
8
Linux 基本指令
 目錄與路徑:cd, pwd, mkdir, rmdir
 檔案與目錄管理:ls, cp, rm, mv
 搜尋檔案或目錄:which, locate, find
 打包壓縮指令:bzip2, gzip, tar
 文書編輯軟體:vi
 程序與資源管理:free, ps, top, kill
9
Nessus 安裝、設定與使用
10
威脅與弱點
 ISO 13335 中對於威脅與弱點的定義:


威脅是可能造成系統或組織傷害的可能因素。
弱點則是可能受到威脅利用,而成為對系統
或組織造成衝擊的源頭。
 資安事件的發生,99%就是某個威脅利用
到弱點之結果。
11
安全弱點
 系統及程式本身的漏洞

作業系統,網路服務,網路設備,資料庫,
遠端管理與後門,網站服務
 管理疏失
12
安全漏洞產生的威脅
 網路安全相關的機構會不定期公佈軟體程
式的安全漏洞,若相關人員沒有進行修補
的動作,那麼這些公諸於世的安全漏洞就
會成為駭客及複合式蠕蟲入侵感染的最佳
管道。

Eg:SQL Slammer 、MSBlast …etc.,
13
安全漏洞產生的威脅(Cont.)
 2001年被發生的資安事件是2000年的2倍
 2001年被發現的漏洞數是2000年的2倍
 2001年被發現的漏洞高達2,437個
 平均每天發現6 個新漏洞
 其中有325 個高風險漏洞
 99% 的駭客利用既有的漏洞入侵
資料來源:CERT/CC
14
駭客攻擊行為模式
15
檢視網路系統安全
 使用弱點掃瞄工具:藉由掃描工具回應的
訊息,發現系統可能存在的弱點和漏洞,
使得系統管理員能夠先解決,減少管理主
機上的疏失。

弱點掃瞄工具為何:一種設計為自動檢測遠
端或本地主機安全性弱點的程序。
16
常見的掃描工具
 常見的掃描工具:Nmap、Nessus、Saint
CyberScanner ...等
 Nmap 是一般大家常拿來做port scan 的
軟體
 Nessus、Saint 、CyberScanner詳細功能
各有不同,但是皆為類似的安全掃描軟體,
有的可以增加模組,針對不同的弱點進行
測試,甚至實施攻擊的行為
17
Nmap – The Network Mapper
 Nmap 是一個Port scanner 軟體,藉由
Nmap 的掃描,可以輕易迅速的得知遠端
主機上所執行的服務,甚至可以猜測遠端
主機的作業系統及其版本。
 支持種類繁多的掃瞄技術,例如:UDP掃
瞄、TCP連接掃瞄、TCP SYN掃瞄(半
開掃瞄)…等。
18
Nmap 掃描實例
[root@localhost daphne]# nmap localhost -O
Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2005-07-02 03:34 CST
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1652 ports scanned but not shown below are in state: closed)
PORT
STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
1241/tcp open nessus
32770/tcp open sometimes-rpc3
32771/tcp open sometimes-rpc5
Device type: general purpose
Running: Linux 2.4.X|2.5.X
OS details: Linux 2.5.25 - 2.5.70 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)
Uptime 0.199 days (since Fri Jul 1 22:47:45 2005)
Nmap run completed -- 1 IP address (1 host up) scanned in 6.500 seconds
19
Nessus簡介
 Nessus下載:http://www.nessus.org/
 Nessus 是一套免費、功能強大、更新迅速、使
用容易的遠端掃描軟體,用以探測系統弱點。
 提供模擬真實的攻擊以測試系統漏洞,回報找
到的漏洞並提供解決方法。
 使用Client-server架構,由server端探測,回報
給client端檢視報告。
20
Nessus簡介 (Cont.)
 以Plug-in的方式來增加測試項目,原則上
每日更新。
 為了方便用戶編寫自己的測試項目
Nessus 提供了攻擊腳本語言

NASL(Nessus Attack Script Language)
 檢查的結果可以使用HTML、純文本、
XML、LaTeX等格式保存。
21
Nessus 簡介( Cont.)
 Server端:



下載Plug-in,並根據plug-in進行系統探測。
藉由Deamon的開啟,等待Client端進行探測服務的要
求。
支援各種Unix-like system,也有Win32版本,Win32
版本為商業版。
 Client端


有UNIX及Win32版本。
作為前端的操控平台,用來指定探測目標及檢視報告,
真正的探測由server端發出。
22
Nessus Server安裝

主要安裝設定步驟:






安裝nessus伺服器
設定nessus伺服器憑證
執行nessus-adduser ,開啟使用者帳號
執行nessus-update-plugins,抓取最新的plug-in
執行nessusd –D,啟動nessus伺服器
安裝方式:


使用Shell Scripts進行自動化安裝
使用Source Code進行安裝
23
Nessus 安裝 (Cont.)
 使用Shell Scripts 安裝:



由http://www.nessus.org/download/
下載nessus-installer-2.2.4.sh 檔案
執行 chmod 777 nessus-installer-2.2.4.sh
執行 sh nessus-installer-2.2.4.sh
 當此Scripts執行完成,Nessus Server與
Client端已安裝完成,可進行設定與啟動
24
Nessus 安裝 (Cont.)
 由Source Code 安裝,下載:
1.
2.
3.
4.
nessus-libraries
libnasl
nessus-core
nessus-plugins
 Nessus Server和Client端由上面四部分
程式碼組成,需依序進行安裝
25
Nessus 安裝 (Cont.)
 將原始碼放在 /usr/local/src 目錄中
 解壓縮:




tar zxvf nessus-libraries-2.2.4.tar.gz
tar zxvf libnasl-2.2.4.tar.gz
tar zxvf nessus-core-2.2.4.tar.gz
tar zxvf nessus-plugins-2.2.4.tar.gz
26
Nessus 安裝 (Cont.)
 設定安裝和程式的環境:



在 /etc/ld.so.conf 檔案中加入 /usr/local/lib
(有些系統需再加入/usr/lib)
執行ldconfig指令
27
Nessus 安裝 (Cont.)
28
Demo
29
Nessus Server 設定
 設定nessus 憑證

nessus-mkcert
 增加使用者帳號

nessus-adduser
 設定 Nessus Server 參數

/usr/local/etc/nessus/nessusd.conf
 啟動 Nessus-Server

nessusd -D
 增加Nessus Server的Plug-in

nessus-update-plugins
30
設定nessus 認證
設定CA基本資訊
一般來說採行預設值即可完
成工作
31
設定nessus 認證
完成產生CA認證
顯示存放路徑及目前
狀態
32
Nessus Server 設定:
增加使用者帳號
[root@localhost daphne]# nessus-adduser
增加使用者
Using /var/tmp as a temporary file holder
Add a new nessusd user
---------------------使用者代號
Login : test
Authentication (pass/cert) [pass] : 驗證方式
Login password :
Login password (again) : 密碼= test1234
User rules
---------nessusd has a rules system which allows you to restrict the hosts that testing
has the right to test. For instance, you may want him to be able to scan his own
host only.
Please see the nessus-adduser(8) man page for the rules syntax
Enter the rules for this user, and hit ctrl-D once you are done :
(the user can have an empty rules set)
Login
Password
DN
Rules
: test
: ********
:
:
Is that ok ? (y/n) [y]
user added.
33
Nessus Server 設定:
設定 Nessus Server 參數
 nessusd 設定檔預設位置:
/usr/local/etc/etc/nessusd.conf
 參數:







plugins_folder: nessusd plugins的資料夾位置
logfile: nessusd log紀錄檔位置.
max_threads:每一client同一時間測試hosts的最大值.
users nessusd:使用者的資料庫位置.
rules nessusd: 限制規則的資料庫位置.
language: nessusd傳送測試結果給clinet端所用的語言設定.
checks_read_timeout: nessusd測試timeout的時間設定
34
Nessus Server 設定:
如何抓取最新的Plug-ins
 先在Nessus網站進行plug-ins註冊。
 在Nessus回信的信件中,取得註冊碼,
進行帳號的啟用。
 使用 nessus-update-plugins指令,得到
最新的Plug-ins。
35
Nessus Server 設定:
進行plug-ins註冊
36
Nessus Server 設定:
取得註冊碼
37
Nessus Server 設定:
進行Plugins帳號啟用
[root@localhost daphne]# nessus-fetch --register C786-0183-FA6C-421D-DD04
Your activation code has been registered properly – thank you
[root@localhost daphne]#
38
Nessus Server 設定:
增加Nessus Server的Plugins
 執行 nessus-update-plugins指令, 進行
最新plugins的Update。
39
啟動Nessus server
 使用指令 nessusd –D 啟動Nessus 伺服器
 參數:







-c <config-file> , 指定nessusd啟動設定檔位置.
-a <address> , nessusd server針對某個ip位址監聽
-p <port-number> , 指定nessusd執行監聽的埠號
-D ,以背景模式(daemon mode)
-d , 使nessusd轉儲(dump)抱怨或錯誤訊息.
-v , --version 顯示nessusd的版本資訊.
-h , --help 顯示nessusd的簡易說明畫面.
40
DEMO
啟動nessus server
#./nessusd -D
使用nmap檢查nessus是
否有啟動
預設port為1241若1241
為開啟狀態,則有正確提
供服務
41
Nessus Linux client
 執行 nessus 指令.即
可啟動 Nessus
Linux client.
 按下Log in後,即開
始跟 Nessus Server
進行連線。
42
Nessus Linux client
 當Linux Client第一次
登入Nessus Server時,
Nessus Server將會傳
一個憑證給Client端.
43
Nessus Linux client
 Plugins 選項: 可選擇
主要的掃描分類和其
選項.
44
Nessus Linux client
 Filter:

設定過濾條件,
以特定的
plug-in進行掃
描。
45
Nessus Linux client
 設定網芳的
測試帳號或
密碼
 設定SSH使
用的測試帳
號或密碼
46
Nessus Linux client
 Scan Options:選
擇使用怎樣的掃描
模組,進行弱點掃
描.
47
Nessus Linux client
 Target選項:可以用
來設定所要掃描的主
機,或是根據檔案中
所記錄的IP,進行弱
點掃描。
 輸入目標的方式有二:

使用檔案


將此次掃描進行的Session加以儲存
一列一個IP
手動



Host name(FQDN)
IP address
CIDR
48
Nessus Linux client
 User


掃描範圍規
則
可以用以限
制或排除某
些掃描的機
器
語法:
Reject ip/mask(CIDR)
49
Nessus Linux client
 Prefs.選項:選擇
希望使用怎樣的掃
描方式進行掃描。
50
Nessus Linux client
 KB是用來記錄所
蒐集到的目標主
機的資訊,包含
開啟的port等其他
資訊。
 下一次相同目標
主機時可以重覆
使用這些資訊來
減少掃描的時間,
增進掃描效率。
51
Nessus Linux client
 開始進行掃描.
52
Nessus Linux Client
 右圖為掃描完
成後的報告.
53
Nessus Linux Client
 可儲存與輸出多
種不同的report
格式.
 標準格式為NBE
 建議輸出使用
HTML或HTML
with Pies and
Graphs.
54
Demo
55
Nessus Windows Client
 http://www.nessus.org/download/index.php
下載NessusWX 1.4.5c
 按左鍵兩下即可執行.
56
Nessus Windows Client
 連接Nessus Server.
57
Nessus Windows Client
 設定Nessus
server IP 和帳
號,與Nessus
server進行連
接.
58
Nessus Windows Client
 Nessus Server將
會傳一個憑證給
Client端.
59
Nessus Windows Client
 新建立一個session,
並進行此session掃描
參數跟項目的設定.
60
Nessus Windows Client
 Target選項:按
下Add ,新加入
要掃描的主機,
或是網段,或是
填入 IP address
範圍.
61
Nessus Windows Client
 Scan Options:
選擇使用怎樣的
掃描模組,進行
弱點掃描.
62
Nessus Windows Client
 Port scan 選項:
 設定要掃描的
Port範圍
 設定要使用掃描
的工具模組
63
Nessus Windows Client
 設定此session要連
到哪個nessus
server 進行掃描.
64
Nessus Windows Client:
Plugins選項
65
Nessus Windows Client:
Plugins search選項
 Search
 只能用
來尋找,
並非過
濾。
66
Nessus Windows Client:
 當設定好session要
掃描的主機和項目
後,進行 Execute
Session的設定。
 設定完成後,按下
Execute,即可開始
掃描。
67
Nessus Windows Client:
掃描進度
68
Nessus Windows Client:
掃描結果
69
Nessus Windows Client:
掃描結果
 儲存報
表



純文字
HTML
PDF
70
Nessus Windows Client:
掃描結果
 將報表
儲存或
匯出
71
Demo
掃瞄進行中,視窗
中會顯示其進度及
狀態
72
73
Nessus 弱點報表分析
1.弱點簡介
2.Nessus報告格式
3.nessus報告分析
4.誤判情況
74
安全弱點
 安全弱點泛指所有一切會對系統或網路安
全造成危害的問題或漏洞。包含可以讓駭
客入侵的漏洞或是進行一些非法的存取動
作、竊取資訊、甚至進行阻斷您的網路或
服務的攻擊問題或漏洞等。
75
安全弱點的形成原因
 設計階段(Design Phase)

脆弱的演算法,或設計時未考慮到的問題
 實作階段(Implementation Phase)

因疏忽或是錯誤導致的軟體漏洞
 操作階段(Operation Phase)

使用者的使用或是設定不良所導致
 人性/習慣(Human Nature)

人性上的弱點所導致
76
安全弱點的利用
 程式錯誤(Program Error)
 取得權限(Gain Privilege)
 阻斷服務攻擊(Denial of Service)
 資訊洩漏/竊取/破壞/竄改(Information
Leakage / Corruption)
 後門/木馬(Backdoor / Trojan)
77
安全弱點發佈與公告
 安全弱點公告

當安全弱點被發現時,系統廠商對會發佈一些相對應
的修補程式,以修補及解決該安全弱點,除此之外,
一些致力於維護網路安全的組織也會對這些安全弱點
發佈安全警告並提供修正及解決的方法。
 安全弱點資料庫

將這些安全弱點的佈告,蒐集整理並依一定的格式所
集結而成的資料庫稱為安全弱點資料庫。安全弱點資
料庫可以幫助我們快速搜尋舊有的安全弱點資訊。
78
安全弱點公告-軟體及系統廠商
 微軟


英文安全弱點公告 http://www.microsoft.com/security/
中文安全弱點公告http://www.microsoft.com/taiwan/security/
 Debian Security Information
http://www.debian.org/security/
 FreeBSD http://www.freebsd.org/security
 HP-UX http://www.unixsolutions.hp.com/
 IBM AIX http://www.ibm.com/servers/aix/
 RedHat Linux https://rhn.redhat.com/
 SUN Solaris http://www.sun.com/
 SuSE Linux: Security Announcements
http://www.suse.de/de/support/security/index.html
 SCO Security http://www.sco.com/security/
79
安全弱點公告
網路安全的相關組織
 CERT/CC http://www.kb.cert.org/vuls
 TWCERT/CC
http://www.cert.org.tw/document/advisory/
 SecurityFocus
http://online.securityfocus.com/bid
 Xforce http://xforce.iss.net/xforce/search.php
 網路安全辭彙
http://www.cardweb.com.tw/card/iso/netsecurit
y1.htm
80
安全弱點資料庫
 弱點掃描軟體的弱點資料庫




Nessus http://www.nessus.org/
ISS http://www.iss.net/
TWCERT/CC SAS http://www.cert.org.tw/
DragonSoft
http://www.dragonsoft.com/vulner/
 入侵偵測系統的弱點資料庫

Snort http://whitehats.com/ids/index.html
81
安全弱點資料庫cont.
 Common Vulnerabilities and Exposures (CVE)

為了統一與參照同一個安全弱點,資訊大廠及安全組織們籌組
了一個委員會,並給每一個安全弱點一個參照編號稱CVE編號,
作為各安全弱點資料庫所發佈的安全弱點參照之用,這樣一來,
不會被種類繁多的弱點描述給搞混了,簡單來說,CVE編號就
是給予所發現的每一個弱點的身分ID,透過CVE編號,您就可
以知道在不同的弱點資料庫或公告中所描述的弱點是否為同一
個安全弱點
 CVE編號有兩種形式


CVE-××××-××××(××××為4位數字)
CAN-××××-××××(××××為4位數字)
82
修補安全弱點
 安裝修補程式

適時的安裝修補程式
 安全的設定及使用習慣

建立安全的實用設定及習慣
 軟體發展流程的改進

軟體開發流程管控
 教育訓練
83
Nessus報告格式
84
Nessus報告
85
Nessus報告cont.
弱點說明
弱點參照
86
Nessus報告cont.
弱點說明
弱點修補方式
87
Nessus報告cont.
可能為誤判
88
可能的誤判情況
 應用系統錯誤

如在unix like server 上出現 IIS或 MS-SQL
 已修補的弱點


Nessus利用banner判斷
已修補但banner未改變(在某些unix上會如此)
 自行開啟的服務


自行對應web服務到10000/tcp
自行開發程式使用6007/tcp(通常為IRC後門使用)
89
Demo
 來看看剛剛做的Nessus報告
90
弱點修正
91
檢視系統安全:步驟
 定期進行弱點掃描
 檢視弱點掃描分析報告並修正存在的漏洞


進行套件(package)的更新
修補漏洞
 再次進行弱點掃描,確認漏洞是否已獲得
修補
92
弱點修正:漏洞修補
 參考弱點掃描工具所提供的弱點修補建議
 了解弱點公告資訊 中所提供的各弱點資料,
並依其建議進行修補。
93
弱點修正:套件更新
 弱點掃描工具給予弱點回報時,若是建議
要將套件進行升級較新的版本時,可利用
rpm 和apt-get 指令進行升級.
94
套件更新– 使用rpm
 RPM 有五個基本的操作模式: 安裝、解除安裝、
升級、查詢與校驗
 在http://rpmfind.net/ 找到較新的套件
 升級套件: rpm –Uvh 套件名-x.x.x-i386.rpm 執行過
後,任何較舊版本的套件都被 RPM 自動解除安
裝
 RPM有許多套件相依性的問題 ,故不建議使用
95
套件更新– 使用APT
 APT(Advanced Package Tool)是 Debian
GNU/Linux 用來管理套件的工具,Conectiva 這
家巴西的 Linux 套件公司將它移植到使用 RPM
系統的 Linux 套件上.
 http://freshrpms.net/ 下載apt 進行安裝
 修改 /etc/apt/sources.list 檔案,加入 Apt 來源資
料庫 (Apt Source Repository)
96
Apt 來源資料庫 (Apt Source
Repository)設定參考
 Fedora core 1 or 4


http://forums.fedoraforum.org/showthread.php?t=1608
http://cle.linux.org.tw/index.php?cmd=read&MB=no&page=%E
7%B6%B2%E8%AA%8C%2F%E5%96%AE%E7%AF%87%E
5%BD%99%E6%95%B4
 Redhat 9

http://ccw0729.wakanet.com.tw/linux/linux_rpm.html
 Other (google search)


http://ayo.freshrpms.net/
http://www.google.com.tw/search?q=Apt+Source+Repository&
hl=zh-TW&start=0&start=0&ie=utf-8&oe=utf-8&client=firefoxa&rls=org.mozilla:zh-TW:official
97
套件更新– 使用APT (Cont.)
 apt-get update:

將 apt-get 的本機資料庫和伺服器的套件檔案
。
清單更新
 apt-get dist-upgrade:

若是清單中的套件有較新的版本時,升級已
經安裝的 rpm
98
Demo - APT
99
RedHat Update Agent
 有些像 Windows Update
 參考
 http://www.cyut.edu.tw/admin/cc/tech/redhat/re
dhat_linux-gif.htm
 http://linux.vbird.org/linux_security/old/06up2da
te.php
 http://forum.icst.org.tw/phpBB2/viewtopic.php?t
=81&
100
Windows update
 Windows Update
 Microsoft Update (winodws XP)
 [開始] [程式集] ->[Windows Update]
101
Demo-winows update
102
再一次提醒!!
弱點掃瞄的注意事項
 注意掃描的標的



掃描時可能會造成某相網路設備異常或當機,應避
免之,如網路印表機。
重要的系統應備份後才進行掃描。
避免進行DoS等危險的掃描模組。
 選擇式適當的掃瞄模組

關閉不適用的掃瞄模組
 掃描進行查看nessus記錄檔


Nessus.message
Nessus.dump
 Patch後的重要步驟

再次進行弱點掃瞄以確認弱點是否仍存在。
103
結論
 定期執行弱點掃描是資安防禦的第一步,也是
最重要的第一步。
 留意發布的安全通報,發現自己安裝的軟體出
現新的安全問題時,盡速安裝修正程式,並利
用相對應的檢測項目來確定是否已經沒有這個
安全漏洞。
 隨意掃瞄他人的系統,可能是違法的。在進行
掃瞄前,請務必考量清楚。別拿自己的前途開
玩笑。
104
Q&A
區域聯防總中心聯絡人
Mail:
[email protected]
Web:
http://www.sss.org.tw/
TEL: 06-2743533
105