Contexte : application non sécurisée
Téléchargez l’application non sécurisée ‘monappli’
Créez un livrable monappli.war ( jar cvf monappli.war *)
Déployez le war dans Wildfly
Partie 1 : limitation accès application à un rôle
Sécurisez l’application ‘monappli’ dans le contexte suivant :
Les utilisateurs ayant un rôle Role ‘decideur’ sont les seuls à pouvoir accéder à l’appli entière
Les login/pwd des utilisateurs sont dans un fichier texte
METHODOLOGIE en 3 étapes
ETAPE 1) Ajouter dans standalone.xml un domaine de sécurité (copier/coller le domaine de securite ‘other’)
Localisez le domaine de sécurité nommé ‘other’ dans standalone.xml (ici wildfly 10)
copiez-collez cette config afin de créer un domaine de sécurité, à ronommer (ici « afpa) »
ça y est, votre domaine de sécurité est créé.
ETAPE 2) Configuration du fichier web.xml (Réponse questions QUOI, QUI, COMMENT, OU )
ETAPE 3) Configuration du fichier jboss-web.xml (associer le bon gestionnaire de sécurité à l’application)
ETAPE 1 : domaine de sécurité ‘afpa’
1) Ajouter dans standalone.xml un domaine de sécurité
ETAPE 2 : Configuration du fichier web.xml
— > A Quoi sert ce fichier ?
Expliquez la configuration suivante :
Ajout fichiers login / erreur
ETAPE 3 : Configuration du fichier jboss-web.xml
— > A Quoi sert ce fichier ?
Expliquez la configuration suivante :
INFO : si le login/pwd echoue, modifiez la configuration du subsystem ‘logging’ ainsi :
Partie 2 : accès aux URLs en fonction de rôles applicatifs
Sur l’application monappli, on décide que certaines URLs ne doivent être accessible que par des décideurs.
Proposez de sécuriser 2 urls suivantes :
1) /decideurs n’est accessible que pour les utilisateurs ayant profil ‘decideur‘
2) /administrateurs n’est accessible que pour les utilisateurs ayant profil ‘admin‘
Partie 3 : Sécuriser avec Realm ‘DB’
Mdp non sécurité
Faîtes évoluer la sécurité en permettant des login/pwd dans une pase de données.
Chiffrage MDP
Ajouter dans la section ‘login-module’ du fichier standalaone.xml 2 informations clés :
1) le type d’algorythme
‘module-option name= »hashAlgorithm » value= »MD5″/’
2) l’encodage (afin d’obtenir une chaîne)
‘module-option name= »hashEncoding » value= »base64″/’
3) Expliquez les lignes suivantes
cd $JBOSS_HOME/modules/system/layers/base/org/picketbox/main
$ java -classpath picketbox-4.9.3.Final.jar org.jboss.security.Base64Encoder votremotdepasse MD5
Mettre le résultat de cette dernière commande dans la base de de données en remplacement de ‘votremotdepasse’ pour le user associé.
Service d’audit
1) Activer le service d’audit sécurité :
/core-service=management/access=audit/logger=audit-log/:write-attribute(name=enabled, value=true)
2) identifier la configuration par défaut concernant le nom du fichier de log d’audit :
/core-service=management/access=audit/file-handler=file/:read-resource