Tomcat: enregistrez l'équivalent de SSL_CLIENT_S_DN

Dans Apache HTTPD, il est possible de créer des journaux de requêtes personnalisés qui incluent la valeur de SSL_CLIENT_S_DN. Étant donné que le site nécessite une authentification mutuelle (certificats clients), cela fournit un bon journal d'audit de qui accède au serveur web. La question est que nous avons également un grand nombre d'hôtes Tomcat et que nous aimerions faire la même chose avec les journaux de requêtes créés par Tomcat. Je ne peux pas trouver un moyen de le faire cependant. J'ai regardé les vannes d'accès chez Tomcat mais je ne trouve pas une variable appropriée.

Je recherche ici les informations de configuration: http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Access_Log_Valve

Il s'agit également d'instances Tomcat avec le connecteur HTTPS configuré avec clientAuth = True. Ils ne sont pas assis derrière un proxy.

Comment puis-je enregistrer le DN du certificat client dans un journal des requêtes?

One Solution collect form web for “Tomcat: enregistrez l'équivalent de SSL_CLIENT_S_DN”

Non testé, mais vous pouvez essayer avec un modèle comme:

%{javax.servlet.request.X509Certificate}r 

Ce qui devrait imprimer le certificat x509 utilisé par l'agent utilisateur pour l'authentification (avec la chaîne). Cela utilise le motif %{xxx}r à partir d' AccessLogValve qui imprime des attributs de la requête et tomcat (ou le servlet api) qui ajoutent cet attribut (voir le code source Tomcat sur github )

Le problème est que la toString() de X509Certificate est assez détaillée. Je suis sûr que le DN est là mais il y a beaucoup plus d'informations.

C'est si vous ne voulez pas toucher le code java. Si vous le souhaitez, vous pouvez également essayer de définir un filtre qui ajoute l'attribut exact que vous voulez et l'imprimez dans le journal.

  • Tomcat7 - Comment activer Tomcat Manager pour un domaine spécifique
  • Traitement des requêtes multiples Tomcat
  • Debian piraté via Tomcat Manager
  • Nginx proxy à Tomcat7 webapp sécurisé avec shiro
  • Comment configurer le connecteur Tomcat pour utiliser les protocoles SSL et TLS?
  • Tomcat 7 lancer une erreur de version de class non prise en charge
  • Serveur Apache: Reverse proxy and websockets via mod_proxy_wstunnel
  • Comment get environ 500 requêtes / sec en HAProxy et Tomcat7 avec Apache
  • Le server Web utilise la vulnérabilité d'authentification de base de text brut
  • La page d'état de mod_jk ne fonctionne pas
  • Exception SSL "Aucun nom de domaine correspondant trouvé" apache devant 2 servers Tomcats
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.