Sécurisation d une application ASP.NET



Documents pareils
Gestion de l authentification et des autorisations

La double authentification dans SharePoint 2007

Interagir avec le SharePoint. Version 1.0

Mise en œuvre de la sécurité.net avec MS Visual Studio.NET Plan

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Création d'un site web avec identification NT

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Par KENFACK Patrick MIF30 19 Mai 2009

Chapitre 2 Rôles et fonctionnalités

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur


Authentification unique Eurécia

WorkflowGen 6.0 Guide de mise à jour

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Single Sign-On open source avec CAS (Central Authentication Service)

Configuration du FTP Isolé Active Directory

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Authentifications à W4 Engine en.net (SSO)

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Installation du point d'accès Wi-Fi au réseau

Procédure d'installation complète de Click&Decide sur un serveur

DMZ... as Architecture des Systèmes d Information

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Manuel d installation

REAUMUR-ACO-PRES. Wifi : Point et perspectives

Chapitre 1 Windows Server

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Guide Tenrox R8.7 de configuration de Microsoft Reporting Services

Sécurisation des architectures traditionnelles et des SOA

Installation d'un serveur RADIUS

Service de certificat

Joomla! Création et administration d'un site web - Version numérique

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON

AccessMaster PortalXpert

1. Présentation de WPA et 802.1X

Introduction à Sign&go Guide d architecture

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Gestionnaire des services Internet (IIS)

Authentification et contrôle d'accès dans les applications web

Les différentes méthodes pour se connecter

Configuration de WebDev déploiement Version 7

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Installation de Premium-RH

La suite logicielle Lin ID. Paris Capitale du Libre 25 septembre 2008

Restriction sur matériels d impression

Comptes et groupes de services : VSA/MSA/gMSA

WebSSO, synchronisation et contrôle des accès via LDAP

Installation de SCCM 2012 (v2)

Module 7 : Configuration du serveur WEB Apache

Introduction. aux architectures web. de Single Sign-On

Installation de GFI FAXmaker

SAML et services hors web

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

S28 - La mise en œuvre de SSO (Single Sign On) avec EIM (Enterprise Identity Mapping)

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Contenu. Cocher : Network Policy and Access Services > Next > Next. Cocher : Network Policy Server > Next > Install

La mémorisation des mots de passe dans les navigateurs web modernes

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

IIS, c est quoi? Installation de IIS Gestion de base de IIS Méthodes d authentification. Edy Joachim,

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

Contrôle d accès à Internet

Devenez un véritable développeur web en 3 mois!

Déployer une application Web avec WebMatrix et Ma Plateforme Web

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Sébastien Sougnez 24/12/ / s.sougnez@areaprog.com 2 ans et demi d expérience

Exemple de configuration ZyWALL USG

WDpStats Procédure d installation

Manuel d'utilisation. Module " SphinxConnect "

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Serveur d application WebDev

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Serveur FTP. 20 décembre. Windows Server 2008R2

1 - EXCHANGE Installation

Tivoli Identity Manager

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

SIEMENS LX / Cloud OpenIP

Oauth : un protocole d'autorisation qui authentifie?

Vulnérabilités et sécurisation des applications Web

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

Le modèle de sécurité windows

Attaques applicatives

Implémentation libre de Liberty Alliance. Frédéric Péters

Solutions Microsoft Identity and Access

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

A. À propos des annuaires

Connexion à SQL server

ADManager Plus Simplifier la gestion de votre Active Directory

Gestion des identités

SQL Server Installation Center et SQL Server Management Studio

Configuration Matérielle et Logicielle AGORA V2

Accès réseau Banque-Carrefour par l Internet Version /06/2005

Standard. Manuel d installation

Transcription:

Sécurisation d une application ASP.NET 1- Authentification L authentification est un processus essentiel à la sécurisation d une application internet. Ce processus permet d authentifier l entité à l origine d une requête et de l identifier auprès d une autorité. L autorisation détermine quelles sont les ressources accessibles à l entité étant à l origine de la requête. IIS et ASP.NET mettent à la disposition des développeurs plusieurs systèmes d'authentification. Nous ferons abstraction dans cet article de la configuration de l authentification sous IIS (Authentification anonyme, Authentification de base, Authentification Digest, Authentification Windows). Pour des informations détaillées n hésitez pas à me contacter: arthur[at]supinfo.com. Principe de fonctionnement utilisant l interaction IIS / Framework.NET : Client IIS Accès refusé Adresse IP et domaine autorisés Utilisateur connu (authentifié) Lancement de l application ASP.NET ASP.NET Utilisateur valide connu et autorisé avec prise en compte de l emprunt d identité s il est activé ACCES AUTORISE

ASP.NET permet l authentification grâce à des fournisseurs d authentification qui contiennent le code nécessaire pour authentifier et identifier un utilisateur. ASP.NET supporte quatre types de fournisseurs d authentification: forms, windows (par défaut), passport, none (authentification personnalisée). Les différents types d authentification ASP.NET A- Authentification par Windows Ce principe d authentification permet de traiter l utilisateur fourni par IIS comme un utilisateur authentifié dans une application ASP.NET. Cette méthode d'authentification affecte certes la valeur de la propriété User d'un WindowsIdentity fourni par IIS, mais il ne modifie en aucun cas l'identité Windows fournie par le Système. Or, les vérifications des autorisations d'accès se basent sur cette identité Windows. Il est donc important de calquer l'identité Windows ASP.NET sur l'identité Windows IIS en activant l'emprunt d'identité (identity avec l attribut impersonate actif). <authentication mode = "Windows" /> <identity impersonate = "true" /> B- Authentification par Forms Client ASP.NET Formulaire de login Utilisateur connu Refus Envoi d un cookie stocké au niveau du navigateur du client Utilisateur autorisé Affichage de la page Redirection

