Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 - Belo Horizonte
24 de Oct de 2020•0 gostou•483 visualizações
Baixar para ler offline
Denunciar
Software
Apresentação sobre boas práticas de segurança no acesso a dados em Web Apps. Palestra realizada durante o SQLSaturday #972 - Belo Horizonte, evento que aconteceu online no dia 24/10/2020 (sábado).
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 - Belo Horizonte
1. Boas práticas de segurança
no acesso a dados em aplicações Web
Renato Groffe (Microsoft MVP, MTAC)
https://medium.com/@renato.groffe/
2. Explore
your PASS
community
Free online
webinar events
Connect with the
global data community
Local user groups
around the world
Online special
interest user groups
Learning on-demand
and delivered to you
Get involved
Own your career with interactive learning built
by community and guided by data experts.
Get involved. Get ahead.
.org
3. Missed PASS Summit 2019?
Get the Recordings
Download all PASS Summit sessions
on Data Management, Analytics, or
Architecture for only $399 USD
More options available at
PASSstuff.com
4. We are thrilled to say the first ever PASS Virtual Summit will be taking place this November!
We will be launching PASS Summit into a whole new world, and with that comes exciting
opportunities with what we can offer you. We will go beyond simply moving sessions online to fully
embracing everything a virtual environment can offer.
Find out more at PASS.org/summit
6. If you’re eager to learn
more tips and best
practices, check out
these free resources and
learning materials.
Free Resources
eBook: Professional Azure SQL DBA
http://aka.ms/sqlsaturday_packt
Handbook: Essential Guide to Data in the Cloud
https://aka.ms/sqlsaturday_essential
Case studies: Future Proof your Data
Infrastructure with Azure
https://aka.ms/sqlsaturday_future
Training: Microsoft Learn
https://aka.ms/azuresqlfundamentals
SQL Server 2019 Free Training
aka.ms/sqlworkshops
eBook: SQL Server 2019
aka.ms/sql19_ebook
This event was sponsored by Microsoft.
8. • Segurança da Informação e Desenvolvimento Web
• Um pouco de Segurança no SQL Server
• JSON Web Tokens (JWT): protegendo APIs REST
• Recursos de Segurança na nuvem: Microsoft Azure
• Exemplos práticos
Agenda
9. • 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
Desenvolvedores e a questão da Segurança
10. • Injeção de SQL (SQL Injection)
• Acesso em produção com permissões
especiais
• Acesso indevido a informações
confidenciais
E se essas “verdades” falharem?
11. • Concatenação de comandos e parâmetros em strings
• Descuidos com a manipulação de query strings em
aplicações Web
O que torna possível a injeção de SQL?
15. • 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
Diminuindo o impacto – Injeção de SQL
16. • Criptografia de arquivos de configuração
• HTTPS em aplicações Web sempre (sites, serviços, APIs)
• Implementar mecanismos e políticas de controle de acessos
em sites
• Tirar proveito recursos de segurança oferecidos por
tecnologias de bancos de dados
• Armazenar segredos em alguma solução específica (Azure
Key Vault, por exemplo)
• JWT (JSON Web Token) em APIs REST
Evitando o acesso indevido a informações
17. • Hospedagem de aplicações Web
• Publicação em Windows ou Linux e também
utilizando imagens Docker
• Suporta diversas stacks de desenvolvimento
(.NET, Java, Node.js, Python, PHP, Ruby)
• Escalabilidade (vertical e horizontal)
• HTTPS habilitado por default
Azure App Service
18. • Gerenciamento de usuários da
mesma forma que em versões on
premise
• Acesso por faixas de IP
Azure SQL
19. • Mascarar visualização de informações
sensíveis
• Presente desde a versão 2016
• Controle de acordo com permissões
de um usuário
• Extremamente útil na produção de
relatórios
SQL Server e Dynamic Data Masking
20. • Armazenamento de configurações
sensíveis
• Acesso a dados armazenados
mediante concessão de acesso
• Integração com Azure Active
Directory
Azure Key Vault
21. • 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)