美文网首页
weblogic漏洞整改示范

weblogic漏洞整改示范

作者: zyxchaos | 来源:发表于2018-08-10 10:30 被阅读257次

    目前,Oracle Weblogic保持每个季度一个补丁包更新的速度,对于大规模使用weblogic中间件的系统来说,更新补丁包、重启应用服务器是一个非常繁琐重复的过程。(建议使用ansible类似工具批量打补丁)同时对于CVE-2018-2628等反渗透测试漏洞来说,psu20180417补丁要求升级JDK到最新的版本,更是要了维护人员的老命。(需要应用测试啊!!!)

    本文以CVE-2018-2628为例,详细叙述官方解决方案以及临时解决方案(很多问题一劳永逸)。

    Oracle官方已经在4月17日的关键补丁更新(CPU)中修复了该漏洞,所以标准的修复方式是安装最新的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

    但在更新上述补丁后,仍然后部分安全防护公司指出,安装最新的PSU后漏洞仍然存在,无法完全抵御反序列化漏洞的攻击。针对上述情况, Oracle安全部门最近发布的文档进行了说明: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补丁外,还需要升级JDK版本,包括了 JDK6u191, JDK7u181 and JDK8u172。

    常规解决步骤:

    1、下载PSU补丁pxxxxxxxx_1036_Generic.zip ,然后解压到对应的bsu下的cachedir目录

    2、检查当前补丁版本

    cd $WLS_HOME/utils/bsu

    ./bsu.sh -view -prod_dir=$WLS_HOME/wlserver_10.3 -status=applied -verbose

    3、通过补丁号卸载原补丁

    ./bsu.sh -remove -prod_dir=$WLS_HOME/wlserver_10.3 -patchlist=XXXX -verbose

    4、安装新的补丁程序

    ./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安装时,建议将bsu.sh中的-Xmx增加到2048-2536M,避免出现OOM错误。

    对反渗透测试漏洞等高危风险而言,均是通过使用weblogic的t3端口进行入侵,因此对于只是用http等协议的应用,可以通过临时解决方案对外屏蔽t3协议,达到一劳永逸的效果。

    官方说明:

    根据CVE-2018-2628相关描述,Java反序列化漏洞 在weblogic上是通过T3协议进行攻击的,T3协议是weblogic内部的通信协议,weblogic运行时必须使用此协议。在对T3协议实现的过程中用到了java序列化技术。所以只要科学合理的管理好T3协议的使用就可以防护住针对weblogic 产品的java反序列化漏洞攻击。

    针对暂时无法安装最新PSU或者版本过低,没有对应PSU修复该漏洞的情况,可以考虑通过配置weblogic连接筛选器,屏蔽部分(主要是外部)T3访问的方式临时解决问题。

    1、连接筛选器

    配置weblogic连接筛选器时,可以选择自定义的连接筛选器,也可以使用weblogic产品提供的默认连接筛选器。一般我们都是使用weblogic默认提供的连接筛选器:'weblogic.security.net.ConnectionFilterImpl'

    2、语法

    连接筛选器语法规则

    连接筛选器规则语法如下所示:

     每行都只能写一条规则。

     规则中的标记用空格分隔开。

     井号 (#) 是注释字符。将忽略行中井号后面的所有内容。

     将忽略规则前后的空格。

     将跳过只包含空格或注释的行。

    筛选器规则格式的不同取决于是使用筛选器文件输入筛选器规则,还是在管理控制台中输入筛选器规则。

     如果在管理控制台中输入筛选器规则,则请按照下列格式输入:

    targetAddress localAddress localPort action protocols

    targetAddress指定要筛选的一个或多个系统。

     localAddress 定义 WebLogic Server 实例的主机地址。(如果指定为星号 (*),则返回的匹配结果将是所有本地 IP 地址。)

     localPort 定义 WebLogic Server 实例正在监听的端口。(如果指定为星号 (*),则匹配返回的结果将是服务器上所有可用的端口)。

     action 指定要执行的操作。该值必须为 allow或 deny。

     protocols 是要匹配的协议名列表。可能指定下列协议:http、https、t3、t3s、ldap、ldaps、iiop、iiops 和 com。(尽管仍然支持giop、giops 和 dcom 协议名称,但是不赞成在 9.0 及更高版本中使用;您应该使用等同的 iiop、iiops 和 com 协议名称。)

    3、配置步骤

    以该集群3个server为例,一个管理,两个被管:

    然后在Weblogic Console 中选择Domain->安全->筛选器 配置如下:

     连接筛选器: weblogic.security.net.ConnectionFilterImpl

    网络过滤规则如下:

    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

    之后重启域内所有server。内部之间可以通过t3协议通信,外部ip无法访问。

    相关文章

      网友评论

          本文标题:weblogic漏洞整改示范

          本文链接:https://www.haomeiwen.com/subject/nuhkbftx.html