SlideShare uma empresa Scribd logo
1 de 28
http://andrebaltieri.net/
HEY!SEU WORKSHOP JÁ VAI
COMEÇAR
INÍCIO PROGRAMADO PARA
20:30
UTILIZE O
CHATA SUA DIREITA PARA
SE COMUNICAR
http://andrebaltieri.net/
Workshop
Segurança emAPIs
Agenda
Segurança Física
Acesso aos Fontes
Acesso à Máquina
Network
Bloquear Ips/Acesso Externos
HTTPS/SSL
Segurança na API
Autenticação
Basic
Bearer
Segurança Física
Acesso à máquina
Acesso aos Fontes
Acesso à Maquina
 Segurança física é o primeiro nível
 Se alguém tiver acesso à máquina….
 Procure ambientes auto-gerenciados
 Valide frequentemente
 Como estão os acessos a máquina
 Quem possui estes acessos
Acesso aos Fontes
 Se o seu código fonte está público cuidado
 Pessoas podem explorar brechas
 Podem explorar itens como ‘salt-key’
 Deploy automatizado pode causar ainda mais dano
DEMO
Descobrindo a senha de quem usa as
demos do Baltieri como padrão 
Network
IPs e Acesso Externo
HTTPS/SSL
IPs e Acesso Externo
 Existem chineses malvados!
 Se sua API vai rodar no Brasil, então bloqueie outros IPs
 Se sua API é consumida apenas pelo seu site, ela pode ser liberada
apenas para ele
 No modelo PayAsYouGo você paga por consumo
 Aceitar bilhões de requisições também significa aceitar um grande
Brute Force
HTTPS e SSL
 HTTPS/SSL permitem um trafego encriptado
 HTTPS não são visíveis em ferramentas de sniffing
 TODA API DEVE POSSUIR HTTPS
DEMO
Interceptando requisições com
Fiddler
Segurançana API
Autenticação
Atributos
Autenticação
 Você não fica autenticado em APIs
 Autenticação ocorre a cada requisição
 Temos basicamente dois tipos de autenticação
 Basic
 Bearer
Basic Auth
 Autenticação Básica
 É enviado o usuário/senha encriptados em base64 a cada requisição
 Fácil de interceptar
 Mais fácil ainda de desencriptar
BearerAuth
 Realiza autenticação através de Tokens
 Seu login gera um token
 A cada requisição o token é enviado e validado
DEMO
Interceptando requisições básicas e
obtendo as senhas
DEMO
Implementando Bearer Auth com
WebAPI
DEMO
Implementando Bearer Auth com
NodeJs
Dúvidas
OBRI
GADO
Workshop Segurança APIs 40c
Workshop Segurança APIs 40c

Mais conteúdo relacionado

Destaque

Open data e acquisti della pubblica amministrazione: analisi delle università...
Open data e acquisti della pubblica amministrazione: analisi delle università...Open data e acquisti della pubblica amministrazione: analisi delle università...
Open data e acquisti della pubblica amministrazione: analisi delle università...Francesco Cavazzana
 
Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?
Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?
Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?Geokomunita
 
Web Page Prime Suite
Web Page Prime SuiteWeb Page Prime Suite
Web Page Prime SuiteRealtimeIT
 
Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...
Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...
Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...RoisMansur
 
The Biometric Unit of PRA Lab @ University of Cagliari
The Biometric Unit of PRA Lab @ University of CagliariThe Biometric Unit of PRA Lab @ University of Cagliari
The Biometric Unit of PRA Lab @ University of CagliariGian Luca Marcialis
 
Automatic batch determination based on shelf life
Automatic batch determination based on shelf lifeAutomatic batch determination based on shelf life
Automatic batch determination based on shelf lifeMauricio Beltran
 

Destaque (9)

Open data e acquisti della pubblica amministrazione: analisi delle università...
Open data e acquisti della pubblica amministrazione: analisi delle università...Open data e acquisti della pubblica amministrazione: analisi delle università...
Open data e acquisti della pubblica amministrazione: analisi delle università...
 
Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?
Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?
Je dynamická navigácia na Slovensku realitou alebo budúcnosťou?
 
Web Page Prime Suite
Web Page Prime SuiteWeb Page Prime Suite
Web Page Prime Suite
 
