Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018

Renato Groff
Renato GroffAon Corporation
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
• Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience Contributor (MTAC)
• Mais de 15 anos de experiência na área de Tecnologia
• Autor Técnico e Palestrante
• Um dos organizadores do Canal .NET e do .NET SP
Renato Groffe
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
Renato Groffe - Contatos
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
Agenda
• APIs REST - Contexto Atual
• Segurança da Informação e APIs REST
• JSON Web Tokens (JWT): uma visão geral
• Azure Web App on Linux: APIs seguras na nuvem
• HTTPS no ASP.NET Core 2.1
APIs REST - Contexto Atual
• Escalabilidade, disponibilidade e performance
• REST como principal estilo arquitetural
• Microserviços ganhando força
• Economia das APIs
APIs REST - Questões Fundamentais
• Modelagem
• Cultura de automação
• Estratégias de deployment
• Monitoramento
• Segurança
Segurança da Informação e APIs REST
Desenvolvedores e a questão da Segurança
• Nunca vai acontecer comigo
• A aplicação é pequena, não há muitos
usuários
• O pessoal de TI é confiável
• Nossos usuários são leigos demais
E se essas “verdades” falharem?
• Injeção de SQL (SQL Injection)
• Acesso em produção com permissões
especiais
• Acesso indevido a informações confidenciais
O que torna possível a injeção de SQL?
• Concatenação de comandos e parâmetros
em strings
• Descuidos com a manipulação de query
strings em aplicações Web
O que há de errado aqui (Dapper)?
O que há de errado aqui (Dapper)?
Recomendável ao se utilizar Dapper
Diminuindo o impacto – Injeção de SQL
• Evitando a concatenação de parâmetros em
comandos SQL
• Criar um usuário para a aplicação no
servidor de banco de dados, retirando
direitos de de execução de comandos do
tipo DDL (CREATE, DROP, ALTER)
• Utilizando soluções ORMs como Entity
Framework e NHibernate
Evitando o acesso indevido a informações
• Criptografia de arquivos de configuração
• Armazenar segredos em alguma solução
específica (Azure Key Vault, por exemplo)
• JWT (JSON Web Token) em APIs REST
• HTTPS em aplicações Web sempre (sites,
serviços, APIs)
JWT (JSON Web Tokens)
• Uso de tokens criptografados
• Bearer Authentication
• Emprega HMAC ou RSA
• Tecnologia multiplataforma
• Tokens formados por 3 partes (Header, Payload
e Signature)
JWT (JSON Web Tokens) - Utilização
Um exemplo de token
JWT + ASP.NET Core – Integrações Possíveis
• Soluções customizadas para controle de
usuários
• ASP.NET Core Identity
• Active Directory (AD)
• IdentityServer
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Aplicação
• API REST criada com o ASP.NET
Core 2.0
• Cadastro de produtos com
acesso empregando JWT
Aplicação
• Fontes:
https://github.com/renatogroffe/ASPNETCore2_CRUD-API-JWT-EFInMemory
Azure Web App on Linux: APIs seguras na nuvem
• Hospedagem de aplicações
• Containers Docker em Linux
• Suporte a Continuous Integration
• HTTPS habilitado por default
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Azure Web App on Linux
• Utilizar a imagem
renatogroffe/apiprodutos
HTTPS no ASP.NET Core 2.1
• Temos agora o uso de HTTPS
ativado por default
• Certificado de
desenvolvimento criado na
instalação do .NET Core
HTTPS no ASP.NET Core 2.1
• Redirecionamento automático
de HTTP para HTTPS
• Habilitado por default o uso do
protocolo HSTS (HTTP Strict
Transport Security)
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
medium.com/@renato.groffe/
1 de 30

Recomendados

Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L... por
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L...Renato Groff
6.4K visualizações20 slides
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil por
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilRenato Groff
4.2K visualizações32 slides
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE... por
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE....NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE...
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE...Renato Groff
3.3K visualizações20 slides
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere... por
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...Renato Groff
2.5K visualizações19 slides
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março por
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoRenato Groff
1.3K visualizações31 slides
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ... por
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Renato Groff
1.6K visualizações27 slides

Mais conteúdo relacionado

Mais procurados

Cloud Solutions com o Microsoft Azure - TDC Online Especial BH por
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
336 visualizações28 slides
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az... por
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Renato Groff
7.8K visualizações33 slides
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party... por
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Renato Groff
3.9K visualizações28 slides
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... por
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
299 visualizações23 slides
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -... por
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groffe
13.1K visualizações22 slides
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ... por
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Renato Groff
369 visualizações27 slides

Mais procurados(20)

