web-dev-qa-db-fra.com

Obtenir une erreur 403 avec Tomcat 7.0.100 et Apache Server 2.4 lorsque vous utilisez "Secret" avec AJP

En raison du bogue CVE-2020-1938, nous souhaitons utiliser la dernière Tomcat 7.0.100. Voir aussi CVE-2020-1938 Nous utilisons également un serveur Apache dans la version 2.4, qui se connecte au Tomcat via AJP.

La dernière version Tomcat nécessite divers nouveaux paramètres pour une communication sécurisée que nous avons faite. Malheureusement, nous obtenons toujours l'erreur HTTP 403 et ne savez pas pourquoi.

Dans les travailleurs Apache.Properties Nous avons les paramètres suivants:

worker.list=okkommwm57f
ps=\
worker.okkommwm57f.type=ajp13
worker.okkommwm57f.Host=192.168.181.240
worker.okkommwm57f.secret=123456
worker.okkommwm57f.port=8309
worker.okkommwm57f.socket_keepalive=1
worker.okkommwm57f.connect_timeout=10000  
worker.okkommwm57f.prepost_timeout=10000
worker.okkommwm57f.socket_timeout=10
worker.okkommwm57f.connection_pool_timeout=600

La configuration du connecteur AJP ressemble à ceci:

<Connector port="8309" protocol="AJP/1.3" redirectPort="8443" secretRequired="true" secret="123456" address="192.168.181.240" />

Lorsque je teste le site, je continue à obtenir l'erreur HTTP 403. J'ai essayé différentes versions, mais en vain. Ont déjà défini "SececeRequired" à "Faux". Ne fonctionne pas aussi.

Peut-être que quelqu'un a une idée et peut m'aider à résoudre le problème. Merci.

2
egmontr

J'ai eu le même problème.

Je devais ajouter allowedRequestAttributesPattern=".*" au connecteur

Donc, dans votre cas

<Connector port="8309" protocol="AJP/1.3" redirectPort="8443" secretRequired="true" secret="123456" address="192.168.181.240" allowedRequestAttributesPattern=".*" />

Ceci est un nouvel attribut qui a été ajouté avec Tomcat 7.0.100.

Ajoutez un nouvel attribut, AjouteRequestatTtribuesPattern au connecteur AJP/1.3. Les demandes avec des attributs non reconnus seront bloqués avec un 403. (Markt)

Bien que je n'ai pas compris quel attribut nous envoyons. Mais si le réglage fonctionne pour vous avec une base générique, vous envoyez probablement des attributs dans le cadre de votre demande AJP qui ne sont pas reconnues.

3
RobT

J'ai eu le même problème. L'astuce était de définir un mot de passe. Ainsi, les suivants ont résolu le problème pour nous:

serveur.xml:

<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" secret="verysecure" secretRequired="true"/>

travailleur.properties:

worker.Tomcat-06.secret=verysecure
1
Thomas