export-guide-infographic
export-guide-infographicexport-guide-infographic
export-guide-infographic
 
Dspace 5.5 Kurulum
Dspace 5.5 KurulumDspace 5.5 Kurulum
Dspace 5.5 Kurulum
 
MEMBACA KRITIS
MEMBACA KRITISMEMBACA KRITIS
MEMBACA KRITIS
 
Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...
Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...
Dasar dan tujuan pendidikan islam dalam persepektif filsafat pendidikajn agam...
 
The Biometric Unit of PRA Lab @ University of Cagliari
The Biometric Unit of PRA Lab @ University of CagliariThe Biometric Unit of PRA Lab @ University of Cagliari
The Biometric Unit of PRA Lab @ University of Cagliari
 
Automatic batch determination based on shelf life
Automatic batch determination based on shelf lifeAutomatic batch determination based on shelf life
Automatic batch determination based on shelf life
 

Semelhante a Workshop Segurança APIs 40c

Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Vulnerabilidade de senhas e requisitos necessarios para ataques de força bruta
Vulnerabilidade de senhas e requisitos necessarios para ataques de força brutaVulnerabilidade de senhas e requisitos necessarios para ataques de força bruta
Vulnerabilidade de senhas e requisitos necessarios para ataques de força brutaMarcelo Machado Pereira
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasRafael Jaques
 
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesConstruindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesTchelinux
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQuality Press
 
Resenha o que é um hacker
Resenha o que é um hackerResenha o que é um hacker
Resenha o que é um hackernilsonsq
 
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Rafael Jaques
 

Semelhante a Workshop Segurança APIs 40c (8)

Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Vulnerabilidade de senhas e requisitos necessarios para ataques de força bruta
Vulnerabilidade de senhas e requisitos necessarios para ataques de força brutaVulnerabilidade de senhas e requisitos necessarios para ataques de força bruta
Vulnerabilidade de senhas e requisitos necessarios para ataques de força bruta
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
 
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesConstruindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
 
Resenha o que é um hacker
Resenha o que é um hackerResenha o que é um hacker
Resenha o que é um hacker
 
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010
 

Mais de Andre Baltieri

Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Andre Baltieri
 
31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks31/08/2019 - Flutter Talks
31/08/2019 - Flutter TalksAndre Baltieri
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de UnidadeAndre Baltieri
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
Otimizando seu cenário de APIs
Otimizando seu cenário de APIsOtimizando seu cenário de APIs
Otimizando seu cenário de APIsAndre Baltieri
 
Turbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureTurbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureAndre Baltieri
 
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoProgressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoAndre Baltieri
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsAndre Baltieri
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2Andre Baltieri
 
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETProgressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETAndre Baltieri
 
Otimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptOtimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptAndre Baltieri
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e AlémAndre Baltieri
 
Introdução ao Native Script
Introdução ao Native ScriptIntrodução ao Native Script
Introdução ao Native ScriptAndre Baltieri
 
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material DesignCriando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material DesignAndre Baltieri
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETAndre Baltieri
 
Microsoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoMicrosoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoAndre Baltieri
 

Mais de Andre Baltieri (20)

Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022
 
31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de Unidade
 
PWA: State of Art
PWA: State of ArtPWA: State of Art
PWA: State of Art
 
PWAs no seu Desktop
PWAs no seu DesktopPWAs no seu Desktop
PWAs no seu Desktop
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Otimizando seu cenário de APIs
Otimizando seu cenário de APIsOtimizando seu cenário de APIs
Otimizando seu cenário de APIs
 
Turbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureTurbine sua API no Microsoft Azure
Turbine sua API no Microsoft Azure
 
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoProgressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundo
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance Tips
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2
 
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETProgressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
 
BaaS com Firebase 3
BaaS com Firebase 3BaaS com Firebase 3
BaaS com Firebase 3
 
Otimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptOtimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScript
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e Além
 
Introdução ao Native Script
Introdução ao Native ScriptIntrodução ao Native Script
Introdução ao Native Script
 
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material DesignCriando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NET
 
Microsoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoMicrosoft e o mundo do Desenvolvimento
Microsoft e o mundo do Desenvolvimento
 

Workshop Segurança APIs 40c