SlideShare une entreprise Scribd logo
1  sur  35
Introduction à la sécurité dans
ASP.NET Core
Anthony Giretti
Développeur sénior ASP.NET chez Spiria
anthony.giretti@gmail.com
http://anthonygiretti.com
La sécurité
• Le mécanisme d’authentification
• Les autorisations
• La protection des données
• SSL et Https
• Anti-Request Forgery
• Prévention des attaques XSS
• Autorisation /rejet des requêtes Cross-Origin
La sécurité
L’authentification avec ASP.NET Core Identity
• Introduction à ASP.NET Core Identity
Système d’abonnement permettant d’ajouter des fonctionnalités de
connexion à son application en utilisant un nom d’utilisateur et un mot de
passe ou utiliser un fournisseur de connexion tel que Facebook,
Compatible avec SQL Server, Azure Storage Table
La sécurité
L’authentification avec ASP.NET Core Identity
• Exemple avec les comptes utilisateurs individuels
ASP.NET Core Identity fortement couplé avec EntityFramework (package
Microsoft.AspNetCore.Identity.EntityFrameworkCore)
La sécurité
L’authentification avec ASP.NET Core Identity
La sécurité
L’authentification avec ASP.NET Core Identity
• Configuration du service
La sécurité
L’authentification avec ASP.NET Core Identity
• Activation du service
La sécurité
L’authentification avec ASP.NET Core Identity
• Instanciation dans un controlleur
La sécurité
L’authentification avec ASP.NET Core Identity
• Création d’un utilisateur
La sécurité
L’authentification avec ASP.NET Core Identity
• Authentification d’un utilisateur
La sécurité
L’authentification avec ASP.NET Core Identity
• LogOff
La sécurité
L’authentification avec ASP.NET Core Identity
La sécurité
L’authentification avec ASP.NET Core Identity
La sécurité
L’authentification avec ASP.NET Core Identity
(Démo sur mon pc)
•  Tutoriel complet ici :
https://docs.asp.net/en/latest/security/authentication/i
dentity.html
La sécurité
L’authentification avec ASP.NET Core Identity
• Features associées :
Authentification avec Facebook, Google et autres fournisseurs externes
(https://docs.asp.net/en/latest/security/authentication/sociallogins.html)
Support de OAuth 2.0
(https://docs.asp.net/en/latest/security/authentication/oauth2.html)
Confirmation de compte et récupération de mot de passe sécurisée
(https://docs.asp.net/en/latest/security/authentication/accconfirm.html)
Authentification par SMS
(https://docs.asp.net/en/latest/security/authentication/2fa.html)
La sécurité
L’authentification sans ASP.NET Core Identity
Utilisation des Cookies classiques (via HttpContext.Request.Cookies)
Utilisation des Cookies Middleware
Claim-based (cf : WIF)
Permettent de sérialiser les informations d’utilisateur (Principal) et d’encrypter dans un cookie
Capable via des évènements de valider son intégrité
De recréer le Principal et de l’assigner à l’objet User de HttpContext
La sécurité
L’authentification sans ASP.NET Core Identity
• Configuration
La sécurité
L’authentification sans ASP.NET Core Identity
• Exemple de login
La sécurité
L’authentification sans ASP.NET Core Identity
• Exemple de page nécessitant d’être authentifié
La sécurité
L’authentification sans ASP.NET Core Identity
• LogOff
La sécurité
L’authentification sans ASP.NET Core Identity
• Gestionnaire d’évènement, exemple en vas de modification d’une
information de l’utilisateur principal courant.
La sécurité
L’authentification sans ASP.NET Core Identity
(Démo sur mon pc)
•  Tutoriel complet ici :
https://docs.asp.net/en/latest/security/authentication/c
ookie.html
La sécurité
Les autorisations avec ASP.NET Core
• Introduction aux autorisations :
On retrouve les attributs AuthorizeAttribute et AllowAnonymousAttribute
On les retrouve dans le namespace Microsoft.AspNetCore.Authorization
 Simple Authorization
 Role based Authorization
 Claims-Based Authorization
 Custom Policy-Based Authorization
La sécurité
Les autorisations avec ASP.NET Core
• Reprenons l’exemple avec les cookies
La sécurité
Les autorisations avec ASP.NET Core
• Les autorisations simples
La sécurité
Les autorisations avec ASP.NET Core
• Les autorisations basées sur des rôles
La sécurité
Les autorisations avec ASP.NET Core
• Configuration des autorisation basées sur les claims
La sécurité
Les autorisations avec ASP.NET Core
• Exemple
La sécurité
Les autorisations avec ASP.NET Core
• Pour aller plus loin….
Il est possible de créer des policies plus élaborées
Il est aussi possible de créer ses propres Handlers
(https://docs.asp.net/en/latest/security/authorization/policies.html)
La sécurité
La protection des données avec .NET Core
• Introduction :
Toute nouvelle feature de .NET Core
Propose 3 manières de protéger ses données
 Data Protection (cryptage à vocation non durable basée sur une clé et un lifetime défini, réversible)
 Hashing (encodage irréversible, recommandé pour les mots de passes)
 Encryption (cryptage à vocation durable, réversible)
La sécurité
La protection des données avec .NET Core
• Configuration du Data Protection :
Dépendance au namespace Microsoft.AspNetCore.DataProtection
La sécurité
La protection des données avec .NET Core
• Exemple d’utilisation du Data Protection
La sécurité
La protection des données avec .NET Core
• Implémentation d’une classe statique de :
Dépendance au namespace Microsoft.Cryptography.KeyDerivation
La sécurité
La protection des données avec .NET Core
• Introduction à la nouvelle librairie d’encryption
Basée sur 2 nouvelle interface : IAuthenticatedEncryptor et
IAuthenticatedEncryptorDescriptor
Description ici : https://docs.asp.net/en/latest/security/data-
protection/extensibility/core-crypto.html
Merci! C’était :
Introduction à la sécurité dans
ASP.NET Core
Anthony Giretti
Développeur sénior ASP.NET chez Spiria
anthony.giretti@gmail.com
http://anthonygiretti.com
Code source de cette présentation : https://github.com/AnthonyGiretti/aspnetcoresecurity

Contenu connexe

Tendances

Tendances (20)

Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexesSayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
 
Authentification et autorisation d'accès avec AWS IAM
Authentification et autorisation d'accès avec AWS IAMAuthentification et autorisation d'accès avec AWS IAM
Authentification et autorisation d'accès avec AWS IAM
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Bonnes pratiques anti-DDOS
Bonnes pratiques anti-DDOSBonnes pratiques anti-DDOS
Bonnes pratiques anti-DDOS
 
Deep Dive: Virtual Private Cloud
Deep Dive: Virtual Private CloudDeep Dive: Virtual Private Cloud
Deep Dive: Virtual Private Cloud
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
 
6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS
 
Implentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAASImplentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAAS
 
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
GAB 2015  - Nouveautes sur le stockage de donnees dans AzureGAB 2015  - Nouveautes sur le stockage de donnees dans Azure
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
 
Chiffrez vos données avec AWS KMS et avec AWS CloudHSM
Chiffrez vos données avec AWS KMS et avec AWS CloudHSMChiffrez vos données avec AWS KMS et avec AWS CloudHSM
Chiffrez vos données avec AWS KMS et avec AWS CloudHSM
 
Amazon Inspector
Amazon InspectorAmazon Inspector
Amazon Inspector
 
AWS Summit Paris - Track 2 - Session 1 - Construisez votre datacenter en 5 mi...
AWS Summit Paris - Track 2 - Session 1 - Construisez votre datacenter en 5 mi...AWS Summit Paris - Track 2 - Session 1 - Construisez votre datacenter en 5 mi...
AWS Summit Paris - Track 2 - Session 1 - Construisez votre datacenter en 5 mi...
 
Premiers pas avec Microsoft Azure Search
Premiers pas avec Microsoft Azure SearchPremiers pas avec Microsoft Azure Search
Premiers pas avec Microsoft Azure Search
 
MS Days 2011 - Windows Azure
MS Days 2011 - Windows AzureMS Days 2011 - Windows Azure
MS Days 2011 - Windows Azure
 
Sécurite Amazon Web Services
Sécurite Amazon Web ServicesSécurite Amazon Web Services
Sécurite Amazon Web Services
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Deep Dive AWS CloudTrail
Deep Dive AWS CloudTrailDeep Dive AWS CloudTrail
Deep Dive AWS CloudTrail
 
JSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans AzureJSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans Azure
 
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 

En vedette

En vedette (20)

.Net Core Fall update
.Net Core Fall update.Net Core Fall update
.Net Core Fall update
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
Cathy Monier: Power Query et Power BI
Cathy Monier: Power Query et Power BICathy Monier: Power Query et Power BI
Cathy Monier: Power Query et Power BI
 
Le Microsoft Graph et le développement Office 365
Le Microsoft Graph et le développement Office 365Le Microsoft Graph et le développement Office 365
Le Microsoft Graph et le développement Office 365
 
Robert Luong: Analyse prédictive dans Excel
Robert Luong: Analyse prédictive dans ExcelRobert Luong: Analyse prédictive dans Excel
Robert Luong: Analyse prédictive dans Excel
 
Sophie Marchand: Cas power bi de a à z
Sophie Marchand: Cas power bi de a à zSophie Marchand: Cas power bi de a à z
Sophie Marchand: Cas power bi de a à z
 
Francis Paquet: Visualisations innovantes
Francis Paquet: Visualisations innovantesFrancis Paquet: Visualisations innovantes
Francis Paquet: Visualisations innovantes
 
Introduction à Application Insights
Introduction à Application InsightsIntroduction à Application Insights
Introduction à Application Insights
 
Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017
 
Advanced analytics with R and SQL
Advanced analytics with R and SQLAdvanced analytics with R and SQL
Advanced analytics with R and SQL
 
Microsoft Modern Analytics
Microsoft Modern AnalyticsMicrosoft Modern Analytics
Microsoft Modern Analytics
 
Ssis 2016 RC3
Ssis 2016 RC3Ssis 2016 RC3
Ssis 2016 RC3
 
Guy Barrette: Afficher des données en temps réel dans PowerBI
Guy Barrette: Afficher des données en temps réel dans PowerBIGuy Barrette: Afficher des données en temps réel dans PowerBI
Guy Barrette: Afficher des données en temps réel dans PowerBI
 
How ddd, cqrs and event sourcing constitute the architecture of the future
How ddd, cqrs and event sourcing constitute the architecture of the futureHow ddd, cqrs and event sourcing constitute the architecture of the future
How ddd, cqrs and event sourcing constitute the architecture of the future
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 novelties
 
Investigando a própria prática em uma Trajetória Hipotética de Aprendizagem n...
Investigando a própria prática em uma Trajetória Hipotética de Aprendizagem n...Investigando a própria prática em uma Trajetória Hipotética de Aprendizagem n...
Investigando a própria prática em uma Trajetória Hipotética de Aprendizagem n...
 
SQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BISQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BI
 
La sociedad colonial 2017, adobe acrobat, 14 carillas
La sociedad colonial 2017, adobe acrobat, 14 carillasLa sociedad colonial 2017, adobe acrobat, 14 carillas
La sociedad colonial 2017, adobe acrobat, 14 carillas
 

Similaire à Introduction à la sécurité dans ASP.NET Core

Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 ParisEstelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
AZUG FR
 
Secun formation-securite-des-applications-net
Secun formation-securite-des-applications-netSecun formation-securite-des-applications-net
Secun formation-securite-des-applications-net
CERTyou Formation
 
Swsa formation-securiser-le-web-avec-cisco-web-security-appliance
Swsa formation-securiser-le-web-avec-cisco-web-security-applianceSwsa formation-securiser-le-web-avec-cisco-web-security-appliance
Swsa formation-securiser-le-web-avec-cisco-web-security-appliance
CERTyou Formation
 

Similaire à Introduction à la sécurité dans ASP.NET Core (20)

Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 ParisEstelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
 
La Sécurité dans Azure
La Sécurité dans AzureLa Sécurité dans Azure
La Sécurité dans Azure
 
[GAB2016] La sécurité dans Azure - Estelle Auberix
[GAB2016] La sécurité dans Azure - Estelle Auberix[GAB2016] La sécurité dans Azure - Estelle Auberix
[GAB2016] La sécurité dans Azure - Estelle Auberix
 
Secun formation-securite-des-applications-net
Secun formation-securite-des-applications-netSecun formation-securite-des-applications-net
Secun formation-securite-des-applications-net
 
Introduction à La Sécurité Informatique 2/2
Introduction à La Sécurité Informatique 2/2Introduction à La Sécurité Informatique 2/2
Introduction à La Sécurité Informatique 2/2
 
Microsoft Azure : Tout ce que vous devez savoir sur la sécurité et la confor...
Microsoft Azure :  Tout ce que vous devez savoir sur la sécurité et la confor...Microsoft Azure :  Tout ce que vous devez savoir sur la sécurité et la confor...
Microsoft Azure : Tout ce que vous devez savoir sur la sécurité et la confor...
 
Certifs x509
Certifs x509Certifs x509
Certifs x509
 
PKI par la Pratique
PKI par la PratiquePKI par la Pratique
PKI par la Pratique
 
Acegi Security
Acegi SecurityAcegi Security
Acegi Security
 
Webinar bonnes pratiques securite
Webinar   bonnes pratiques securiteWebinar   bonnes pratiques securite
Webinar bonnes pratiques securite
 
Spring security
Spring securitySpring security
Spring security
 
Sécurité des données
Sécurité des donnéesSécurité des données
Sécurité des données
 
Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
 
OWASP TOP 10 Proactive
OWASP TOP 10 ProactiveOWASP TOP 10 Proactive
OWASP TOP 10 Proactive
 
LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)
 
LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2
 
Sécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans AzureSécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans Azure
 
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
 
Swsa formation-securiser-le-web-avec-cisco-web-security-appliance
Swsa formation-securiser-le-web-avec-cisco-web-security-applianceSwsa formation-securiser-le-web-avec-cisco-web-security-appliance
Swsa formation-securiser-le-web-avec-cisco-web-security-appliance
 
OpenSSO Aquarium Paris
OpenSSO Aquarium ParisOpenSSO Aquarium Paris
OpenSSO Aquarium Paris
 

Plus de MSDEVMTL

Plus de MSDEVMTL (20)

Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.net
 
Grpc and asp.net partie 2
Grpc and asp.net partie 2Grpc and asp.net partie 2
Grpc and asp.net partie 2
 
Property based testing
Property based testingProperty based testing
Property based testing
 
Improve cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft AzureImprove cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft Azure
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & Data
 
C sharp 8.0 new features
C sharp 8.0 new featuresC sharp 8.0 new features
C sharp 8.0 new features
 
Asp.net core 3
Asp.net core 3Asp.net core 3
Asp.net core 3
 
MSDEVMTL Informations 2019
MSDEVMTL Informations 2019MSDEVMTL Informations 2019
MSDEVMTL Informations 2019
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Groupe Excel et Power BI - Rencontre du 25 septembre 2018
Groupe Excel et Power BI  - Rencontre du 25 septembre 2018Groupe Excel et Power BI  - Rencontre du 25 septembre 2018
Groupe Excel et Power BI - Rencontre du 25 septembre 2018
 
Api gateway
Api gatewayApi gateway
Api gateway
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Stephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environmentsStephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environments
 
Eric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts AzureEric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts Azure
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
 
Open id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api coreOpen id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api core
 
Yoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analyticsYoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analytics
 
CAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling AverageCAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling Average
 
CAE: etude de cas
CAE: etude de casCAE: etude de cas
CAE: etude de cas
 

Introduction à la sécurité dans ASP.NET Core

  • 1. Introduction à la sécurité dans ASP.NET Core Anthony Giretti Développeur sénior ASP.NET chez Spiria anthony.giretti@gmail.com http://anthonygiretti.com
  • 2. La sécurité • Le mécanisme d’authentification • Les autorisations • La protection des données • SSL et Https • Anti-Request Forgery • Prévention des attaques XSS • Autorisation /rejet des requêtes Cross-Origin
  • 3. La sécurité L’authentification avec ASP.NET Core Identity • Introduction à ASP.NET Core Identity Système d’abonnement permettant d’ajouter des fonctionnalités de connexion à son application en utilisant un nom d’utilisateur et un mot de passe ou utiliser un fournisseur de connexion tel que Facebook, Compatible avec SQL Server, Azure Storage Table
  • 4. La sécurité L’authentification avec ASP.NET Core Identity • Exemple avec les comptes utilisateurs individuels ASP.NET Core Identity fortement couplé avec EntityFramework (package Microsoft.AspNetCore.Identity.EntityFrameworkCore)
  • 6. La sécurité L’authentification avec ASP.NET Core Identity • Configuration du service
  • 7. La sécurité L’authentification avec ASP.NET Core Identity • Activation du service
  • 8. La sécurité L’authentification avec ASP.NET Core Identity • Instanciation dans un controlleur
  • 9. La sécurité L’authentification avec ASP.NET Core Identity • Création d’un utilisateur
  • 10. La sécurité L’authentification avec ASP.NET Core Identity • Authentification d’un utilisateur
  • 11. La sécurité L’authentification avec ASP.NET Core Identity • LogOff
  • 14. La sécurité L’authentification avec ASP.NET Core Identity (Démo sur mon pc) •  Tutoriel complet ici : https://docs.asp.net/en/latest/security/authentication/i dentity.html
  • 15. La sécurité L’authentification avec ASP.NET Core Identity • Features associées : Authentification avec Facebook, Google et autres fournisseurs externes (https://docs.asp.net/en/latest/security/authentication/sociallogins.html) Support de OAuth 2.0 (https://docs.asp.net/en/latest/security/authentication/oauth2.html) Confirmation de compte et récupération de mot de passe sécurisée (https://docs.asp.net/en/latest/security/authentication/accconfirm.html) Authentification par SMS (https://docs.asp.net/en/latest/security/authentication/2fa.html)
  • 16. La sécurité L’authentification sans ASP.NET Core Identity Utilisation des Cookies classiques (via HttpContext.Request.Cookies) Utilisation des Cookies Middleware Claim-based (cf : WIF) Permettent de sérialiser les informations d’utilisateur (Principal) et d’encrypter dans un cookie Capable via des évènements de valider son intégrité De recréer le Principal et de l’assigner à l’objet User de HttpContext
  • 17. La sécurité L’authentification sans ASP.NET Core Identity • Configuration
  • 18. La sécurité L’authentification sans ASP.NET Core Identity • Exemple de login
  • 19. La sécurité L’authentification sans ASP.NET Core Identity • Exemple de page nécessitant d’être authentifié
  • 20. La sécurité L’authentification sans ASP.NET Core Identity • LogOff
  • 21. La sécurité L’authentification sans ASP.NET Core Identity • Gestionnaire d’évènement, exemple en vas de modification d’une information de l’utilisateur principal courant.
  • 22. La sécurité L’authentification sans ASP.NET Core Identity (Démo sur mon pc) •  Tutoriel complet ici : https://docs.asp.net/en/latest/security/authentication/c ookie.html
  • 23. La sécurité Les autorisations avec ASP.NET Core • Introduction aux autorisations : On retrouve les attributs AuthorizeAttribute et AllowAnonymousAttribute On les retrouve dans le namespace Microsoft.AspNetCore.Authorization  Simple Authorization  Role based Authorization  Claims-Based Authorization  Custom Policy-Based Authorization
  • 24. La sécurité Les autorisations avec ASP.NET Core • Reprenons l’exemple avec les cookies
  • 25. La sécurité Les autorisations avec ASP.NET Core • Les autorisations simples
  • 26. La sécurité Les autorisations avec ASP.NET Core • Les autorisations basées sur des rôles
  • 27. La sécurité Les autorisations avec ASP.NET Core • Configuration des autorisation basées sur les claims
  • 28. La sécurité Les autorisations avec ASP.NET Core • Exemple
  • 29. La sécurité Les autorisations avec ASP.NET Core • Pour aller plus loin…. Il est possible de créer des policies plus élaborées Il est aussi possible de créer ses propres Handlers (https://docs.asp.net/en/latest/security/authorization/policies.html)
  • 30. La sécurité La protection des données avec .NET Core • Introduction : Toute nouvelle feature de .NET Core Propose 3 manières de protéger ses données  Data Protection (cryptage à vocation non durable basée sur une clé et un lifetime défini, réversible)  Hashing (encodage irréversible, recommandé pour les mots de passes)  Encryption (cryptage à vocation durable, réversible)
  • 31. La sécurité La protection des données avec .NET Core • Configuration du Data Protection : Dépendance au namespace Microsoft.AspNetCore.DataProtection
  • 32. La sécurité La protection des données avec .NET Core • Exemple d’utilisation du Data Protection
  • 33. La sécurité La protection des données avec .NET Core • Implémentation d’une classe statique de : Dépendance au namespace Microsoft.Cryptography.KeyDerivation
  • 34. La sécurité La protection des données avec .NET Core • Introduction à la nouvelle librairie d’encryption Basée sur 2 nouvelle interface : IAuthenticatedEncryptor et IAuthenticatedEncryptorDescriptor Description ici : https://docs.asp.net/en/latest/security/data- protection/extensibility/core-crypto.html
  • 35. Merci! C’était : Introduction à la sécurité dans ASP.NET Core Anthony Giretti Développeur sénior ASP.NET chez Spiria anthony.giretti@gmail.com http://anthonygiretti.com Code source de cette présentation : https://github.com/AnthonyGiretti/aspnetcoresecurity