novidades de segurança em aspnet core

14
Novidades de segurança em ASP.NET Core 1.0 Sérgio Oliveira @sfsoliveira

Upload: sergio-oliveira

Post on 10-Jan-2017

297 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Novidades de segurança em aspnet core

Novidades de segurança em ASP.NET Core 1.0

Sérgio Oliveira@sfsoliveira

Page 2: Novidades de segurança em aspnet core

Sérgio Oliveira

[email protected]

@sfsoliveira

Page 3: Novidades de segurança em aspnet core

36 000 000 Contas expostas9 000 000 Transações de Cartão de Credito

Page 4: Novidades de segurança em aspnet core

5 000 000 Contas de pais 200 000 Dados de crianças

Page 5: Novidades de segurança em aspnet core

Path to Identity

ASP.NET 1.0

Nepia

ASP.NET 2.0

MembershipProvider

ASP.NET 4.0

SimpleMembership

Provider

ASP.NET 4.5

ASP.NETIdentity 1

ASP.NET 4.5

ASP.NETIdentity 2

ASP.NET Core 1

ASP.NETIdentity 3

Page 6: Novidades de segurança em aspnet core

OWIN (Open Web Interface for .NET)

UserAgent

Host

Owin Server

ApplicationMNM2M1

(...)

(...)

Page 7: Novidades de segurança em aspnet core

ASP.NET Core 1.0

UserAgent

Host

DNX

Server

MVCMNM2M1

(...)

(...)

DI

Page 8: Novidades de segurança em aspnet core

Stack de Segurança em ASP.NET Core 1.0

• ClaimsPrincipal

• Autenticação baseada em Middleware• Cookies• Facebook• Microsoft• ...

• Outros serviços relacionados com segurança• CORS• Logging• Encoding• Anti-forgery Token

• Nova API de Autenticação

• Nova API de proteção de dados

Page 9: Novidades de segurança em aspnet core

Cookie Authentication Middleware

• Múltiplos esquemas de Autenticação

• Automatic Authenticate

• Automatic Challenge

• Access Denied Path

Page 10: Novidades de segurança em aspnet core

Autenticação externa

app.UseCookieAuthentication(config =>

{config.AuthenticationScheme = “bolachinhas";config.AutomaticChallenge = false;config.AutomaticAuthenticate = true;

});

app.UseFacebookAuthentication(new FacebookOptions{

AuthenticationScheme = "Facebook",AppId = "203972043795013",AppSecret = "2d2f3db1a84c25cde4922001bb1279c9",SignInScheme = “bolachinhas",AutomaticChallenge = true

});

Page 11: Novidades de segurança em aspnet core

Autorização

• Já é possível distinguir Unauthorized vs Forbidden

• Separação de regras de negócio e logica de autorização

• Políticas reutilizáveis

• Resource base authorization

Page 12: Novidades de segurança em aspnet core

Authorize Attribute

[Authorize(Users = "admin")]

[Authorize(Roles = "editor")]

NO MORE

Ainda é Suportado

Page 13: Novidades de segurança em aspnet core

Resource Based Authentication

• [Utilizador] pede permissão para [ação] sobre [recurso]• Bob pede permissão para editar o post1

Page 14: Novidades de segurança em aspnet core

Obrigado