2010-12-15 3 views
3

J'ai une très grande application Web dont j'aimerais publier les spécifications sur les autorisations qui doivent être accordées pour que «Tomcat Security Manager» fonctionne correctement avec le Web application.Tomcat security Manager - Détermination des autorisations requises pour une application Web

Existe-t-il un moyen automatique d'exécuter l'application Web et de générer une liste de toutes les autorisations nécessaires?

J'ai essayé de le faire manuellement en activant Tomcat Security Manager et en retraçant les exceptions de sécurité et en ajoutant les autorisations nécessaires. Le problème avec ceci, cependant, est qu'une seule exception de sécurité est montrée à la fois et après chaque exception j'ai besoin de mettre à jour la catalina.policy, redémarrer Tomcat et passer à l'exception suivante.

J'ai littéralement passé 2 heures à le faire sans aucune indication d'être proche de l'achèvement. Il doit y avoir une meilleure façon.

Tomcat Security Manager

Répondre

0

J'ai une grande application Web et qui exécute le Security Manager Tomcat et la seule fois où il y avait des problèmes d'autorisation est quand déjà déployé Tomcat, arrêté, avait l'interrupteur de sécurité, puis redémarré.

grant codeBase "file:${catalina.home}/path/to/my/application-" { 
    permission java.net.SocketPermission "IPAddress:Port", "connect"; 
    permission java.security.AllPermission; 

};

est exactement comme je l'a résolu. Vous pouvez remplacer /path/to/my/application par quelque chose comme ceci /webapps/mySuperAwesomeApplication

+0

L'objectif final n'est pas simplement d'exécuter l'application mais de documenter les autorisations qui doivent être activées pour l'exécuter. Malheureusement, activer toutes les autorisations comme vous l'avez fait avec votre entrée: permission java.security.AllPermission; Ça ne m'aide pas beaucoup. Oui, cela permet aux choses de fonctionner, mais cela revient à dire "Pourquoi ne pas désactiver Tomcat Security Manager". Les environnements où ils veulent que Tomcat Security Manager soit activé sont également les mêmes environnements où donner "toutes les permissions", n'est pas quelque chose qu'ils autorisent. – Doug

+0

En fait, il empêche les gens de déblayer l'information, cela ressemble à une exigence STIG imho. – Woot4Moo

+0

Ce que vous avez suggéré, c'est comme si Tomcat Security Manager était désactivé pour votre application Web. Si une personne doit avoir l'obligation de l'activer, il est probable qu'elle ne souhaite pas que toutes les autorisations soient autorisées pour l'application Web. Par exemple, s'il existait un bogue de traversée de répertoire dans l'application Web, l'ajout de "tous les permissons" ne contiendrait pas ce problème. Si, d'un autre côté, vous ne pouvez accorder l'accès qu'aux chemins de fichiers nécessaires, il contiendra ce problème. C'est l'objectif de Tomcat Security Manager. – Doug

0

Qu'en est-il en utilisant -Djava.security.debug = échec?

Questions connexes