WildFly - Проблемы с развертыванием приложений, связанные с попытками устранения уязвимостей - PullRequest
0 голосов
/ 07 октября 2019

Введение

Итак, в настоящий момент я работаю с AKS, моя команда в настоящее время использует TwistLock, и мы заметили критическую уязвимость в используемом образе базового докера. Мне было просто интересно, знает ли кто-нибудь о том, как мы можем заставить его вести себя так, как ожидается?

Мое примитивное решение

Итак, чтобы обойти критическую уязвимость, я реализовалследующий фрагмент в нашем 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далеко не одна из моих областей специализации.

Есть ли у кого-нибудь возможные решения?

1 Ответ

0 голосов
/ 08 октября 2019

Решение

К счастью, после множества попыток возиться с этой проблемой, я считаю, что я нашел наиболее подходящее решение, к счастью, похоже, что я был на правильных линиях, однако мне нужно былопросто добавьте немного больше. Это было так же просто, как обновить мой 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>

Мне удалось развернуть приложение, над которым я работаю, теперь у меня есть только еще однауязвимость, которая выходит за рамки прикладного уровня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...