Post on 17-Feb-2017
http://andrebaltieri.net/
HEY!SEU WORKSHOP JÁ VAI
COMEÇARINÍCIO PROGRAMADO PARA
20:30
UTILIZE O
CHATA SUA DIREITA PARASE COMUNICAR
http://andrebaltieri.net/
WorkshopSegurança em APIs
AgendaSegurança Física
Acesso aos FontesAcesso à Máquina
NetworkBloquear Ips/Acesso ExternosHTTPS/SSL
Segurança na APIAutenticação
BasicBearer
Segurança FísicaAcesso à máquinaAcesso 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
DEMODescobrindo a senha de quem usa as
demos do Baltieri como padrão
NetworkIPs e Acesso ExternoHTTPS/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
DEMOInterceptando requisições com
Fiddler
Segurança na APIAutenticaçãoAtributos
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
Bearer Auth Realiza autenticação através de Tokens Seu login gera um token A cada requisição o token é enviado e validado
DEMOInterceptando requisições básicas e
obtendo as senhas
DEMOImplementando Bearer Auth com
WebAPI
DEMOImplementando Bearer Auth com
NodeJs
Dúvidas
OBRIGADO