L authentification par Forms est la méthode la plus couramment utilisée sur internet. Cette méthode d authentification permet de gérer l identification d un utilisateur par un formulaire web. L application ASP.NET stock les informations utilisateur dans un cookie. Ce type d authentification permet de stocker ses propres informations client. Ce type d authentification peut être mis en place très rapidement en utilisant le framework membership intégré au Framework.NET <authentication mode = "Forms"> <forms name=".aspxformsauth" loginurl="login.aspx" /> </authentication> C- Authentification par Passport Client Redirection Utilisateur authentifié? Non Redirection Oui Serveur Central PASSPORT.NET Affichage des données Cette méthode d authentification est un service qui permet aux utilisateurs de créer un compte unique sécurisé permettant l accès à tous les services et sites Web.NET Passport. Ces sites reposent sur le serveur.net Passport qui s occupe de l authentification. Ainsi vous pouvez établir une connexion sécurisée (SSL) entre votre site et le serveur central.net Passport. Tout en permettant aux utilisateurs de conserver leur compte Passport, d un site à l autre. La communication ne s effectue pas en temps réel entre le serveur central (.Net Passport) et votre site Web. Les échanges d informations son gérés au niveau du navigateur du client en utilisant une redirection HTTP. <authentication mode = "Passport" />

2- Gestion simplifiée des comptes utilisateur Le Framework.Net met à disposition des développeurs des outils de gestion utilisateur très puissants qui permettent de gérer la création de compte, l identification et la réinitialisation de mot de passe en quelques clicks. A- Framework Membership Membership est un Framework gérant l abstraction des données utilisateur. Cet outil permet d interagir avec la base de données utilisateur en fournissant une classe et un ensemble de méthodes essentielles pour la gestion de comptes. Pour récupérer les données utilisateur, la classe Membership fait appel à des providers. Le Framework.NET inclut un provider (SqlMembershipProvider) qui permet de stocker les informations utilisateur dans une base de données (par défaut configuré pour SQL Server) ainsi qu un provider (ActiveDirectoryMembershipProvider) qui permet de stocker les informations utilisateur sur un serveur Active Directory. Un provider personnalisé peut par ailleurs être mis en place afin qu'il communique avec une autre source de données. Par défaut, le provider utilisé par Membership est SqlMembershipProvider. <membership defaultprovider = "Prov"> <providers> <add name=" Prov" type="system.web.security.sqlmembershipprovider, System.Web, Version=2.0.0.0, Culture=neutral" connectionstringname="mysqlserver" /> </providers> </membership> B- Contrôles prédéfinis Un contrôle serveur est une entité issue de System.Web.UI.Control permettant de générer du code HTML. Des contrôles serveur spécifiques à gestion de comptes utilisateur sont fournis par le framework.net (LoginView, Login, PasswordRecovery, ). Ces contrôles permettent d automatiser les formulaires de gestion de comptes utilisateur.

3- Rôles et Profiles utilisateur A- Rôles Les rôles permettent de définir des types d utilisateur, ainsi il devient possible de lier l accès à certaines parties d un site à certains types d utilisateur. L utilisation de rôles peut se faire dans le cadre d une authentification forms ou d une authentification windows. L authentification windows est donc très utile dans le cadre d un intranet, alors qu une authentification par forms s avère beaucoup plus cohérante dans le cadre d un site internet. Configuration: - Les providers <membership defaultprovider="roleprov" enable="true" cacherolesincookie = "true"> <rolemanager enabled="true" /> <providers> <add name="roleprov" type="system.web.security.sqlroleprovider, System.Web, Version=2.0.0.0, Culture=neutral" connectionstringname="mysqlserver" /> </providers> </membership> - Les restrictions générales <location path="edition.aspx"> <authorization> <allow roles="editeur" /> <deny users="?" /> </authorization> </location> - Affectation et test d un rôle if(!roles.isuserinrole("editeur")) Roles.AddUserToRole(User.Identity.Name,"editeur");

B- Profiles utilisateur Les profiles utilisateur peuvent s avérer très utiles dans le cadre de la personnalisation d un site web (design). En effet les profiles permettent de stocker dans un cookie des informations spécifiques à un utilisateur pour un rôle donné. Profile anonyme: <anonymousidentification enabled="true" cookieless="autodetect" /> Propriétés d un profile: <profile enabled="true"> <properties> <add name="couleur" type="system.string" /> </properties> </profile> Gestion des profiles dans le code-behind: ProfileCommon currentprofile = Profile.GetProfile(e.AnonymousID); if (currentprofile!= null) Profile.color = currentprofile.color; Arthur Tarlay Laboratoire des technologies WEB SUPINFO AQUITAINE IS1 Promotion 2008