Apache Shiro & Java Security pour les débutants

Je ne connais presque rien du modèle de sécurité de Java, y compris la configuration XML, la définition des stratégies, les composants de la structure de sécurité, les outils (tels que keystore, etc.) et tout ce qui se trouve entre les deux.

Bien que je comprenne qu’il deviendra éventuellement essentiel pour moi de retrousser mes manches et d’apprendre la sécurité de Java en profondeur, je me demandais si utiliser quelque chose comme Apache Shiro aiderait un peu à faciliter la transition. En tant que tel, j’ai quelques soucis avec cela.

Est-ce que Shiro est essentiellement un “wrapper clé en main” pour implémenter la sécurité dans les applications Java (et plus particulièrement les applications Web). Ce qui veut dire, peut-on configurer Shiro avec son projet et régler essentiellement la même configuration, les mêmes parameters de politique, etc., qu’il faudrait faire “manuellement” (au coup par coup) sans lui? Sinon, quelles sont les lacunes de Shiro (quelles sont les grandes choses que Shiro ne peut pas faire pour moi)? Existe-t-il des vulnérabilités importantes auxquelles Shiro ne répond pas du tout?

Dans le même ordre d’idées, j’ai entendu de bonnes choses sur le cadre ESAPI de l’OWASP. Aybody a l’expérience avec les deux? Est-ce que ESAPI et Shiro peuvent être configurés pour fonctionner ensemble ou est-ce simplement un accord de type «l’un ou l’autre» binary?

Merci d’avance!

La reponse courte est oui. Shiro et ESAPI peuvent tous deux fonctionner ensemble, même s’il existe de nombreuses fonctionnalités redondantes entre les deux API. Shiro vous offre tout ce dont vous avez besoin pour couvrir le modèle de sécurité Java standard. L’ESAPI va au-delà des attentes en fournissant des mécanismes de sécurité standardisés à l’échelle mondiale.

Shiro devrait être utilisé par des novices comme moi qui ne comprennent pas vraiment la sécurité Java et / ou la sécurité des applications / serveurs générales. Cela prend soin de beaucoup de choses pour les ignorants de la sécurité. ESAPI doit être utilisé par les professionnels de la sécurité de programmation qui comprennent déjà la sécurité Java et veulent tirer parti de tout ce qui est fourni avec Java EE, tout en faisant des efforts supplémentaires et en améliorant la sécurité.