目前腊凶,Oracle Weblogic保持每個(gè)季度一個(gè)補(bǔ)丁包更新的速度,對于大規(guī)模使用weblogic中間件的系統(tǒng)來說拴念,更新補(bǔ)丁包钧萍、重啟應(yīng)用服務(wù)器是一個(gè)非常繁瑣重復(fù)的過程。(建議使用ansible類似工具批量打補(bǔ)丁)同時(shí)對于CVE-2018-2628等反滲透測試漏洞來說政鼠,psu20180417補(bǔ)丁要求升級JDK到最新的版本风瘦,更是要了維護(hù)人員的老命。(需要應(yīng)用測試啊!!!)
本文以CVE-2018-2628為例公般,詳細(xì)敘述官方解決方案以及臨時(shí)解決方案(很多問題一勞永逸)万搔。
Oracle官方已經(jīng)在4月17日的關(guān)鍵補(bǔ)丁更新(CPU)中修復(fù)了該漏洞,所以標(biāo)準(zhǔn)的修復(fù)方式是安裝最新的PSU:
? WebLogic Server 12.2.1.3 WLS PSU 12.2.1.3.180417 Patch 27342434
? WebLogic Server 12.2.1.2 WLS PSU 12.2.1.2.180417 Patch 27338939
? WebLogic Server 12.1.3.0 WLS PSU 12.1.3.0.180417 Patch 27419391
? WebLogic Server 10.3.6.0 WLS PSU 10.3.6.0.180417 Patch 27395085
但在更新上述補(bǔ)丁后官帘,仍然后部分安全防護(hù)公司指出瞬雹,安裝最新的PSU后漏洞仍然存在,無法完全抵御反序列化漏洞的攻擊刽虹。針對上述情況酗捌, Oracle安全部門最近發(fā)布的文檔進(jìn)行了說明:April 2018 Critical Patch Update: Additional Information about the Oracle WebLogic Server Vulnerability CVE-2018-2628 (Doc ID 2395745.1)。
Oracle has determined that the April 2018 Critical Patch Update provides effective mitigation against vulnerability CVE-2018-2628 when using a combination of supported versions of Oracle products.
These supported versions currently are:
? Supported versions of WebLogic Server are: 10.3.6.0, 12.1.3.0, 12.2.1.2 and 12.2.1.3
? Supported versions of Java SE are: JDK6u191, JDK7u181 and JDK8u172. o
Note: A valid Support license is needed to download either JDK6u191 or JDK7u181
簡而意之,就是除了升級PSU180417補(bǔ)丁外胖缤,還需要升級JDK版本尚镰,包括了 JDK6u191, JDK7u181 and JDK8u172。
常規(guī)解決步驟:
1哪廓、下載PSU補(bǔ)丁pxxxxxxxx_1036_Generic.zip?狗唉,然后解壓到對應(yīng)的bsu下的cachedir目錄
2、檢查當(dāng)前補(bǔ)丁版本
cd $WLS_HOME/utils/bsu
./bsu.sh -view -prod_dir=$WLS_HOME/wlserver_10.3 -status=applied -verbose
3撩独、通過補(bǔ)丁號卸載原補(bǔ)丁
./bsu.sh -remove -prod_dir=$WLS_HOME/wlserver_10.3 -patchlist=XXXX?-verbose
4敞曹、安裝新的補(bǔ)丁程序
./bsu.sh -install -patch_download_dir=$WLS_HOME/utils/bsu/cachedir -prod_dir= $WLS_HOME/wlserver_10.3 -patchlist=XXXX?-verbose
5、檢查
./bsu.sh -view -prod_dir=$WLS_HOME/wlserver_10.3 -status=applied -verbose
注:在使用bsu安裝時(shí)综膀,建議將bsu.sh中的-Xmx增加到2048-2536M澳迫,避免出現(xiàn)OOM錯(cuò)誤。
對反滲透測試漏洞等高危風(fēng)險(xiǎn)而言剧劝,均是通過使用weblogic的t3端口進(jìn)行入侵橄登,因此對于只是用http等協(xié)議的應(yīng)用,可以通過臨時(shí)解決方案對外屏蔽t3協(xié)議讥此,達(dá)到一勞永逸的效果拢锹。
官方說明:
根據(jù)CVE-2018-2628相關(guān)描述,Java反序列化漏洞 在weblogic上是通過T3協(xié)議進(jìn)行攻擊的萄喳,T3協(xié)議是weblogic內(nèi)部的通信協(xié)議卒稳,weblogic運(yùn)行時(shí)必須使用此協(xié)議。在對T3協(xié)議實(shí)現(xiàn)的過程中用到了java序列化技術(shù)他巨。所以只要科學(xué)合理的管理好T3協(xié)議的使用就可以防護(hù)住針對weblogic 產(chǎn)品的java反序列化漏洞攻擊充坑。
針對暫時(shí)無法安裝最新PSU或者版本過低,沒有對應(yīng)PSU修復(fù)該漏洞的情況染突,可以考慮通過配置weblogic連接篩選器捻爷,屏蔽部分(主要是外部)T3訪問的方式臨時(shí)解決問題。
1份企、連接篩選器
配置weblogic連接篩選器時(shí)也榄,可以選擇自定義的連接篩選器,也可以使用weblogic產(chǎn)品提供的默認(rèn)連接篩選器司志。一般我們都是使用weblogic默認(rèn)提供的連接篩選器:'weblogic.security.net.ConnectionFilterImpl'
2甜紫、語法
連接篩選器語法規(guī)則
連接篩選器規(guī)則語法如下所示:
? 每行都只能寫一條規(guī)則。
? 規(guī)則中的標(biāo)記用空格分隔開骂远。
? 井號 (#) 是注釋字符棵介。將忽略行中井號后面的所有內(nèi)容。
? 將忽略規(guī)則前后的空格吧史。
? 將跳過只包含空格或注釋的行。
篩選器規(guī)則格式的不同取決于是使用篩選器文件輸入篩選器規(guī)則,還是在管理控制臺中輸入篩選器規(guī)則贸营。
? 如果在管理控制臺中輸入篩選器規(guī)則吨述,則請按照下列格式輸入:
targetAddress localAddress localPort action protocols
?targetAddress指定要篩選的一個(gè)或多個(gè)系統(tǒng)。
? localAddress 定義 WebLogic Server 實(shí)例的主機(jī)地址钞脂。(如果指定為星號 (*)揣云,則返回的匹配結(jié)果將是所有本地 IP 地址。)
? localPort 定義 WebLogic Server 實(shí)例正在監(jiān)聽的端口冰啃。(如果指定為星號 (*)邓夕,則匹配返回的結(jié)果將是服務(wù)器上所有可用的端口)。
? action 指定要執(zhí)行的操作阎毅。該值必須為 allow或 deny焚刚。
? protocols 是要匹配的協(xié)議名列表∩鹊鳎可能指定下列協(xié)議:http矿咕、https、t3狼钮、t3s碳柱、ldap、ldaps熬芜、iiop莲镣、iiops 和 com。(盡管仍然支持giop涎拉、giops 和 dcom 協(xié)議名稱瑞侮,但是不贊成在 9.0 及更高版本中使用;您應(yīng)該使用等同的 iiop曼库、iiops 和 com 協(xié)議名稱区岗。)
3、配置步驟
以該集群3個(gè)server為例毁枯,一個(gè)管理慈缔,兩個(gè)被管:
然后在Weblogic Console 中選擇Domain->安全->篩選器 配置如下:
? 連接篩選器: weblogic.security.net.ConnectionFilterImpl
網(wǎng)絡(luò)過濾規(guī)則如下:
192.168.8.103 192.168.8.104 7001 allow t3
192.168.8.104 192.168.8.104 7001 allow t3
* 192.168.8.104 7001 deny t3
192.168.8.103 192.168.8.104 8001 allow t3
192.168.8.104 192.168.8.104 8001 allow t3
* 192.168.8.104 8001 deny t3
192.168.8.103 192.168.8.103 8002 allow t3
192.168.8.104 192.168.8.103 8002 allow t3
* 192.168.8.103 8002 deny t3
之后重啟域內(nèi)所有server。內(nèi)部之間可以通過t3協(xié)議通信种玛,外部ip無法訪問藐鹤。