Использование выражения-фильтра в undertow не работает - PullRequest
0 голосов
/ 10 марта 2020

Я использую Wildfly 10 и пытаюсь добавить фильтр выражений в конфигурации undertow для проверки секретного значения из mod_jk. Однако он всегда возвращает код ошибки 403.

Ниже приведена моя конфигурация в автономном режиме. xml

<subsystem xmlns="urn:jboss:domain:undertow:7.0" ...>
...
<server name="default-server">
    <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
    <ajp-listener name="ajp" socket-binding="ajp"/>
    <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
    <host name="default-host" alias="localhost">
        ...
        <!-- add the following with your AJP port (8009) -->
        <filter-ref name="secret-checker" predicate="equals(%p, 8009)"/>
    </host>
</server>
...
<filters>
    <!-- add the following with your credential (YOUR_AJP_SECRET) -->
    <expression-filter name="secret-checker" expression="not equals(%{r,secret}, 'verysecure') -> response-code(403)"/>
</filters>

Ниже приведена конфигурация в working.properties для mod_jk.

worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=127.0.0.1
worker.ajp13.type=ajp13
worker.ajp13.secret=verysecure

Я пытаюсь устранить уязвимость ghostcat, подробно описанную по этой ссылке. https://access.redhat.com/solutions/4851251

Любая помощь приветствуется. Заранее спасибо.

1 Ответ

0 голосов
/ 03 апреля 2020

место " и равно (% {PROTOCOL}, 'AJP')" после порта.

предикат = "равно (% p, 8009) и равно (% {PROTOCOL }, 'AJP') "но я получаю 404, а не ожидаемое 403: (

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