Contenu connexe
Similaire à Sécurisation des applications ASP.NET (20)
Plus de Mohammed Amine Mostefai (10)
Sécurisation des applications ASP.NET
- 1. Développement web avec
Visual Studio 2012 et ASP.NET
Module 9 – Sécurisation des Applications ASP.NET
Copyright © 2013, Mostefai Mohammed Amine
- 2. Module 9 – Sécurisation des Applications ASP.NET
Développement web avec ASP.NET et Visual Studio 2012
Objectifs du module
Permettre aux développeurs sécuriser les applications web ASP.NET
Copyright © 2013, Mostefai Mohammed Amine
2
- 3. Module 9 – Sécurisation des Applications ASP.NET
Développement web avec ASP.NET et Visual Studio 2012
Plan du module
Mécanismes de sécurisation
Mise en place des mécanismes de sécurisation
Copyright © 2013, Mostefai Mohammed Amine
3
- 5. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Introduction
La sécurité est un des plus grands challenges de l’internet
La sécurisation consiste à protéger des zones d’applications d’accès non
autorisé
La sécurisation répond à deux questions essentielles : « qui est qui ? » et
« qui peut faire quoi ? »
ASP.NET fournir deux mécanismes, l’authentification et l’autorisation qui
permettent de répondre à ces deux questions
Copyright © 2013, Mostefai Mohammed Amine
5
- 6. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
L’Authentification
L’authentification consiste à identifier les utilisateurs par des informations
personnelles telles que le nom d’utilisateur ou l’empreinte digitale
L’authentification consiste à vérifier que les informations d’identification
fournies par les utilisateurs sont valides
Copyright © 2013, Mostefai Mohammed Amine
6
- 7. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
L’Autorisation
L’autorisation est un processus qui survient après l’authentification
L’autorisation consiste à vérifier si un utilisateur peut accéder à une
ressource et si oui, avec quel niveau d’accès (contrôle total, lecture
uniquement,…)
Copyright © 2013, Mostefai Mohammed Amine
7
- 8. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Mécanismes d’Authentification
Copyright © 2013, Mostefai Mohammed Amine
8
Authentification
Forms
Authentification
Windows
- 9. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Authentification « Forms »
Dans « Forms », toute demande d’authentification renvoie vers une forme
web d’authentification intégrée à l’application
Pour sauvegarder l’état de l’authentification, une cookie est crée et
rattachée à la réponse d’authentification
Des composants comme « Login » permettent d’implémenter
l’authentification « Forms »
Copyright © 2013, Mostefai Mohammed Amine
9
- 10. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Authentification « Windows »
Dans ce mode, l’authentification est déléguée au système d’exploitation
« Windows »
Dans ce mode, c’est IIS qui vérifie l’identité de l’utilisateur en demandant
aux services d’authentification de Windows si l’utilisateur est valide
Le développeur n’est pas obligé de développer la forme de connexion
Ce mode s’adapte mieux aux applications intranet qu’aux applications
internet
Copyright © 2013, Mostefai Mohammed Amine
10
- 11. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Processus d’authentification dans Forms
Copyright © 2013, Mostefai Mohammed Amine
11
L'ut ilisat eur demande une
ressource sécurisée
[Pr ésence de cookie
d'aut hent ificat ion et
ut ilisat eur valide]
Redirect ion vers la forme
de login
Vérificat ion ut ilisat eur /
mpd ent rés
[MDP et ut ilisat eur
valides]
Créat ion du cookie
d'aut hent ificat ion
Accès à la ressource
accept é
Accès à la ressource
rejet é
NON
OUI
OUI
- 12. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Mécanismes d’autorisation
Pour simplifier la gestion, les utilisateurs sont groupés en rôles
Chaque rôle peut être constitué de plusieurs utilisateurs et un utilisateur
peut appartenir à plusieurs rôles
Pour simplifier la gestion, les autorisations sont faites par rôles
Dans la configuration, les balises « allow » et « deny » permettent de
définir les autorisations des rôles
Copyright © 2013, Mostefai Mohammed Amine
12
- 14. Section 2 : Mise en place des mécanismes de sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Introduction
La mise en place nécessite de définir des zones facilement identifiables
dans l’application (en utilisant des répertoires par exemples)
Utiliser la configuration pour définir l’autorisation et l’authentification
Utilisation des contrôles de login pour faciliter l’intégration des
mécanismes d’authentification
Copyright © 2013, Mostefai Mohammed Amine
14
- 15. Section 2 : Mise en place des mécanismes de sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Contrôles de Login
Copyright © 2013, Mostefai Mohammed Amine
15
Contrôle Description
Login Permet aux utilisateurs de s’authentifier (entrer nom d’utilisateur +
mdp) avec tous les variantes qui vont avec (par exemple lien
d’inscription, mot de passe perdu,…)
LoginName Le nom de l’utilisateur actuellement connecté
LoginStatus Affiche un lien d’authentification en mode déconnecté et un lien
de déconnexion en mode connecté
LoginView En utilisant les modèles (templates), affiche des informations
variées selon le statut de connexion (connecté, déconnecté)
CreateUserWizard Assistant de création d’un utilisateur
- 16. Section 2 : Mise en place des mécanismes de sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Exemple de configuration d’authentification
<authentication mode="Forms" >
<forms loginUrl="~/Login.aspx">
<credentials passwordFormat="Clear">
<user name="mohammedamine" password="mostefai"/>
</credentials>
</forms>
</authentication>
Copyright © 2013, Mostefai Mohammed Amine
16
- 17. Section 2 : Mise en place des mécanismes de sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Fournisseurs
Pour pouvoir gérer l’authentification, des fournisseurs de services doivent être utilisés
Un fournisseur de service d’authentification est une classe héritant de
« MembershipProvider »
Un fournisseur de gestion des rôles est une classe héritant de «RoleProvider »
ASP.NET fournit deux classes « SqlMembershipProvider » et « SqlRoleProvider »
simplifiant la gestion des utilisateurs et des rôles
L’utilisation des fournisseurs SQL nécessite la création de la base « ASPNETDB » par
l’outil aspnet_regsql
L’utilisateur peut créer ses propres fournisseurs en créant des classes héritant de
« MembershipProvider » et « RoleProvider »
Copyright © 2013, Mostefai Mohammed Amine
17
- 18. Section 1 : Mécanismes de Sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Tutoriel 9.1 : Mise en place de l’authentification et des
autorisations
• Lancer Tutoriel 9.1, étape 1 - 5
Copyright © 2013, Mostefai Mohammed Amine
18
- 19. Section 2 : Mise en place des mécanismes de sécurisation
Développement web avec ASP.NET et Visual Studio 2012
Module9-SécurisationdesApplicationsASP.NET
Accès par code
Pour accéder à l’utilisateur authentifié en cours, utiliser la propriété
« User »
Pour connaître si l’utilisateur appartient à un rôle, utiliser « IsInRole »
Copyright © 2013, Mostefai Mohammed Amine
19