27
Security & Microservices Speaker Vyacheslav Mikhaylov ([email protected] ) IT Talks 1

"Безопасность микросервисных приложений"

  • Upload
    dataart

  • View
    116

  • Download
    1

Embed Size (px)

Citation preview

Page 1: "Безопасность микросервисных приложений"

1

Security & Microservices

Speaker Vyacheslav Mikhaylov ([email protected])

IT Talks

Page 2: "Безопасность микросервисных приложений"

2

О чем доклад?• Немного терминологии и истории• OAuth2 и Open ID Connect – как работает• IndentityServer/IdentityManager• Архитектура• Как использовать• Примеры

• Безопасное взаимодействие сервисов

Page 3: "Безопасность микросервисных приложений"

3

Терминология• Идентификация• Аутентификация• Авторизация

Page 4: "Безопасность микросервисных приложений"

4

HTTP Basic Authentication

Page 5: "Безопасность микросервисных приложений"

5

HTTP Digest Authentication

Page 6: "Безопасность микросервисных приложений"

6

Forms Authentication

Page 7: "Безопасность микросервисных приложений"

7

Token Authentication

Page 8: "Безопасность микросервисных приложений"

8

Token Authentication

Page 9: "Безопасность микросервисных приложений"

9

Thinktecture Identity Server• OpenID Connect and OAuth2• Авторы• Dominick Baier• Brock Allen

• Identity Server• Identity Manager• MembershipReboot

Page 10: "Безопасность микросервисных приложений"

10

Features• Authentication as a Service• Single Sign-on / Sign-out• Access Control for APIs• Federation• Customization everywhere

Page 11: "Безопасность микросервисных приложений"

11

Big picture

Page 12: "Безопасность микросервисных приложений"

12

Big picture

Page 13: "Безопасность микросервисных приложений"

13

Page 14: "Безопасность микросервисных приложений"

14

Terminology • OpenID Connect Provider (OP) - security token service, identity provider,

authorization server, IP-STS and more.• Client• User - human• Scope

• Identity scopes – openid, profile, email• Resource scopes – various API

• Authentication/Token Request• Identity Token• Access Token

Page 15: "Безопасность микросервисных приложений"

15

Token structure (jwt.io)

Page 16: "Безопасность микросервисных приложений"

16

What is Identity Server• Authorization/Authentication• Token• UserInfo• Discovery• Logout• Token Revocation• Token Introspection• Access Token Validation• Identity Token Validation

Page 17: "Безопасность микросервисных приложений"

17

Customization• AuthenticationSessionValidator, AuthorizationCodeStore• ClaimsProvider, ClientPermissionsService• ClientStore, ConsentService, ConsentStore• CorsPolicyService, CustomGrantValidators, CustomRequestValidator,

CustomTokenResponseGenerator, CustomTokenValidator • EventService, ExternalClaimsFilter, LocalizationService, RedirectUriValidator• RefreshTokenService, RefreshTokenStore, ScopeStore• SecretParsers, SecretValidators, SigningKeyService• TokenHandleStore, TokenService, TokenSigningService, UserService• ViewService

Page 18: "Безопасность микросервисных приложений"

18

Customization• AuthenticationSessionValidator, AuthorizationCodeStore• ClaimsProvider, ClientPermissionsService• ClientStore, ConsentService, ConsentStore• CorsPolicyService, CustomGrantValidators, CustomRequestValidator,

CustomTokenResponseGenerator, CustomTokenValidator • EventService, ExternalClaimsFilter, LocalizationService, RedirectUriValidator• RefreshTokenService, RefreshTokenStore, ScopeStore• SecretParsers, SecretValidators, SigningKeyService• TokenHandleStore, TokenService, TokenSigningService, UserService• ViewService

Page 19: "Безопасность микросервисных приложений"

19

Customization• ClientStore• ScopeStore• UserService• ViewService

Page 20: "Безопасность микросервисных приложений"

20

What is Identity Manager• Simple creating users, editing user information (passwords, email,

claims, roles, etc.) and deleting users. • Replacement for the ASP.NET WebSite Administration tool User

Management

Page 21: "Безопасность микросервисных приложений"

21

What is MembershipReboot• single- or multi-tenant account management• flexible account storage design (relational/SQL or object/NoSql)• claims-aware user identities• support for account registration, email verification, password reset, etc.• account lockout for multiple failed login attempts (password guessing)• extensible templating for email notifications• customizable username, password and email validation• notification system for account activity and updates (e.g. for auditing)• account linking with external identity providers (enterprise or social)• supports certificate based authentication• proper password storage (via PBKDF2)

• configurable iterations• defaults to OWASP recommendations for iterations (e.g. 64K in year 2012)

• two factor authentication support via mobile phone SMS messages or client certificates

Page 22: "Безопасность микросервисных приложений"

22

Page 23: "Безопасность микросервисных приложений"

23

Demo

Page 24: "Безопасность микросервисных приложений"

24

Page 25: "Безопасность микросервисных приложений"

25

Page 27: "Безопасность микросервисных приложений"

Thank youTo be continued…