Comment sécuriser les applications Web Java?

 

Il est communément admis que la plupart des applications Web Java développées ne sont pas sécurisées. Selon l'un des rapports publiés par le WASC, près de 84% des applications développées sont susceptibles d'attaques XSS. Si nous approfondissons ce problème, nous découvrirons qu’un certain nombre de facteurs expliquent les vulnérabilités des applications Web Java aux menaces potentielles.

L'un des principaux facteurs qui attribuent des applications Java non sécurisées est la méconnaissance des risques. Un bon nombre d'ingénieurs impliqués dans la programmation logicielle Java ignorent le fonctionnement du protocole HTTP et sont donc incapables d'identifier les principales causes de vulnérabilités.

Parmi les autres raisons principales expliquant la vulnérabilité des applications Java, on peut citer:

  • Attaque XSS
  • Tentative infructueuse de restriction de l'accès aux URL
  • Stockage chrytographique non blindé
  • Authentification perturbée et gestion de session
  • Traitement d'erreur erroné
  • Fuite d'informations
  • Communications non sécurisées
  • Référence d'objet direct non sécurisée
  • Exécution de fichier incorrecte
  • Encore plus!

Maintenant que nous connaissons les raisons pour lesquelles les applications Web Java ne sont pas sécurisées, il est temps que nous trouvions les moyens de les sécuriser.

La première consiste à positionner les fichiers dans le répertoire approprié. Les applications Web Java englobent un large éventail d'éléments, notamment les fichiers JSP, les fichiers image, les classes Servlet, etc. Il est donc nécessaire que ces fichiers soient correctement stockés dans les bons répertoires.

Une autre étape dans la tentative de sécurisation des applications Web Java consiste à spécifier des contraintes de sécurité, décrivant clairement l'ensemble des privilèges à attribuer à des ressources uniques via leur mappage d'URL.

Le prochain moyen de sécuriser ces applications consiste à spécifier une contrainte d’autorisation, ce qui imposerait un besoin d’authentification et définira clairement les rôles permettant d’accéder aux différents modèles d’URL spécifiés par les contraintes de sécurité.

Une autre méthode consiste à spécifier une connexion sécurisée et des contraintes de sécurité distinctes pour différentes ressources au sein des applications Java développées. En outre, la technique suivante consiste à spécifier des mécanismes d'authentification, décrivant le réel dans lequel les utilisateurs sont authentifiés et quelques autres attributs supplémentaires.

Leave a Reply