2009-07-20 9 views
0

Je travaille sur l'application Web j2ee et nous avons l'exigence suivante: il devrait être impossible d'installer un correctif d'application avec des classes arbitraires. À l'heure actuelle, les correctifs sont effectués en ajoutant manuellement des fichiers jar avec des correctifs ou même des classes individuelles au chemin de classe du serveur ou à l'application EAR. Nous ne pouvons pas non plus utiliser des bocaux signés, car il est impossible d'écraser les classes ultérieures. Pouvez-vous suggérer une solution pour ces exigences? Clarefication: l'exigence provient de la norme PCI PA-DSS.
Le procidure de correction actuel fonctionne comme suit: par exemple, un de nos jars est chargé depuis le classpath système. Pendant la procédure de patch standard, un jar supplémentaire est ajouté au classpath avant celui d'origine. En conséquence, toutes les classes existant dans les deux jars sont chargées à partir du nouveau, car les classes sont recherchées dans les pots en conséquence. Selon l'exigence, l'application doit valider que toutes les classes chargées proviennent d'une source digne de confiance, mais il est théoriquement possible au pirate d'écraser la classe d'application et d'ouvrir la porte dérobée.Vérification de l'intégrité du correctif

+0

Vous devez préciser ce que vous entendez par "installer le correctif" et "classes arbitraires". La façon dont cela semble maintenant - empêcher quelqu'un qui a un accès complet à votre application déployée de remplacer (ou d'ajouter) certaines classes par d'autres versions - est pratiquement impossible. – ChssPly76

+0

D'accord. Un exemple ou deux pour clarifier votre intention serait utile. –

Répondre

0

Apparemment, vous ne faites pas confiance à vos administrateurs pour mettre à jour les fichiers dans un fichier .war/.ear éclaté. Eh bien, en fonction de votre serveur d'applications, vous pouvez désactiver le déploiement éclaté, définir des autorisations sur les dossiers «travail» ou «tmp» que le serveur d'applications utilise pour exploser votre application sur le disque. Ces permissions doivent être 'write' pour 'user' exécutant le serveur d'applications et 'read' pour l'utilisateur admin.

Questions connexes