給Solaris打補(bǔ)丁 保護(hù)系統(tǒng)安全
一、solaris補(bǔ)丁介紹
1.1補(bǔ)丁的種類及文件名
solaris的補(bǔ)丁分為兩類,一類是Point補(bǔ)丁,另一類是Cluster補(bǔ)丁。
a)Point補(bǔ)丁程序:
這類補(bǔ)丁僅僅是針對(duì)某一問題或缺陷而發(fā)布的單個(gè)補(bǔ)丁程序,solaris7、solaris8、solairs9的Patch一般為*.zip文件solaris2.6一般為.tar.Z或.tar.gz文件,它有如下編號(hào)方式:
patchbasecode-revisionnum(如110668-04)
前面部分是這個(gè)補(bǔ)丁的主版本號(hào)(basecode),后面部分是此補(bǔ)丁的修訂號(hào)。兩者合起來構(gòu)成此補(bǔ)丁的Patch-ID。如上例編號(hào)為110668-04的補(bǔ)丁,110668為主版本號(hào),04是修訂號(hào)。此補(bǔ)丁是在110668-03的基礎(chǔ)上做了新的修復(fù)。有一點(diǎn)需要指出,補(bǔ)丁版本號(hào)為110668的一系列補(bǔ)丁都是針對(duì)/usr/sbin/in.telnetd這一文件的不同問題的修復(fù),110668-04發(fā)布以后,sun將不再提供110668-04以前的補(bǔ)丁,如110668-03等。
b)Cluster補(bǔ)丁程序:
cluster補(bǔ)丁僅僅是一系列point補(bǔ)丁的重新包裝,并帶有自動(dòng)安裝程序。Cluster補(bǔ)丁的命名方式如下:
version_Recommended
如:9_x86_Recommended.zip是針對(duì)Solaris9forX86的補(bǔ)丁集。
8_Recommended.zip是針對(duì)Solaris8forSparc的補(bǔ)丁集。
每個(gè)Cluster補(bǔ)丁都對(duì)應(yīng)一個(gè)CLUSTER_README文件,詳細(xì)描述了該Cluster包含的補(bǔ)丁,以及安裝的方法或注意事項(xiàng)。
1.2關(guān)于補(bǔ)丁的其他信息
sun公司對(duì)每一版本的solaris都維護(hù)了一份PatchReports,該P(yáng)atchReports包含了對(duì)應(yīng)版本solaris所有補(bǔ)丁的描述。PatchReports每月更新兩次,可以從如下地址得到:
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access&nav=patchpage
另外sun還維護(hù)了一份SunAlertPatchReport,該文檔按產(chǎn)品分類,并且隨時(shí)更新。從這里可以找到所有sun產(chǎn)品的更新文檔及相應(yīng)補(bǔ)丁,當(dāng)然也包括的solaris的SunAlert文檔、PatchID、簡(jiǎn)要說明等。SunAlertPatchReport從這里可以得到:
http://sunsolve.sun.com/pub-cgi/show.pl?target=sunalert_patches
相應(yīng)的solaris部分可從如下鏈接得到:
http://sunsolve.sun.com/pub-cgi/show.pl?target=sunalert_patches#Solaris
表格按時(shí)間排序,從Category表格中可以知道此問題屬于安全缺陷修復(fù)還是應(yīng)用優(yōu)化。
二、補(bǔ)丁的下載
Cluster補(bǔ)丁可以從如下網(wǎng)址下載:
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access&nav=patchpage
同樣可以使用FTP協(xié)議下載,在sunsolve.sun.com的/pacthroot/clusters可以找到所有的Cluster補(bǔ)丁。下載后為一個(gè)*_Recommended.zip文件。該壓縮文件包含一份CLUSTER_README文件,建議安裝前閱讀此文件。
Point補(bǔ)丁由于其分散性不易下載與管理,可以使用SunAlertPatchReport或PatchReports來查看補(bǔ)丁情況,這兩份文檔相應(yīng)的PatchID及對(duì)應(yīng)下載地址。另外sun網(wǎng)站提供的PatchFinder功能也可以使我們?cè)谥繮atchID的情況下很方便的找到該補(bǔ)丁,連接如下:
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access&nav=patchpage
同樣,利用ftp協(xié)議從sunsolve.sun.com的/patchroot/all_unsigned目錄下也可以下載指定Patch。
Sun公司建議所有下載的補(bǔ)丁都放到/var/tmp目錄下(這也是通常的做法),如此將不會(huì)導(dǎo)致補(bǔ)丁安裝時(shí)出現(xiàn)的任何permission/ownership的問題。
三、solaris補(bǔ)丁的安裝和刪除
3.1/var/sadm/patch目錄
在/var/sadm/patch目錄下,記錄了已安裝的補(bǔ)丁。
如:#ls/var/sadm/patch
107558-05107594-04107630-01107663-01107683-01
107696-01107817-01107582-01107612-06107640-03
建議不要對(duì)此目錄做任何修改,此目錄被破壞后將不能安裝或刪除任何補(bǔ)丁。
3.2管理solaris補(bǔ)丁
Solaris提供了兩個(gè)命令來管理補(bǔ)丁,patchadd和patchrm。這兩個(gè)命令是在Solaris2.6版本開始提供的,在2.6以前的版本中,每個(gè)補(bǔ)丁包中都提供了一個(gè)installpatch程序和一個(gè)backoutpatch程序來完成補(bǔ)丁的安裝和卸載。
patchadd用來安裝解壓縮后的補(bǔ)丁程序。patchadd通過調(diào)用pkgadd命令來安裝補(bǔ)丁。安裝補(bǔ)丁前,我們需要將補(bǔ)丁解壓到/var/tmp下安裝。安裝補(bǔ)丁如下命令:
#cd/var/tmp
#patchadd110668-04
Checkinginstalledpatches...
Verifyingsufficientfilesystemcapacity(dryrunmethod)
Installingpatchpackages...
如果當(dāng)前目錄下有110668-04目錄,patchadd將安裝此補(bǔ)丁。補(bǔ)丁安裝后,系統(tǒng)會(huì)備份原文件,以便在以后刪除此補(bǔ)丁。如果使用patchadd-d選項(xiàng)安裝補(bǔ)丁,系統(tǒng)將不備份源文件,這意味著你將不能在以后刪除此補(bǔ)丁。使用patchadd-p選項(xiàng)可以檢驗(yàn)已安裝的patch,例如:
#patchadd-p
Patch:106793-01Obsoletes:Requires:Incompatibles:
Packages:SUNWhea
...
同樣,solaris提供了另一命令來查看已安裝的patch:
#showrev-p
Patch:106793-01Obsoletes:Requires:Incompatibles:
Packages:SUNWhea
...
patchrm如果因?yàn)槟撤N情況你想卸載某一補(bǔ)丁,你可以使用patchrm命令來完成。此命令通過調(diào)用pkgadd來恢復(fù)安裝補(bǔ)丁前的文件備份來卸載補(bǔ)丁。使用Patch-ID作為patchrm的參數(shù)就可以卸載補(bǔ)?。?
#patchrm106793-01
Checkinginstalledpackagesandpatches...
Backingoutpatch106793-01...
Patch106793-01hasbeenbackedout.
這里需要說明一下,在如下三種情況下,補(bǔ)丁將不能卸載:
1).在安裝patch時(shí),用patchadd-d命令指定patchadd不備份被更新的文件。這樣安裝的patch無法刪除。
2).另一patch需要此patch,即存在dependence(關(guān)聯(lián)性),如一定要?jiǎng)h掉該patch,先刪掉另一patch。
3).要?jiǎng)h的patch已被另一更新的patch廢棄了。如安裝110668-04補(bǔ)丁后,如果以前安裝過110668-03,則110668-03將被110668-04廢棄,110668-03將無法刪除。
3.3Cluster補(bǔ)丁的安裝
Cluster補(bǔ)丁為單個(gè)補(bǔ)丁的集合,下載解壓后,可以通過執(zhí)行./install_Cluster腳本來完成補(bǔ)丁集的安裝。執(zhí)行./install_Cluster后,腳本將檢查當(dāng)前目錄下的patch_order文件,此文件標(biāo)明了Patch的安裝順序,./install_Cluster將按照patch_order文件給出的順序來安裝patch。如果沒有patch_order文件,則假定當(dāng)前目錄下所有以1開始的目錄名均為需要安裝的補(bǔ)丁目錄,并且假定這些目錄的名稱次序作為安裝Patch的次序。因此你可以通過修改patch_order文件來決定安裝或不安裝某Patch。
3.4安裝Patch時(shí)的注意事項(xiàng)
由于在安裝Patch時(shí)需要更新文件,故此Solaris官方推薦在安裝補(bǔ)丁時(shí)進(jìn)入單用戶模式安裝。在某些重要服務(wù)器上可能帶來不便,因此你完全可以在多用戶模式下通過停止相關(guān)服務(wù)進(jìn)程來完成Patch的安裝。
Sun推出的Patch并不是每個(gè)都一定要安裝的,因此需要在安裝patch前仔細(xì)閱讀README來確定是否需要安裝此補(bǔ)丁。另外,某些補(bǔ)丁具有依賴性,需要先安裝另一補(bǔ)丁才能完成此補(bǔ)丁的安裝,這些都會(huì)在README中標(biāo)明??傊?,安裝補(bǔ)丁之前強(qiáng)烈建議你閱讀相應(yīng)的README(每個(gè)Patch都提供單獨(dú)的README文件)。
3.5安裝PATCH過程中出現(xiàn)的問題
在安裝補(bǔ)丁的過程中,經(jīng)常出現(xiàn)一些錯(cuò)誤提示。例如:
Installationof123456-11failed.Returncode2
通過Returncode我們可以知道錯(cuò)誤類型。需要注意的是,Returncode2說明此補(bǔ)丁已被安裝,Returncode8說明此補(bǔ)丁要修復(fù)的軟件沒有被系統(tǒng)安裝。因此,2和8是完全可以被忽略的錯(cuò)誤提示。下表說明了各個(gè)Returncode對(duì)應(yīng)的錯(cuò)誤類型。
ExitcodeMeaning
0Noerror
1Usageerror
2Attempttoapplyapatchthat'salreadybeenapplied
3EffectiveUIDisnotroot
4Attempttosaveoriginalfilesfailed
5pkgaddfailed
6Patchisobsoleted
7Invalidpackagedirectory
8Attemptingtopatchapackagethatisnotinstalled
9Cannotaccess/usr/sbin/pkgadd(clientproblem)
10Packagevalidationerrors
11Erroraddingpatchtoroottemplate
12Patchscriptterminatedduetosignal
13Symboliclinkincludedinpatch
14NOTUSED
15Theprepatchscripthadareturncodeotherthan0.17Mismatchofthe-doptionbetweenapreviouspatchinstallandthecurrentone.
18Notenoughspaceinthefilesystemsthataretargetsofthepatch.
19$SOFTINFO/INST_RELEASEfilenotfound
20Adirectinstancepatchwasrequiredbutnotfound
21Therequiredpatcheshavenotbeeninstalledonthemanager
22Aprogressiveinstancepatchwasrequiredbutnotfound<tr>;
23Arestrictedpatchisalreadyappliedtothepackage
24Anincompatiblepatchisapplied
25Arequiredpatchisnotapplied
26Theuserspecifiedbackoutdatacan'tbefound
27Therelativedirectorysuppliedcan'tbefound
28Apkginfofileiscorruptormissing
29BadpatchIDformat
30Dryrunfailure(s)
31Pathgivenfor-Coptionisinvalid
32MustberunningSolaris2.6orgreater
33Badformattedpatchfileorpatchfilenotfound
34Theappropriatekerneljumbopatchneedstobeinstalled
35Laterrevisionalreadyinstalled
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。