WildFly-与尝试解决安全漏洞有关的应用程序部署问题

问题描述 投票:0回答:1

简介

因此,目前我正在与AKS合作,我的团队目前正在使用TwistLock,我们注意到我们使用的基本docker映像存在一个严重漏洞。我只是想知道是否有人知道一种干净的方法可以使它按预期方式运行?

我的原始解决方案

因此,为了通过该严重漏洞,我已经在Dockerfile中实现了以下代码段,我主要是将其作为测试进行,我几乎没有希望它能真正起作用。令人惊讶的是,它的工作超出了我的想象,但事不宜迟,这里是代码:

## Remove dependencies for twistlock.
RUN rm -r /opt/jboss/wildfly/modules/system/layers/base/com/fasterxml/jackson/core/jackson-databind/
RUN rm -r /opt/jboss/wildfly/modules/system/layers/base/org/apache/commons/beanutils/
RUN rm -r /opt/jboss/wildfly/modules/system/layers/base/org/picketlink/
RUN rm -r /opt/jboss/wildfly/bin/client

我决定手动尝试删除与WildFly本身相关的依赖项,但是毫不奇怪,这导致应用程序无法成功部署。

附加

即使我像这样在pom文件中指定了依赖项,它仍然不起作用:

<!-- ... Other parts of the pom ... -->

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.10</version><!--$NO-MVN-MAN-VER$-->
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.10</version><!--$NO-MVN-MAN-VER$-->
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.10</version><!--$NO-MVN-MAN-VER$-->
    </dependency>
</dependencies>

<!-- ... Other parts of the pom ... -->

我也尝试过使用以下代码包含jboss-deployment-structure.xml文件:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
    <deployment>
        <exclusions>
            <module name="com.fasterxml.jackson.core.jackson-core" />
            <module name="com.fasterxml.jackson.core.jackson-databind" />
            <module name="com.fasterxml.jackson.core.jackson-annotations" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

输出

不足为奇的是,我在日志中收到以下错误,但我想知道是否有可能完全解决此问题:

Screenshot of the log file, without the name of the application that I'm working on.

结论

很显然,我远远无法找到合适的解决方案,并且不幸的是,JBoss / WildFly配置/管理远非我的专业领域之一。

有人有任何可能的解决方案吗?

java docker java-ee jboss wildfly
1个回答
0
投票

解决方案

[非常感谢,在尝试解决这个问题之后,我相信我已经找到了最合适的解决方案,但幸运的是,我似乎处在正确的位置,但是我只需要添加一些额外的内容。这就像更新我的jboss-deployment-structure.xml文件以利用以下标记一样简单:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <exclusions>
            <module name="com.fasterxml.jackson.core.jackson-core" />
            <module name="com.fasterxml.jackson.core.jackson-databind" />
            <module name="com.fasterxml.jackson.core.jackson-annotations" />

            <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson-provider" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

我已经能够成功部署正在处理的应用程序,现在仅存在一个漏洞,它超出了应用程序层的范围。

© www.soinside.com 2019 - 2024. All rights reserved.