不專業的“漏洞掃描軟件”,是否嚇到你?
很多人經常喜歡下載一些漏洞掃描軟件,這掃掃,那掃掃,自然也掃出很多“高危漏洞”。看到這些高危漏洞,你是不是有點小緊張呢?那麽看完這篇文章,你會了解這Oracle patch的原理,也就豁然了。
針對常見的漏洞掃描軟件,Oracle官方明確表達,不授權和認可任何第三方軟件的漏洞掃描結果。
而事實上,漏洞掃描軟件,也真的沒有做到高大上的功能,它們並沒有技術能力發現Oracle軟件自身的漏洞。很多漏洞都是在一些黑客攻擊之後,Oracle原廠自行修復,並提供相應的補丁來防止相關風險的發生。很多掃描軟件,不但沒有做到高大上,在Oracle漏洞方面,做的卻非常業余。
只不過通過檢查Oracle的軟件補丁發布情況,和DB是否應有最新的Patch,而報出漏洞的信息,來嚇唬客戶,體現自身低微的價值。
這些第三方軟件所做的工作,對應Oracle來說,就是很簡單的一個檢查步驟(一條命令,兩個文檔列表),就能解決是否存在漏洞的問題。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一個命令: $ORACLE_HOME/OPatch/opatch lsinventory Patch列表 Quick Reference to Patch Numbers for Database/GI PSU, SPU(CPU), Bundle Patches and Patchsets (Doc ID 1454618.1) 和CVE漏洞信息列表 http://www.oracle.com/technetwork/topics/security/public-vuln-to-advisory-mapping-093627.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. 既然掃描軟件掃描到漏洞,好吧,我們來看看他們的建議是什麽呢?自然是打補丁了,但是打什麽補丁呢?CPU,CPU,CPU啊,重要的事情說三遍。
看看下面兩個漏洞的建議,需要應用兩個不同的CPU來解決這個問題(兩個CPU是不能同時打的,沖突)。
每當我遇到這個建議的時候,都想說:“大哥,出來混,專業一點好不好?做掃描軟件,超貴的License費用,你就給我看這個?”
2. 下圖就是掃描軟件提供的報告
3. 我們來了解一下Oracle的Patch結構,大家就清楚了。為什麽第三方掃描軟件的不專業。
One of Patch:針對一個bug,解決的方法
Merge Patch:針對多個bug,需要多個patch修復。但是patch的應用,原本就是oracle software的文件替換,在多個patch修改同一個文件的不同位置時,就會出現沖突的情況。為了解決這個沖突,oracle提供了Merge patch,即將兩個小patch需要修改的代碼,融合到一個替換文件中。
Bundle patch:補 丁集,修復多個Bug。在Windows平臺上的Oracle沒有小補丁,只有這種Bundle Patch。 這種補丁集會周期性的發布(至少每季一次)。這種補丁集是累積型的(cumulative),也就是每個Bundle patch 會包含之前的所有的Bundle Patch。 比如Windows Bundle Patch 16,它會包含之前所有15個Bundle Patch,所以我們總是推薦安裝最新的Bundle Patch。Oracle的集群軟件和數據庫軟件的Window Bundle Patch是同一個,比如Windows Bundle Patch 16(補丁號16167942,既可以打在集群上,也可以打在數據庫上) 。
要了解Windows Bundle Patch的補丁號,可以參考MOS文檔:
Note 161549.1 Oracle Database, Networking and Grid Agent Patches for Microsoft Platforms
Critical Patch Update (CPU):每季度發布一次,用來修復安全方面的一些補丁,是累積型的。目前已經更名為Security Patch Update (SPU)。
點擊下面的鏈接查看各個CPU所修復的具體問題:
http://www.oracle.com/technetwork/topics/security/alerts-086861.html
Patch Set Update (PSU):每 季度發布一次,修復比較嚴重的一些問題,包含每季的CPU,是累積型的。雖然在描述PSU的時候會用到數據庫版本第5位,比如Database PSU 11.2.0.3.5,但實際上打完PSU後並不會真正改變數據庫的版本,從v$version中看到的版本還是4位的(11.2.0.3.0),第5位 仍然是0。註意,Windows上沒有CPU和PSU,Oracle的集群軟件和數據庫軟件使用不同的PSU。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上面引用Oracle官方blog https://blogs.oracle.com/database4cn/oracle-v4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4. 這裏,我們比較關心的是CPU和PSU的關系,到底是什麽?
下面這段官方描述,解釋他們的關系:
Critical Patch Updates (CPU) address security vulnerabilities, Patch Set Updates (PSU) address proactive, critical fixes and security vulnerabilities.
The Patch Set Updates and Critical Patch Updates that are released each quarter contain the same security fixes. However, they use different patching mechanisms, and Patch Set Updates include both security and recommended bug fixes. Consider the following guidelines when you are deciding to apply Patch Set Updates instead of Critical Patch Updates.
Critical Patch Updates are applied only on the base release version, for example 10.2.0.4.0.
Patch Set Updates can be applied on the base release version or on any earlier Patch Set Update. For example, 11.1.0.7.2 can be applied on 11.1.0.7.1 and 11.1.0.7.0.
Once a Patch Set Update has been applied, the recommended way to get future security content is to apply subsequent Patch Set Updates. Reverting from an applied Patch Set Update back to the Critical Patch Update, while technically possible, requires significant time and effort, and is not advised.
For more information on Patch Set Updates, see Note 854428.1, Patch Set Updates for Oracle Products.
總結:就是PSU包含CPU, PSU可以累加往上應用,但是CPU必須先回滾,才能繼續應用。
Oracle Support很多年,似乎客戶都是使用PSU來修復問題,極少有客戶使用CPU的,畢竟PSU的延續性,似乎更好。
5. 概念都了解之後,我們再回頭看掃描軟件掃描出的漏洞,我們該如何解決。
漏洞查詢網址如下
http://www.oracle.com/technetwork/topics/security/public-vuln-to-advisory-mapping-093627.html
(如果這個連接失效,使用下面步驟進入到CVE的信息查詢頁面
OPN.oracle.com -> Topic Centers (www.oracle.com/technetwork/topics/index.html) -> Security -> View the most recent Critical Patch Update Advisory -> Map of Public Vulnerability to Advisory/Alert
6. 例如,下面提示的漏洞,根據漏洞發現時間,結合文檔,根據修復日期,查找相對應的PSU/CPU復Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets (Doc ID 1454618.1)
可以查詢到11.2.0.3.13(發布的時間是 JAN2015)版本之後的PSU,就已經修復了下面這些問題了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Oracle Database Server JPublisher組件代碼執行漏洞(CVE-2014-6546) -------------CVE-2014-6546 Oracle Critical Patch Update October 2014 Oracle Database Server JPublisher組件代碼執行漏洞(CVE-2014-6545) -------------CVE-2014-6545 Oracle Critical Patch Update October 2014 Oracle Database Server Java VM組件代碼執行漏洞(CVE-2014-6467) -------------CVE-2014-6467 Oracle Critical Patch Update October 2014 Oracle Database Server SQLJ組件代碼執行漏洞(CVE-2014-6455) -------------CVE-2014-6455 Oracle Critical Patch Update October 2014 Oracle Database 遠程安全漏洞(CVE-2014-2406) -------------CVE-2014-2406 Oracle Critical Patch Update April 2014 Oracle Database 遠程安全漏洞(CVE-2014-2408) -------------CVE-2014-2408 Oracle Critical Patch Update April 2014 Oracle Database Server遠程安全漏洞(CVE-2014-4236) -------------CVE-2014-4236 Oracle Critical Patch Update July 2014 Oracle Database Server Jpublisher組件漏洞(CVE-2014-6477) -------------CVE-2014-6477 Oracle Critical Patch Update October 2014 Oracle Database Server Spatial組件本地安全漏洞(CVE-2014-0378) -------------CVE-2014-0378 Oracle Critical Patch Update January 2014 Oracle Database Server Core RDBMS組件遠程安全漏洞(CVE-2013-5858) -------------CVE-2013-5858 Oracle Critical Patch Update January 2014 Oracle Database Server Core RDBMS組件遠程信息泄露安全漏洞(CVE-2014-0377) -----CVE-2014-0377 Oracle Critical Patch Update January 2014 Oracle Database Server遠程安全漏洞(CVE-2014-4237) -------------CVE-2014-4237 Oracle Critical Patch Update July 2014 Oracle Database Server遠程安全漏洞(CVE-2014-4245) -------------CVE-2014-4245 Oracle Critical Patch Update July 2014 Oracle Database Server Java VM組件代碼執行漏洞(CVE-2014-6560) ------------- CVE-2014-6560 Oracle Critical Patch Update October 2014 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7. 文檔數據庫patch版本列表
Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets (Doc ID 1454618.1)
看完本文,是不是發現那些騙錢的“掃描軟件”真的很Low?
一條命令,兩個文檔。完美解決“掃描軟件”解決的問題,並且,在PSU和CPU(SPU)這件事上,“掃描軟件”的工程師們,明顯不了解Oracle的遊戲規則。
真心奉勸:“大哥,出來混,專業一點,好不好?不要天天沒事刷存在感,研究研究內在的原理和規則,你們會做的更好。"
針對Patch,是不是要打上。雖然Oracle官方推薦是最新版本的數據庫,應用最新發布的PSU。
但是對於生產系統,還是建議慎重。如果沒有遇到嚴重的安全隱患,和bug問題,不建議去打patch。
PSU的升級,還好。release版本的升級,就必須要經過嚴格的性能測試的,不同版本的CBO等優化器的理念都是有差異的。不測試的升級,很可能直接導致升級後的系統水土不服,慎重癱瘓。(我也是真正遇到過一個工廠的核心生產系統,11.2.0.2升級到11.2.0.4,系統完全無法使用,不得不回滾的情況)。
所以Patch是好東西,但是也要按需“服用”。
補充,Oracle大版本軟件,是可以在ww.oracle.com上下載的(當然,商業使用是需要付License費的)。
可以下載的版本是11.2.0.1.0,12.0.1.2.0,12.2.0.1.0
只有買了Oracle support服務(每年付費),有metalink賬號,才能登陸metalink.oracle.com下載任何需要的Patch的。沒有賬號,就無法下載。
在補充,剛剛原廠專家Time‘Square美女更正,12.2版本之後,PSU改名叫RU了,看來我真的OUT了。
本文出自 “小小狗窩” 博客,請務必保留此出處http://hsbxxl.blog.51cto.com/181620/1958595
不專業的“漏洞掃描軟件”,是否嚇到你?