WildFly - 与尝试解决安全漏洞相关的应用程序部署问题
WildFly - Application deployment issues related to trying to resolve security vulnerabilities
简介
因此,目前我正在使用 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>
输出
我在日志中收到以下错误并不奇怪,但我想知道是否有可能解决这个问题:
结论
显然,我远非合适的解决方案不起作用,不幸的是 JBoss/WildFly configuration/administration 远不是我的专业领域之一。
有没有人有任何可能的解决方案?
解决方案
值得庆幸的是,经过一系列尝试来解决这个问题,我相信我已经找到了最合适的解决方案,值得庆幸的是,我似乎走在了正确的路线上,但是我只需要添加一点额外的东西.就像更新我的 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>
我已经成功地部署了我正在处理的应用程序,我现在只有一个超出应用程序层范围的漏洞。
简介
因此,目前我正在使用 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>
输出
我在日志中收到以下错误并不奇怪,但我想知道是否有可能解决这个问题:
结论
显然,我远非合适的解决方案不起作用,不幸的是 JBoss/WildFly configuration/administration 远不是我的专业领域之一。
有没有人有任何可能的解决方案?
解决方案
值得庆幸的是,经过一系列尝试来解决这个问题,我相信我已经找到了最合适的解决方案,值得庆幸的是,我似乎走在了正确的路线上,但是我只需要添加一点额外的东西.就像更新我的 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>
我已经成功地部署了我正在处理的应用程序,我现在只有一个超出应用程序层范围的漏洞。