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.

  • Configuration de Tomcat 7 pour utiliser uniquement TLS
  • La gamme request un timeout après 10 Go dans apache ou java servlet
  • Tomcat refuse les connections sur le port 443
  • Nginx proxy à Tomcat7 webapp sécurisé avec shiro
  • Tomcat ne peut pas changer le port 8080 à 80
  • Exception SSL "Aucun nom de domaine correspondant trouvé" apache devant 2 servers Tomcats
  • Apache2 mod_proxy_ajp avec Tomcat conduit à 500 Erreur interne du server
  • Quel est le port de redirection de Tomcat?
  • ne peut pas download de gros files après la mise à niveau de Apache 2.4
  • Différence entre appeler le script d'arrêt Tomcat et le process de destruction
  • Comment configurer Tomcat7 server.xml Environnement pour prendre comme valeur le path du réseau?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.