1.15k likes | 1.76k Views
Nessus 弱點掃瞄工具 操作與使用. 區域聯防總區中心 http://www.sss.org.tw/ 2005 年 09 月. 大綱. Session 1 Linux 系統基本環境與指令介紹 Nessus 簡介 Nessus Server 與 Client 安裝 Nessus Server 與 Client 設定與使用 Session 2 弱點報表分析 弱點修正 結論. Linux 系統基本環境 與指令介紹. 什麼是作業系統 ?. 作業系統可以管理整部電腦的硬體 作業系統為使用者與硬體之間的溝通管道 作業系統包含:
E N D
Nessus弱點掃瞄工具操作與使用 區域聯防總區中心 http://www.sss.org.tw/ 2005年09月
大綱 • Session 1 • Linux 系統基本環境與指令介紹 • Nessus 簡介 • Nessus Server與Client 安裝 • Nessus Server與Client設定與使用 • Session 2 • 弱點報表分析 • 弱點修正 • 結論
什麼是作業系統? • 作業系統可以管理整部電腦的硬體 • 作業系統為使用者與硬體之間的溝通管道 • 作業系統包含: • 核心和核心提供的介面工具 • 利用核心提供的介面工具所開發出來的軟體
什麼是核心 (Kernel) ? • 核心為作業系統的最底層的東西,用來掌管整個硬體資源的工作狀態 • Kernel 須要管理的事項有: • 系統呼叫介面(System call interface) • 行程管理(Process control) • 記憶體管理(Memory management) • 檔案系統管理(File system management) • 裝置的驅動(Device drivers)
什麼是Linux ? • Linux就是一個作業系統,包含有最主要的kernel以及kernel提供的工具 • Kernel提供了一個完整的作業系統中,最底層的硬體控制與資源管理的完整架構
Linux 的特色 ? • 自由與開放 • 相對比較不耗資源的系統 • 功能強大而穩定 • 安全性、漏洞的快速修補 • 多工、多使用者 • 使用者與群組的規劃
Linux 基本指令 • 目錄與路徑:cd, pwd, mkdir, rmdir • 檔案與目錄管理:ls, cp, rm, mv • 搜尋檔案或目錄:which, locate, find • 打包壓縮指令:bzip2, gzip, tar • 文書編輯軟體:vi • 程序與資源管理:free, ps, top, kill
威脅與弱點 • ISO 13335 中對於威脅與弱點的定義: • 威脅是可能造成系統或組織傷害的可能因素。 • 弱點則是可能受到威脅利用,而成為對系統或組織造成衝擊的源頭。 • 資安事件的發生,99%就是某個威脅利用到弱點之結果。
安全弱點 • 系統及程式本身的漏洞 • 作業系統,網路服務,網路設備,資料庫,遠端管理與後門,網站服務 • 管理疏失
安全漏洞產生的威脅 • 網路安全相關的機構會不定期公佈軟體程式的安全漏洞,若相關人員沒有進行修補的動作,那麼這些公諸於世的安全漏洞就會成為駭客及複合式蠕蟲入侵感染的最佳管道。 • Eg:SQL Slammer 、MSBlast …etc.,
安全漏洞產生的威脅(Cont.) • 2001年被發生的資安事件是2000年的2倍 • 2001年被發現的漏洞數是2000年的2倍 • 2001年被發現的漏洞高達2,437個 • 平均每天發現6 個新漏洞 • 其中有325 個高風險漏洞 • 99% 的駭客利用既有的漏洞入侵 資料來源:CERT/CC
檢視網路系統安全 • 使用弱點掃瞄工具:藉由掃描工具回應的訊息,發現系統可能存在的弱點和漏洞,使得系統管理員能夠先解決,減少管理主機上的疏失。 • 弱點掃瞄工具為何:一種設計為自動檢測遠端或本地主機安全性弱點的程序。
常見的掃描工具 • 常見的掃描工具:Nmap、Nessus、Saint CyberScanner ...等 • Nmap 是一般大家常拿來做port scan 的軟體 • Nessus、Saint 、CyberScanner詳細功能各有不同,但是皆為類似的安全掃描軟體,有的可以增加模組,針對不同的弱點進行測試,甚至實施攻擊的行為
Nmap – The Network Mapper • Nmap 是一個Port scanner 軟體,藉由Nmap 的掃描,可以輕易迅速的得知遠端主機上所執行的服務,甚至可以猜測遠端主機的作業系統及其版本。 • 支持種類繁多的掃瞄技術,例如:UDP掃瞄、TCP連接掃瞄、TCP SYN掃瞄(半開掃瞄)…等。
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
Nessus簡介 • Nessus下載:http://www.nessus.org/ • Nessus 是一套免費、功能強大、更新迅速、使用容易的遠端掃描軟體,用以探測系統弱點。 • 提供模擬真實的攻擊以測試系統漏洞,回報找到的漏洞並提供解決方法。 • 使用Client-server架構,由server端探測,回報給client端檢視報告。
Nessus簡介 (Cont.) • 以Plug-in的方式來增加測試項目,原則上每日更新。 • 為了方便用戶編寫自己的測試項目Nessus 提供了攻擊腳本語言 • NASL(Nessus Attack Script Language) • 檢查的結果可以使用HTML、純文本、XML、LaTeX等格式保存。
Nessus 簡介( Cont.) • Server端: • 下載Plug-in,並根據plug-in進行系統探測。 • 藉由Deamon的開啟,等待Client端進行探測服務的要求。 • 支援各種Unix-like system,也有Win32版本,Win32版本為商業版。 • Client端 • 有UNIX及Win32版本。 • 作為前端的操控平台,用來指定探測目標及檢視報告,真正的探測由server端發出。
Nessus Server安裝 • 主要安裝設定步驟: • 安裝nessus伺服器 • 設定nessus伺服器憑證 • 執行nessus-adduser ,開啟使用者帳號 • 執行nessus-update-plugins,抓取最新的plug-in • 執行nessusd –D,啟動nessus伺服器 • 安裝方式: • 使用Shell Scripts進行自動化安裝 • 使用Source Code進行安裝
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端已安裝完成,可進行設定與啟動
Nessus 安裝 (Cont.) • 由Source Code 安裝,下載: • nessus-libraries • libnasl • nessus-core • nessus-plugins • Nessus Server和Client端由上面四部分程式碼組成,需依序進行安裝
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
Nessus 安裝 (Cont.) • 設定安裝和程式的環境: • 在 /etc/ld.so.conf 檔案中加入 /usr/local/lib • (有些系統需再加入/usr/lib) • 執行ldconfig指令
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
設定nessus 認證 設定CA基本資訊一般來說採行預設值即可完成工作
設定nessus 認證 完成產生CA認證顯示存放路徑及目前狀態
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的時間設定
Nessus Server 設定:如何抓取最新的Plug-ins • 先在Nessus網站進行plug-ins註冊。 • 在Nessus回信的信件中,取得註冊碼,進行帳號的啟用。 • 使用 nessus-update-plugins指令,得到最新的Plug-ins。
Nessus Server 設定: 增加Nessus Server的Plugins • 執行 nessus-update-plugins指令, 進行最新plugins的Update。
啟動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的簡易說明畫面.
DEMO 啟動nessus server #./nessusd -D 使用nmap檢查nessus是否有啟動預設port為1241若1241為開啟狀態,則有正確提供服務
Nessus Linux client • 執行 nessus 指令.即可啟動 Nessus Linux client. • 按下Log in後,即開始跟 Nessus Server進行連線。
當Linux Client第一次登入Nessus Server時,Nessus Server將會傳一個憑證給Client端. Nessus Linux client
Plugins 選項: 可選擇主要的掃描分類和其選項. Nessus Linux client
Nessus Linux client • Filter: • 設定過濾條件,以特定的plug-in進行掃描。
Nessus Linux client • 設定網芳的測試帳號或密碼 • 設定SSH使用的測試帳號或密碼
Scan Options:選擇使用怎樣的掃描模組,進行弱點掃描. Nessus Linux client
Target選項:可以用來設定所要掃描的主機,或是根據檔案中所記錄的IP,進行弱點掃描。Target選項:可以用來設定所要掃描的主機,或是根據檔案中所記錄的IP,進行弱點掃描。 輸入目標的方式有二: 使用檔案 一列一個IP 手動 Host name(FQDN) IP address CIDR Nessus Linux client 將此次掃描進行的Session加以儲存
Nessus Linux client • User • 掃描範圍規則 • 可以用以限制或排除某些掃描的機器 語法: Reject ip/mask(CIDR)
Prefs.選項:選擇希望使用怎樣的掃描方式進行掃描。Prefs.選項:選擇希望使用怎樣的掃描方式進行掃描。 Nessus Linux client