Cloud Solutions com o Microsoft Azure - TDC Online Especial BH por Renato Groff
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Renato Groff336 visualizações
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az... por Renato Groff
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Renato Groff7.8K visualizações
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party... por Renato Groff
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Renato Groff3.9K visualizações
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... por Renato Groff
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Renato Groff299 visualizações
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -... por Renato Groffe
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Renato Groffe13.1K visualizações
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ... por Renato Groff
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Renato Groff369 visualizações
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019 por Renato Groff
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Renato Groff106 visualizações
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack... por Renato Groff
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Renato Groff956 visualizações
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019 por Renato Groff
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Renato Groff3.6K visualizações
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro... por Renato Groff
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...
Renato Groff1.7K visualizações
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O... por Renato Groff
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
Renato Groff94 visualizações
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018 por Renato Groff
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
Renato Groff4.6K visualizações
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ... por Renato Groff
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Renato Groff5.4K visualizações
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos por Renato Groff
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetosASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos
Renato Groff5.3K visualizações
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020 por Renato Groff
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Renato Groff669 visualizações
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - .... por Renato Groff
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - .....NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
Renato Groff1.8K visualizações
ASP.NET MVC Core por Rodrigo Kono
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
Rodrigo Kono3.7K visualizações
Dapper - Developers-SP - Junho/2017 por Renato Groff
Dapper - Developers-SP - Junho/2017Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017
Renato Groff46.6K visualizações
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019 por Renato Groff
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
Renato Groff2.6K visualizações
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock... por Renato Groff
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Renato Groff6.8K visualizações

Similar a Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018

Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ... por
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Renato Groff
200 visualizações26 slides
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0 por
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0Renato Groff
1.1K visualizações29 slides
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ... por
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...Renato Groff
37 visualizações15 slides
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... por
 APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...Renato Groff
119 visualizações28 slides
Implementando APIs REST mais seguras - TDC 2019 - São Paulo por
Implementando APIs REST mais seguras - TDC 2019 - São PauloImplementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São PauloRenato Groff
365 visualizações24 slides
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019 por
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Renato Groff
353 visualizações30 slides

Similar a Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018(20)

Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ... por Renato Groff
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Renato Groff200 visualizações
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0 por Renato Groff
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
Renato Groff1.1K visualizações
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ... por Renato Groff
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
Renato Groff37 visualizações
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... por Renato Groff
 APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
Renato Groff119 visualizações
Implementando APIs REST mais seguras - TDC 2019 - São Paulo por Renato Groff
Implementando APIs REST mais seguras - TDC 2019 - São PauloImplementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São Paulo
Renato Groff365 visualizações
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019 por Renato Groff
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Renato Groff353 visualizações
.NET Core e ASP.NET Core: Dicas e Truques por Renato Groff
.NET Core e ASP.NET Core: Dicas e Truques.NET Core e ASP.NET Core: Dicas e Truques
.NET Core e ASP.NET Core: Dicas e Truques
Renato Groff1.2K visualizações
Implementando APIs REST mais seguras - TDC 2019 - Porto Alegre por Renato Groff
Implementando APIs REST mais seguras - TDC 2019 - Porto AlegreImplementando APIs REST mais seguras - TDC 2019 - Porto Alegre
Implementando APIs REST mais seguras - TDC 2019 - Porto Alegre
Renato Groff94 visualizações
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T... por Renato Groff
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
Renato Groff62 visualizações
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem... por Renato Groff
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Renato Groff187 visualizações
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020 por Renato Groff
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Renato Groff2K visualizações
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv... por Renato Groff
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Renato Groff5K visualizações
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018 por Renato Groff
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Renato Groff15 visualizações
Dapper - .NET SP - Agosto-2017 por Renato Groff
Dapper - .NET SP - Agosto-2017Dapper - .NET SP - Agosto-2017
Dapper - .NET SP - Agosto-2017
Renato Groff154 visualizações
Monitorando APIs REST com o Application Insights por Renato Groff
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
Renato Groff894 visualizações
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP... por Renato Groff
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...
Renato Groff129 visualizações
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE... por Renato Groff
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...
Renato Groff3.3K visualizações
Testando Aplicações Web com Selenium WebDriver - .NET SP - Novembro-2018 por Renato Groff
Testando Aplicações Web com Selenium WebDriver - .NET SP - Novembro-2018Testando Aplicações Web com Selenium WebDriver - .NET SP - Novembro-2018
Testando Aplicações Web com Selenium WebDriver - .NET SP - Novembro-2018
Renato Groff929 visualizações
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C... por Renato Groff
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
Renato Groff73 visualizações
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -... por Renato Groff
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Renato Groff485 visualizações

Mais de Renato Groff

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ... por
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
312 visualizações40 slides
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020 por
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
98 visualizações19 slides
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev... por
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
250 visualizações18 slides
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat... por
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
141 visualizações19 slides
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat... por
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
117 visualizações14 slides
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No... por
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
160 visualizações15 slides

