版權 © 2008 Red Hat, Inc.
Copyright © 2008 Red Hat, Inc. This material may only be distributed subject to the terms and conditions set forth in the Open Publication License, V1.0 or later with the restrictions noted below (the latest version of the OPL is presently available at http://www.opencontent.org/openpub/).
Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.
Distribution of the work or derivative of the work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.
Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.
All other trademarks referenced herein are the property of their respective owners.
The GPG fingerprint of the security@redhat.com key is:
CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
1801 Varsity Drive Raleigh, NC 27606-2072 USA Phone: +1 919 754 3700 Phone: 888 733 4281 Fax: +1 919 754 3701 PO Box 13588 Research Triangle Park, NC 27709 USA
January 2008
修訂記錄 | ||||
---|---|---|---|---|
修訂 5.2-11 | Wed May 21 2008 |
Michael Hideo Smith <mhideo@redhat.com>
|
||
|
This Deployment Guide documents relevant information regarding the deployment, configuration and administration of Red Hat Enterprise Linux 5.2.
歡迎使用 Red Hat Enterprise Linux 建置指南。
Red Hat Enterprise Linux 建置指南包含了如何自訂您的 Red Hat Enterprise Linux系統以符合您需求之相關訊息。如果您需要的是設定和自訂您系統之完整、工作取向的指南,這本手冊一定適合您。
Red Hat 的課程和證照無可置疑的是 Linux 中,甚至可以說是資訊科技業界的指標。我們的證照課程全由經驗豐富的 Red Hat 專家們執鞭,並檢測實際系統操作能力,且該專業頗受資訊業界需求。
假如您在 Red Hat Enterprise Linux 建置指南 中發現錯誤,或有任何您覺得可以改進的地方,我們很歡迎您的建言!請回報一份關於 建置指南
的報告到 Bugzilla(http://bugzilla.redhat.com/bugzilla/
)。
假如您有關於改善說明文件的建議,請盡量明確的說明您的想法。 如果有發現錯誤,也請您指出段落號碼與一些周遭的文字,以使得我們可以更快的找到它。
不論系統管理員需要保護重要系統、服務或資料時,Red Hat Enterprise Linux 提供了多種工具和方式,作為整體安全性策略的一部分。
本章節將特別以 Red Hat Enterprise Linux 的觀點來提供基礎的安全性介紹。並提供安全評估、常見行為、入侵和突發事件處理方面的概念。也提供了如何使用 SELinux 來加強工作站、伺服器、VPN、防火牆的設定之概念的相關資訊以及其他措施。
在閱讀本章節前,您必須擁有基本相關資訊科技安全性的知識,在此提供小部份如控制實體存取、良好帳戶保管方針和程序、審核等一般安全性的觀念。您可以從其他來源取得適合的相關資訊。
由於我們越來越倚賴功能強大且有網路連線的電腦來幫助我們商業方面的需求以及保存 我們的個人資料,因此研發網路與電腦安全的工業也逐漸形成。 在企業中,他們會聘請 安全性的專家來審核系統並且定制出適合他們組織之操作需求的解決方案,因為大部分 公司的運作方式都是相當彈性化的,其員工會有機會在本地端或遠端地存取公司的資訊 科技資源,因此對於安全的電腦運作環境的需求變得越來越重要。
不幸的是,大部分企業(以及個人用戶)都把安全性考量放到最後,排在 系統效能、生產力、以及預算之後。一份適切的安全性政策多半是 後見之明 — 被入侵之後才制訂出來的。安全專家同意, 在連上不值得信任的網路(例如網際網路)之前,就該先做好預防措施, 這可以有效地防止大部分入侵。
只要給予足夠的時間、資源與動機,怪客幾乎可以入侵任何的系統。因此,目前可用的安全性程序與科技都無法保證任何系統可免於入侵。路由器可以幫助保全連接到網際網路的閘道器,而防火牆可幫助保全網路的邊緣,在虛擬私有網路中可以安全地以加密的方式傳輸資料。入侵偵測系統可以用來警告您任何的惡意行為。然而,這些科技的成功也仰賴許多的變數,包括了:
負責設定、監控與維護這些科技之人員的專業能力。
快速且有效地修復與更新服務與核心的能力。
負責的人員對網路使用狀況保持經常警惕性的能力。
由於數據系統與科技的變動頻繁,要保全公司的資源是相當繁複的事情,要為您的所有系統找到專家的資源通常 是很困難的。 雖然我們可以擁有對高層資訊安全的許多領域都熟悉的人員,不過要保留這些專家人員是很困難的。 這主要是因為資訊安全的每一個主題領域都需要不斷地鑽研與探究,資訊安全並不會停留不變。
假設您負責管理一個企業網路,如此的網路通常都是由作業系統、應用程式、伺服器、網路監視器、防火牆與入侵偵測系統等等所組成,試著想像要對這些所有的資源都保持更新狀態。由於當代軟體與網路環境的複雜性,系統遭破壞與程式錯誤是很難避免的。在一個含有各種不同系統的大型公司中,如要對整個網路保持即時的程式修補與更新,這是一件相當繁複的事情。
將保持程式更新的工作與專業技能的需求結合,仍然無法避免不利的事件發生,而造成系統被入侵、資料毀損 以及服務被中斷。
如要增加安全性科技與輔助以用來保護系統、網路與資料,請以怪客的思想去思考,並檢查弱點處以估計系統的安全性問題。針對您自己的系統與網路資源進行預防的安全弱點偵測將可找出潛在的問題,使得我們可以在怪客入侵之前便將之解決。
假如您即將對您的家進行一個安全弱點的偵測,您將會檢查每一個門以確定它們是否已經關閉並且鎖上,您也會檢查每一個窗戶,確保它們已完全關閉並且門閂已鎖上。同樣的概念也適用於系統、網路與電子資料上,惡意的使用者是對您資料的小偷與破壞者。請留意他們的工具、思想與動機,然後您便可以很快地因應他們的動作。
安全弱點偵測可以劃分為兩個類型: 從外向裡看(Outside looking in) 與 自內部檢視(inside looking around)。
當您從外在的角度進行弱點偵測時,也等於是試著從外界入侵自己的系統。身處公司的外面會讓您從怪客的角度看事情。您看到的正是怪客所看到的 — 空開的 IP 閘道位址、DMZ 區域中的系統、防火牆上的外部介面等等。DMZ 是「非軍事區」(demilitarized zone,或稱「中立區」)的縮寫,指得是介於內部網路(例如企業的私有區域網路)與外部網路(例如網際網路)之間的電腦或小型子網路。一般來說,DMZ 包含了需要連接網際網路的伺服器,例如網頁伺服器(HTTP)、FTP伺服器、郵件伺服器(SMTP)、以及 DNS 伺服器等等。
當您自內部檢視做安全性評估時,因為您已經身處系統內,身份也是受信任的管理者,因此會比較佔優勢。這也是您與同事登入系統時,會看到的環境:列印伺服器、檔案伺服器、資料庫、以及其他資源。
這兩種安全弱點偵測類型有很大的分別,處身於公司內部將給予您提昇的權限,這比任何的局外人都還高。於今日大部分的公司中,仍然以這種方式來設定安全性以將入侵者阻隔在外。公司內部的保全措施相當差(如部門間的防火牆使用者層級的存取控制以及內部資源的認證程序等等)。基本上,當您進行內部檢視時,您可以存取到更多的資源,因為大部分的系統都存在於公司的內部。一旦您將自己設身於公司外部,您的狀態將馬上成為未受信任的。在外部您所能的存取的系統與資源將會非常有限。
請考量在安全弱點偵測與『滲透測試』 間的相異處,請將安全弱點偵測當作滲透測試的第一步驟,從偵測收集到的資訊將會使用於測試中,然而這個偵測將會檢查安全性漏洞與潛在的弱點,滲透測試實際上將試著破壞所發現的資源。
存取網路的基礎架構是一個動態的程序,資訊與實體上的安全也都是動態的。 執行一個偵測將可顯示出一個 概要以及主動錯誤訊息(false positives) 和被動錯誤訊息(false negatives)。
安全性的管理員只是與他們所使用的工具以及他們保有的知識一樣好,請使用目前所有可用的偵測工具,並於您的系統上執行它們,將可以向您保證會出現一些主動錯誤訊息。不管是因為程式錯誤或使用者的錯誤,結果將會是相同的。這些工具也許會發現實際上不存在的弱點(主動錯誤訊息);這些工具也許不會發現實際上確實存在的弱點(被動錯誤訊息)。
現在我們已經定義了安全弱點偵測與滲透測試的不同處。正式進行滲透測試,並作為新方法前,詳細檢視這些相異處。
嘗試破壞生產資源的弱點,將會對您系統與網路的生產能力與效率造成相反地效果。
以下的清單列出執行安全弱點偵測的一些好處。
養成主動且專注於資訊安全的習慣
在怪客發現之前,找出潛在的缺失
更新系統,讓系統保持在最新狀態
促進成長與輔助職員專業技能的發展
減少財務損失與負面的公眾形象
為了輔助安全弱點偵測工具的選擇,建立一個安全弱點偵測的方法論是很有幫助的。 很不幸的,目前沒有任何 預先定義好的或業界認可的方法論標準,然而一般常識與良好的實習可以當作一個足夠的指引。
什麼是我們的目標?我們是要針對一部伺服器還是要針對整個網路以及網路中的所有資源?我們是位於公司的內部或外部? 這些問題的答案是很重要的,因為它們可以輔助您決定要選擇那些工具 以及該如何使用這些工具的方法。
如需關於建立方法論的資訊,請參考下列的網站:
http://www.isecom.org/projects/osstmm.htm開放原始碼安全性測試方法論手冊(The Open Source Security Testing Methodology Manual) (OSSTMM)
http://www.owasp.org/開放原始碼網頁應用程式安全性專案(The Open Web Application Security Project)
偵測可以從使用一些資訊蒐集工具來開始,當存取整個網路時,請先查詢配置圖以找出執行中的主機,找到後,再個別的檢查每一部主機。專注於這些主機的動作需要另一組工具。在目前這個找出安全弱點 階段的最重要步驟便是了解該使用那些工具。
有許多種不同的工具卻可用來執行相同的工作,這個概念也適用於執行安全弱點的偵測。有特定使用於作業系統、應用程式甚至網路的工具(基於使用的通訊協定),有些工具是免費,有些則不是。有些工具是直覺性的且使用容易,然而某些工具則為艱澀難懂的,而且缺少說明文件,不過它們卻含有其他工具所缺少的許多特色。
要找到適當的工具也許是很困難的,到最後,還是得靠經驗才行。假如可行的話,請設定一個測試工作室來測試您所擁有的所有工具,並記下每一個工具的優缺點,且記得檢視工具的讀我檔案(README)或者是 man page。 除此之外,請在網際網路上搜尋關於某一工具的文章、使用手冊或者甚至郵遞論壇,以取得更多資訊。
以下所探討的工具只是可用工具的一個小型範例。
Nmap 是收錄於 Red Hat Enterprise Linux 中的一個相當受歡迎的工具,可以用來找出一個網路的配置。Nmap 已經使用多年,而且也許是用來蒐集網路資料最常被使用的工具。也收錄了相當棒的 man page 以提供關於它的選項與用法的詳細說明。系統管理員可以在網路中使用 nmap 來找出主機系統以及在這些系統中所開啟的連接埠。
nmap 足以勝任安全弱點偵測的第一步驟,您可以找出網路內部的所有主機,甚至可以使用一個選項,讓nmap來試圖找出一部特定主機所執行的作業系統。 Nmap 是一個很好的基礎,以用來設立使用安全服務與停止未使用服務的方針。
請在 shell 提示符號下輸入 nmap
指令執行nmap,再加上要掃描機器的主機名稱或 IP 位址。
nmap foo.example.com
掃描的結果(將會花上一些時間,取決於該主機的位置)將會類似以下的輸出:
Starting nmap V. 3.50 ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1591 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 25/tcp open smtp 111/tcp open sunrpc 443/tcp open https 515/tcp open printer 950/tcp open oftep-rpc 6000/tcp open X11 Nmap run completed -- 1 IP address (1 host up) scanned in 71.825 seconds
Nmap 為聆聽與等待服務最常用的網路通訊連接埠進行測試,這個方法對想要關閉不需要或非使用中之服務的系統管理員來說是很有幫助的。
如需關於使用 Nmap 的更多資訊,請參考下列網址的官方網站:
Nessus 是一種全服務的安全性掃描程式,Nessus 的插增架構使得使用者可以為他們的系統與網路自訂此程式。如同任何的掃描程式,Nessus 僅仰賴它的簽章資料庫,很幸運的,Nessus 程式經常被更新。它含有完整回報、主機掃描以及即時的弱點搜尋等特色。即使像Nessus 程式功能如此的強大,而且經常地更新,還是可能發生主動錯誤訊息和被動錯誤訊息。
Red Hat Enterprise Linux 中未收錄 Nessus,也不支援此功能。本文件收錄這一部分,供有興趣使用此應用程式的使用者參考。
如需關於使用 Nessus 的更多資訊,請參考下列網址的官方網站:
Nikto 是一個很棒的 CGI 掃描程式,不僅可以檢查 CGI 程式碼的安全弱點,還可以以一種規避的方式來做檢查,以用來規避入侵偵測系統。它含有完整的說明文件,強烈建議您在執行程式之前要仔細的閱讀。如果您的網頁伺服器執行 CGI 程式碼,Nikto 將會是用來檢查這些伺服器安全性的最佳資源。
Red Hat Enterprise Linux 中未收錄 Nikto,也不支援此功能。我們在這本手冊中提供它給對於使用這個受歡迎應用程式有興趣的使用者參考用。
關於 Nikto 的更多資訊,可以於下列網址中找到:
VLAD 是由 Bindview, Inc. 公司的 RAZOR 小組所開發的一個弱點掃描程式,可以使用它來檢查安全弱點。它會檢查 SANS 十個首要的一般安全問題(如 SNMP 問題與檔案共享問題等等)。雖然它不如 Nessus 擁有較完整的特色,VLAD 還是值得您詳加研究。
Red Hat Enterprise Linux 中未收錄 VLAD 而且也不支援它的使用。我們在這本手冊中提供它給對於使用這個受歡迎應用程式有興趣的使用者參考用。
關於 VLAD 的更多資訊,可以在下列 RAZOR 小組網站的網址中找到:
取決於您的目標與資源,有許多種可用的工具。譬如適用於無線網路、Novell 網路、Windows 系統與 Linux 系統等等的工具。另一個執行安全性偵測的重要部份包括了檢視實體的安全措施、人員的監控或者是『語音/PBX』 網路評估。新的觀念(例如 war walking 會掃描您企業實體結構的周界,以找出無線網路的安全弱點,將是您可以進行研究分析的一些逐漸出現的概念,並且將它併入您的評估項目中(假如必要的話)。想像與曝光是規劃與執行安全弱點偵測的唯一限制。
表格 1.1, “常見的安全性漏洞” 詳列出系統入侵者所使用來存取組織內部網路資源最常見的安全性漏洞與攻擊點。在此這些常見安全性漏洞的重點在於解說入侵的方式,以及系統管理員該採取何種策略以因應這樣的攻擊來做到保護他們網路的目的。
安全性漏洞 | 說明 | 附記 | |||
---|---|---|---|---|---|
空的或預設的密碼 | 將系統管理員的密碼設為空白,或使用硬體廠商提供的預設密碼:這些情況最常出現在諸如路由器或防火牆等硬體上。雖然某些 Linux 上的服務使用了預設的管理者密碼;但 Red Hat Enterprise Linux 並不提供這類密碼。 |
|
|||
預設共享的金鑰 | 因為發展或評估測試等用途,安全性服務有時會含有預設的安全金鑰。如果這些金鑰未經修改,就伴隨著軟體在網際網路上公佈,那麼所有擁有這些金鑰的使用者,就可以存取這金鑰所分享出來的資源,以及所有的機密資訊。 |
|
|||
偽冒 IP 位址 | 一部偽裝成您內部網路中某電腦的遠端機器,它會尋找所有伺服器的漏洞,再安裝後門程式或木馬程式,以獲取您網路資源的控制權。 |
|
|||
網路竊聽 | 藉由網路竊聽兩個節點間的連線來收集在兩個使用中節點間所傳輸的資料。 |
|
|||
服務的弱點攻擊 | 攻擊者將會尋找在網際網路上運作之服務的缺陷或弱點處,透過這些地方,攻擊者將可以入侵整個系統並截取它所擁有的任何資料,還可能導致網路上的其他系統遭受入侵。 |
|
|||
應用程式的安全性弱點 | 攻擊者會搜尋一般個人電腦與工作站應用程式(如電子郵件用戶端)的缺陷,然後恣意執行程式碼,植入木馬程式方便將來的入侵,甚至毀損整個系統。假如遭入侵的工作站擁有其他電腦的管理權限,那將會對整個網路造成極大的傷害。 |
|
|||
阻絕服務(DoS)的攻擊 | 一個或一群的攻擊者藉由傳送未經授權的封包到目標機器(可以是伺服器、路由器或工作站)來攻擊一個組織的網路或伺服器的資源,這將導致正當的使用者無法存取這些資源。 |
|
當您發現安全性漏洞時,一定要更新該漏洞所影響的軟體,以降低任何潛在的風險。如果該軟體是受支援 Red Hat Enterprise Linux 版本的套件之一,那麼 Red Hat Inc. 承諾將盡快推出升級套件,以修正問題。通常公佈安全性漏洞時,都會附上修正程式(或是可以修正程式的原始碼)。然後這修正程式會納入 Red Hat Enterprise Linux 套件中,由 Red Hat 的品質保證小組測試,最後再以修補程式更新釋出。然而;如果公告中不含修正程式時,Red Hat 的程式設計師會與該軟體的維護者一起解決問題。只要問題一修正,我們就會進行套件測試,然後推出修補程式。
如果有適用於您系統的任何軟體更新套件推出,我們強烈建議您立即升級該套件, 以降低系統暴露於這潛在風險中的時間。
當您更新系統上的軟體時,最好從可信賴的來源下載更新,一個攻擊者可以很容易地重建一個含有相同版本號碼的套件,來混充為用來修正問題的更新套件,不過其中卻含有另一個不同的安全性問題,並將它放置在網際網路上。假如發生如此情事的話,藉由使用例如針對原本的 RPM 來檢驗檔案的安全性方式並無法偵測到問題的存在,因此最好只從可信賴的來源下載 RPMs,例如從 Red Hat Inc.,並且要檢查該套件的數位簽章以檢驗它的完整性。
Red Hat 提供您兩個管道,以取得有關修正程式的訊息。
Red Hat Network 上已列出並可供下載
Red Hat Errata 網站上已列出但未提供連結
Red Hat Enterprise Linux 產品線剛推出時,您就可以從 Red Hat 網路 上下載更新過的套件。雖然 Red Hat Errata 網站上包含了更新訊息;但網站上並不提供套件 供人下載。
Red Hat Network 允許大部分的更新過程都能自動化,它可找出系統需要那些 RPM 套件,然後將它們從安全的檔案庫下載下來,並且檢驗 RPM 簽章以確定它們沒有被竄改過,然後再更新它們。您可以立即進行套件安裝,或者是排定某一個時間在進行安裝。
對每一部要進行更新的機器,Red Hat Network 都需要一個系統資料檔,系統資料檔中含有關於這部系統的硬體與軟體的資訊,這些資訊將會被機密的保存, 而且不會給予他人。這個資料檔只用於決定那些修補程式更新適用於每一部系統, 而缺少它的話,Red Hat Network 將無法決定該系統是否需要更新。當一個安全性的修補程式 (或者是任何類型的修補程式)釋出後,Red Hat Network 會傳送一封電子郵件,其中含有該 修補程式之描述以及所影響之系統的清單,如要套用更新, 請使用 Red Hat 更新代理程式 或者是透過 http://rhn.redhat.com 網站排定要更新套件的時程。
Red Hat Enterprise Linux 含有 Red Hat 警示更新工具:一個方便好用的面板圖示,當註冊過的 Red Hat Enterprise Linux 系統有更新程式出現時,它會顯示明顯的警示圖示。請參考下列網址以取得關於這個小程式的更多資訊:https://rhn.redhat.com/rhn/help/quickstart.jsp
在安裝任何的安全性修補程式前,請確實閱讀在修補程式報告中的任何特殊指示,並且依次地執行它們。請參考 節 1.3.1.5, “套用變更” 以取得關於套用由修補程式更新所作變更的一般指示。
當安全性修補程式報告釋出後,它們將會被公佈在 Red Hat 的修補程式網站:http://www.redhat.com/security/。從這網頁上,請選擇您系統 所安裝的產品與版本,再選擇security(安全),接下來網頁會為您顯示 Red Hat Enterprise Linux Security Advisories(安全建議)。如果您在系統上安裝的任何元件,顯示於安全建議表中,請按下其中任何一項,以取得更詳細資訊。
在細節的那頁描述安全性的漏洞以及除了更新套件以修正安全性漏洞外,必須執行的任何 特殊指示。
要下載更新套件,請按下連結以登入 Red Hat Network,再按下套件名稱,儲存到硬碟上。強烈建議您建立一個新的目錄,例如 /tmp/updates
,以儲存所有下載的套件。
所有的 Red Hat Enterprise Linux 套件都透過 Red Hat Inc. GPG 金鑰簽證過。GPG為 GNU Privacy Guard(或GnuPG)的縮寫,是免費的軟體套件,用來確保套件中檔案的完整性。舉例來說,套件會以 Red Hat 的私密金鑰加密;而另一方面使用者則用公開金鑰解密並驗證套件的完整性。如果 Red Hat 釋出的公開金鑰在驗證過程中,無法對應到原有的私密金鑰,那表示該套件可能被竄改過,使用者不該信任這套件的安全性。
Red Hat Enterprise Linux 內附的 RPM 公用程式會在安裝套件前,自動驗證 RPM 套件的 GPG 數位簽章。如果您尚未安裝 Red Hat 的 GPG 金鑰,請從一個安全無虞的地方,例如 Red Hat Enterprise Linux 安裝光碟中安裝。
假設光碟機的掛載點是/mnt/cdrom
,請使用下列指令將 金鑰匯入到金鑰環(系統上儲存可信任金鑰的資料庫 )中:
rpm --import /mnt/cdrom/RPM-GPG-KEY
如要顯示用於 RPM 驗證之所有安裝的金鑰清單,請執行下列指令:
rpm -qa gpg-pubkey*
至於 Red Hat 的金鑰,輸出將含有下列的資訊:
gpg-pubkey-db42a60e-37ea5438
如要顯示關於一個特定金鑰的的細節,請使用 rpm -qi
指令後面加上上一個指令的輸出,如以下例子所示:
rpm -qi gpg-pubkey-db42a60e-37ea5438
在安裝 RPM 套件之前,檢查 RPM 檔案的簽名是相當重要的,如此才能確保來自 Red Hat Inc. 所釋出的套件沒有被修改過,如要一次檢驗所有下載的套件,請執行下列的指令:
rpm -K /tmp/updates/*.rpm
不管是哪個套件,當GPG金鑰驗證成功後,程式將回應 gpg OK
。如果回應訊息並非如此, 請確定您使用的是正確的 Red Hat 公開金鑰,並確定該金鑰的來源無虞。您不該安裝任何未通過GPG驗證的套件,因為未通過驗證的套件可能被第三者修改過。
在驗證完 GPG 金鑰,而且下載完所有與修補程式報告相關的所有套件後,請在 shell 提示 符號下以 root 身份安裝這些套件。
您可以執行下列指令,順利安裝大部分的套件(除了核心套件外):
rpm -Uvh /tmp/updates/*.rpm
請使用下列的指令安裝核心套件:
rpm -ivh /tmp/updates/<kernel-package>
請以核心 RPM 的名稱取代前一例子中的 <kernel-package>
。
當您的機器使用新的核心重新開機後,您可以使用下列指令來移除舊的核心:
rpm -e <old-kernel-package>
請以舊的核心 RPM 名稱取代前一例子中的 <old-kernel-package>
。
您不一定要移除舊的核心。預設的開機載入程式GRUB會列出多項核心, 讓您擇一開機。
在安裝任何的安全性修補程式前,請確實閱讀在修補程式報告中的任何特殊指示,並且依次地執行它們。請參考 節 1.3.1.5, “套用變更” 以取得關於套用由修補程式更新所作變更的一般指示。
在從 Red Hat Network 或 Red Hat 的修補程式網站下載並安裝安全性修補程式後,請停止使用舊版本的軟體,而開始使用新版本的軟體。該如何完成這個過程取決於要更新的軟體類型,以下的清單分項列出軟體的一般類別,而且提供在一個套件升級後使用更新版本的指示。
一般來說,重新啟動系統是確保使用最新版本之軟體套件最佳的方式,然而,對系統管理員 來說,這個選項並非總是可以使用。
User-space 應用程式指得是可由系統使用者啟動的任何程式。基本上,這種應用程式會由使用者、程式碼、或是自動化排程的公用程式啟動,而且執行時間都不會太長。
一旦更新一個 user-space 的應用程式後,關閉系統上該應用程式的任何使用中的實例, 然後再次啟動程式以使用更新的版本。
核心是 Red Hat Enterprise Linux 作業系統最主要的軟體元件,它掌管記憶體、微處理器與週邊設備的存取,以及排程所有的系統工作。
由於它的中心角色,在沒有關閉電腦的情況下無法重新啟動核心,因此在系統重新啟動之前, 您將無法使用更新版本的核心。
共享函式庫是程式碼的單位(如 glibc
)是由許多應用程式與服務所 使用的,有利用共享函式庫的應用程式基本上都會在應用程式初始時載入共享程式碼,所以 使用更新函式庫的任何應用程式都必須在關閉後再重新啟動。
要找出正在執行中的哪個應用程式連結到某特定函式庫,請使用lsof
指令,如以下例子所示:
lsof /usr/lib/libwrap.so*
這個指令傳回使用 TCP 包裹程式當作主機存取控制的所有執行中程式的清單,因此當 tcp_wrappers
套件更新後,任何所列出的程式都必須關閉後再 重新啟動。
SysV 服務是在開機過程中啟動的持續性伺服器程式,SysV 服務的例子有 sshd
, vsftpd
與 xinetd
。
因為這些程式在機器開機後便一直停留在記憶體中,因此在套件升級後,每一個更新的 SysV 服務都必須先關閉後再重新啟動。這個動作可以使用 服務設定工具 來完成,或是登入到一個 root 的 shell 提示符號然後執行 /sbin/service
指令來完成,如下所示:
/sbin/service <service-name>
restart
在以上的例子中,請以服務的名稱(如 sshd
)取代 <service-name>
。
xinetd
服務
只當一個現行的連線存在時,有 xinetd
超級服務所控制的服務才會 執行,由 xinetd
所控制的服務例子包括 Telnet, IMAP 與 POP3。
因為在每次接收到新要求時,這些服務的新實例是由 xinetd
所啟動, 在更新後所產生的連線是由更新的軟體所處理,然而如果在 xinetd
所 控制的服務升級時,仍有現行的連線存在,它們則是由舊版本的軟體所伺服。
要刪除特定的,由xinetd
所控制的舊服務項目,請先升級 該服務的套件,然後終止所有執行中的相關程序。請用ps
指令找出系統裡有哪些執行中的程序,再用kill
或 killall
指令終止這些服務的執行續。
舉例來說,假如 imap
套件的安全性修補程式釋放了,請升級該套件, 然後以 root 身份在 shell 提示符號下輸入下列指令:
ps -aux | grep imap
這個指令傳回所有現行的 IMAP 作業階段,可以執行下列的指令來終止個別的作業階段:
kill <PID>
如果這無法結束該作業階段,請執行下列指令:
kill -9 <PID>
在以上的例子中,請用 IMAP 作業階段的程式識別號碼(顯示在 ps
指令中的第二欄),取代 <PID>
。
如要結束所有現行的 IMAP 作業階段,請執行下列指令:
killall imapd