系統管理員指南:如何給系統打補丁?(知識篇)
原創【51CTO獨家特稿】對于系統管理員而言,打補丁的目的主要是為了保證系統的安全,不被有心人利用一些漏洞入侵到自己管理的系統當中。這其中涉及到很多問題,比如漏洞的安全危害級別,如何查找和檢測漏洞,打補丁之前預估好可能產生的影響,進行充分的測試,做好相關備份等。有一些入行不久的系統管理員害怕打補丁,害怕會因此導致系統出現不正常,其實該打的補丁不打往往可能導致更糟糕的后果。那么,系統管理員應如何修補軟件、系統漏洞,平穩的打補丁呢?51CTO系統頻道特別邀請了李晨光老師來給大家掃盲。
作者簡介:李晨光(博客,新浪微博),中科院研究生畢業,IBM軟件精英講師,微軟社區精英,ChinaUnix論壇Linux欄目版主.從事網絡系統管理、存儲及信息安全10年,中國勘察設計協會信息化專家、中國計算機學會高級會員,通過微軟Microsoft、思科Cisco、CIW網絡認證、獲數據庫高級管理工程師認證,多年系統管理培訓、軟件開發管理經驗。公開發表專業學術論文四十篇,精彩博文百余篇。
一、程序為什么會有漏洞?
程序只能嚴格按照規則做編程有要它做的事情。但是,最終編寫的程序并不總是與程序員預計讓程序完成的事情一致。下面的這個笑話可以說明這一問題:
一個人在森林中行走,在地上發現了一盞魔燈。他本能地撿起了魔燈并且用袖子擦拭它。突然,從瓶子里出來了一個魔鬼。魔鬼感謝這個人使他獲得了自由,并答應要滿足他的三個愿望。這個人欣喜若狂,他確實知道自己想要什么。 “第一”,這個人說,“我想要十億美元。” 魔鬼很快地晃了一下手指,滿滿的一袋子錢出現了。 這個人驚奇地睜大眼睛繼續說道:“接下來,我想要一部法拉利。” 魔鬼一晃手指,很快地在煙霧中出現了一部法拉利。 這個人繼續說:“最后,我想變得對女人有極大的誘惑力。” 魔鬼一揮手指,這個人變成了一盒巧克力。 |
程序執行正像這個人的最后一個愿望的實現一樣。程序按照指令執行,由于軟件漏洞結果出了問題并不總是程序員想要的,有時結果甚至是災難性的。
我們都知道現在軟件變得更加復雜,軟件越復雜,就越難預測它在各種可能場景下的反應方式,也就越難保證其安全性,當今的操作系統和應用程序的代碼行數也越來越多,例如Windows xp大約有4千萬行代碼,Vista 大約5千多萬,Windows 2000有2900萬行代碼。業界通常使用這樣的一個估算方式,即每1000行代碼中大約有5~50BUG。因此理論上,從平均意義上能估計出Windows xp中大約有多少個BUG。我們都知道黑客對操作系統的攻擊都是利用系統軟件中的漏洞進行的。在過去,很多人把漏洞看作是有惡意的人能夠利用的軟件或硬件的缺陷。然而在近幾年中,漏洞的定義發展成為有惡意的人能夠利用的軟硬件的缺陷及配置錯誤。
從表面上看,漏洞管理像是個簡單的工作,比如在操作系統上裝上一些常用的補丁修補工具,然后自動進行修補。然而在大部分組織的網絡中,漏洞管理既困難又復雜。一個典型的組織中包含定制們有不同的需求,不能只做簡單地保護,更不能置之不理。軟件廠商仍會發布不安全的代碼,硬件廠商也不會將安全內建在產品中,因此這些問題就留給了系統管理員來處理。
廠商通過不同的途徑發現一個漏洞。在理想的情況下,廠商在發布產品之前,會找出并解決所有的安全問題。但是代碼的復雜性,加上嚴格的開發周期,易于產生安全方面的錯誤。通常,一個獨立的/商業的安全研究組織會將漏洞告知廠商;不過在有些情況下,廠商會與公眾同時發現漏洞,這時不用事先通知,漏洞就被公開了,就很容易被利用。
#p#
二、如何理解漏洞造成的風險?
不管一個漏洞是如何公開的,該漏洞都對一個組織造成了風險。漏洞帶來的風險大小取決于幾個因素:
- 廠商對風險的評級
- 組織中受影響系統的數量
- 受影響系統的危險程度和暴露程度
比如某些大的銀行機構會采取措施,把所有的金融核算系統都放在網絡中,并且置于獨立的防火墻之后。盡管分離重要的系統是一種很好的策略,但是有一個因素沒有考慮到:有大量的員工需要訪問這些數據。因此,實際擁有的只是一個用作日志系統的昂貴防火墻,該防火墻允許一部分客戶端通過。當然,防火墻可以阻止一些威脅,但是如果威脅來自一個允許通信的通道,那么防火墻就沒有幫助了。
正確的解決方案是把整個部門放在隔離的網絡中,不允許任何來自網絡外部的訪問。減少暴露程度雖然與漏洞無關,但是會大大降低漏洞為企業造成的風險。
三、漏洞評估方法和步驟
在一個企業中查找出漏洞需要付出很大的努力,不能簡單地在所選的地方安裝一個漏洞掃描軟件并簡單地按下“開始”按鈕,那樣是不起作用的。因為現在的企業擁有成千上萬的服務器和主機,這些服務器和主機又通過上百個速率不同的網絡線路連接起來,因此照這個方法,我們在期望的時間內根本無法獲得所需的覆蓋范圍。
那么需要做什么呢?我們需要對漏洞進行評估。所謂漏洞評估,可以理解成跟軍隊中的偵察差不多的行為。偵察任務的主要目的是向前進入外國的領土,并且查找出敵軍的弱點和易攻擊的地方。漏洞評估是幫助企業領導、安全專家及黑客在網絡、應用和系統中確定安全責任的安全實踐活動。
實施漏洞評估的方法和步驟分為:信息收集/發現,列舉,以及檢測。
1.信息收集/發現
這一步驟包括:
- 為查找目標擁有的所有域名而進行的whois查詢
- 為確定與目標相關的IP地址范圍而通過網站(如www.arin.net)對可能的目標和IP地址進行的查詢
使用Nmap軟件,我們能夠很快確定網絡上哪些主機是在線的。在Nmap中使用-s P(ping掃描)選項對目標網絡執行ping掃描。這可以幫助確定哪些主機是活動的和有效的。一旦確定信息后,信息收集/發現的工作就完成了。現在可以繼續進行第二步,列舉并確定目標運行什么操作系統和應用程序。(51CTO推薦閱讀:十條nmap實用命令行技巧)
2.列舉
列舉是用來
- 判斷目標系統運行的操作系統
- 獲取操作系統指紋和位于目標上的應用程序
的過程。
在確定操作系統后,就是要確定運行于主機上的應用程序。端口0~1023(共1024個)被稱為熟知端口。
仍然使用Nmap。我們用它的-sV選項來確定什么應用程序位于什么端口。端口在漏洞評估中扮演了一個很關鍵的角色,因為它確保將漏洞對應到各自應用程序。如果確信有問題的主機在端口443上運行的是安全Web服務器而不是一個電子郵件服務器,那么很可能就不會發現該主機的漏洞,從而認為系統將來不可能被滲透。當信息收集工作和列舉工作完成后,現在可以在目標系統上檢測漏洞了。
3.檢測
檢測用來確定一個系統或應用程序是否易受攻擊。需要注意的是,這一步并不是用于確定漏洞是否存在。檢測過程只是報告漏洞出現的可能性,而漏洞是否存在則由滲透測試來完成。
#p#
四、查找檢測漏洞的方法
上面介紹了檢測漏洞的執行思路,下面介紹應該如何在真實系統環境下進行漏洞檢測。這個工作通常使用漏洞評估掃描器完成。漏洞評估掃描器一般是運行漏洞評估軟件的網絡工具,或者運行在一個企業自己資產中的漏洞評估軟件。
現在漏洞修復技術比過去發生了很大變化。修復技術已經從手工修復進入了自動化過程。本文中我們只考慮Windows系統和UNIX/Linux系統。
1.利用配置工具評估漏洞
許多組織已經在管理/配置工具上做了投資,常常利用這些工具做一些相當常規的工作,但是通過擴展這些工具來從我們的環境中提取漏洞數據。比如賽門鐵克的產品(以前的Bind View,2005年被賽門鐵克收購),能夠幫助一個組織處理大部分日常的windows活動目錄(AD)操作,也可以發現組織中的漏洞。為了更好地理解,下面看一個BindView的部署。
2.漏洞評估工具
一個好的工具最少要有的特征:低的誤報率(false positives)、零漏報率(false negatives)、一個完整的檢測數據庫、對網絡流量的影響小、直觀的和可定制的報告引擎。
目前,很多漏洞掃描產品都被開發出來,不同的軟件掃描漏洞的功能存在一定的差異,有些掃描軟件還帶有一定的入侵性質,例如X-Scan、Shadow Security Scanner和流光等。
下面介紹幾個商業漏洞管理工具:
eEye Digital Security在漏洞研究中處于領導地位。它也開發了一套用來幫助進行漏洞管理的工具。
BindView的Compliance Manager是一個基于軟件的解決方案,允許組織對比公司標準或者行業最好的經驗來評佔資產,在大多數情況下不需要用到代理。
◆Attachmate(NetIQ,2006年被Attachmate收購)
NetIQ的Compliance套件是一個NetIQ的安全管理器和漏洞管理工具的組合,并且把漏洞掃描、補丁管理、配置修復和報告整合在一起。NetIQ漏洞管理器能夠通過AutoSync技術讓用戶定義和維護配置策略模板、漏洞公告板和自動檢測。它也有能力根據這些策略評估系統。
StiIISecure是VAM的制造商,是一個安全產品的集成套件,能夠執行漏洞管理、終端符合性監控,以及入侵防御和檢測。它也包含一個內置的工作流方案(可擴展漏洞修復工作流),這個方案能夠自動地分配修復、進度安排、生命周期追蹤和修復確認,所有維護詳細的設備歷史記錄。
下面介紹幾個開源工具:
Nmap是一個免費開源的網絡搜索或安全審計工具。盡管它對單臺主機工作非常好,但被設計為快速掃描大型網絡。
Tenable Network Security的Nessus是一個漏洞掃描和配置掃描工具。Nessus項目由Renaud Deraison開始于1998年,為了給網絡社會提供一個免費的、強大的、最新的且好用的遠程安全掃描器。Nessus是最好的免費網絡漏洞掃描器并且無論如何在Unix上運行是最好的。它持續更新(超過11000種免費插件可用)。
Microsoft Base Security Analyzer(MBSA)是一個好用的工具,為專業人員設計以便幫助中小型企業依靠Microsft的安全建議來測定安全狀態,并且也提供特定的修復指導。建立在Windows升級代理和Microsoft升級設施基礎上,MBAS確保了和其他Microsoft管理產品的一致性,這些產品包括Microsoft Update(MU),Windows Server Update Services(WSUS), systems management server(SMS)和Microsoft Operarations Manager(MOM)。
51CTO推薦專題:網絡安全工具百寶箱
到目前為止,我們介紹了漏洞是什么,漏洞為企業帶來的風險,以及檢測漏洞的思路和方法。具體如何給企業中的系統打補丁,且聽下回分解。
【編輯推薦】