Mais de Renato Groff(20)

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ... por Renato Groff
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Renato Groff312 visualizações
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020 por Renato Groff
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Renato Groff98 visualizações
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev... por Renato Groff
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Renato Groff250 visualizações
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat... por Renato Groff
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Renato Groff141 visualizações
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat... por Renato Groff
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
Renato Groff117 visualizações
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No... por Renato Groff
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
Renato Groff160 visualizações
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf... por Renato Groff
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Renato Groff88 visualizações
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV... por Renato Groff
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Renato Groff85 visualizações
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020 por Renato Groff
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Renato Groff122 visualizações
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020 por Renato Groff
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Renato Groff209 visualizações
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |... por Renato Groff
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
Renato Groff169 visualizações
Aplicações Distribuídas com .NET | TDC Recife Online 2020 por Renato Groff
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Renato Groff130 visualizações
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020 por Renato Groff
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Renato Groff224 visualizações
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ... por Renato Groff
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Renato Groff184 visualizações
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie por Renato Groff
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
Renato Groff257 visualizações
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ... por Renato Groff
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Renato Groff576 visualizações
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática por Renato Groff
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Renato Groff569 visualizações
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020 por Renato Groff
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Renato Groff435 visualizações
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020 por Renato Groff
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Renato Groff241 visualizações
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020 por Renato Groff
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
Renato Groff1.4K visualizações

Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018

  • 2. • Microsoft Most Valuable Professional (MVP) • Multi-Plataform Technical Audience Contributor (MTAC) • Mais de 15 anos de experiência na área de Tecnologia • Autor Técnico e Palestrante • Um dos organizadores do Canal .NET e do .NET SP Renato Groffe h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
  • 3. Renato Groffe - Contatos h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e / /renatogroffe /in/renatogroffe /canaldotnet /renatogroffe /canaldotnet /renatogroff
  • 4. Agenda • APIs REST - Contexto Atual • Segurança da Informação e APIs REST • JSON Web Tokens (JWT): uma visão geral • Azure Web App on Linux: APIs seguras na nuvem • HTTPS no ASP.NET Core 2.1
  • 5. APIs REST - Contexto Atual • Escalabilidade, disponibilidade e performance • REST como principal estilo arquitetural • Microserviços ganhando força • Economia das APIs
  • 6. APIs REST - Questões Fundamentais • Modelagem • Cultura de automação • Estratégias de deployment • Monitoramento • Segurança
  • 8. Desenvolvedores e a questão da Segurança • Nunca vai acontecer comigo • A aplicação é pequena, não há muitos usuários • O pessoal de TI é confiável • Nossos usuários são leigos demais
  • 9. E se essas “verdades” falharem? • Injeção de SQL (SQL Injection) • Acesso em produção com permissões especiais • Acesso indevido a informações confidenciais
  • 10. O que torna possível a injeção de SQL? • Concatenação de comandos e parâmetros em strings • Descuidos com a manipulação de query strings em aplicações Web
  • 11. O que há de errado aqui (Dapper)?
  • 12. O que há de errado aqui (Dapper)?
  • 13. Recomendável ao se utilizar Dapper
  • 14. Diminuindo o impacto – Injeção de SQL • Evitando a concatenação de parâmetros em comandos SQL • Criar um usuário para a aplicação no servidor de banco de dados, retirando direitos de de execução de comandos do tipo DDL (CREATE, DROP, ALTER) • Utilizando soluções ORMs como Entity Framework e NHibernate
  • 15. Evitando o acesso indevido a informações • Criptografia de arquivos de configuração • Armazenar segredos em alguma solução específica (Azure Key Vault, por exemplo) • JWT (JSON Web Token) em APIs REST • HTTPS em aplicações Web sempre (sites, serviços, APIs)
  • 16. JWT (JSON Web Tokens) • Uso de tokens criptografados • Bearer Authentication • Emprega HMAC ou RSA • Tecnologia multiplataforma • Tokens formados por 3 partes (Header, Payload e Signature)
  • 17. JWT (JSON Web Tokens) - Utilização
  • 18. Um exemplo de token
  • 19. JWT + ASP.NET Core – Integrações Possíveis • Soluções customizadas para controle de usuários • ASP.NET Core Identity • Active Directory (AD) • IdentityServer
  • 21. Aplicação • API REST criada com o ASP.NET Core 2.0 • Cadastro de produtos com acesso empregando JWT
  • 23. Azure Web App on Linux: APIs seguras na nuvem • Hospedagem de aplicações • Containers Docker em Linux • Suporte a Continuous Integration • HTTPS habilitado por default
  • 25. Azure Web App on Linux • Utilizar a imagem renatogroffe/apiprodutos
  • 26. HTTPS no ASP.NET Core 2.1 • Temos agora o uso de HTTPS ativado por default • Certificado de desenvolvimento criado na instalação do .NET Core
  • 27. HTTPS no ASP.NET Core 2.1 • Redirecionamento automático de HTTP para HTTPS • Habilitado por default o uso do protocolo HSTS (HTTP Strict Transport Security)