Palestras

Veja os slides de minhas apresentações em eventos

Protegendo suas variáveis sensíveis no deploy

Você faz ideia de quantas senhas, credenciais e outros dados sigilosos estão configurados nas variáveis de ambiente de seu sistema de CD? Já imaginou o que aconteceria se alguma conta de serviço fosse comprometida e você precisasse alterar os valores em todos seus repositórios? Ao invés desse trabalho manual, irei mostrar uma abordagem criando um serviço de vault para centralizar suas credenciais e um plugin para consultar essas informações no momento do deploy, utilizando o GitLab como demonstração.

Criando APIs seguras

Com a disseminação do uso de microserviços, vários aspectos de segurança em nossas APIs precisam ser repensados, pois um simples problema pode ser escalado a níveis preocupantes. Veremos sobre:
  • Conceitos de autenticação e autorização;
  • Melhores práticas no uso de access tokens;
  • Aplicação de throttling e rate limiting;
  • Camuflagem de IDs sequencias;
  • Criptografando e assinando a requisição para evitar tampering.

Sistemas Seguros em PHP

Como aplicar as melhores medidas para protegermos nossos sistemas em PHP, pensando em questões de segurança além dos exemplos mais comuns encontrados, que muitas vezes são resolvidos pelos próprios frameworks?
Pontos que serão abordados:
  • Enumeração de usuários;
  • Gerenciamento de sessão;
  • Melhores práticas de validação de entradas;
  • Runtime application self-protection;
  • Armazenamento e políticas de senhas.

libsodium no PHP 7

A libsodium é uma biblioteca moderna de criptografia e foi incluída no core do PHP 7.2, o que representa um posicionamento muito interessante da comunidade no quesito de segurança. Veremos como utilizar essa lib para:
  • Geração de dados aleatórios
  • Prevenção de timing attacks
  • Criptografia simétrica (secret key)
  • Criptografia assimétrica (par de chaves: pública e privada)
  • Hashing para autenticidade de mensagens e criação de senhas
  • Criptografia com autenticidade

Boas Práticas

SOLID, Object Calisthenics e Clean Code são termos que fazem parte da vida de um programador, mas é comum vermos que no dia-a-dia nem tudo sempre segue a teoria. Veremos como aplicar esses conceitos na prática mostrando trechos de códigos e exemplos de como refatorar o que já foi feito.

PHP fora da Web

O PHP foi inicialmente feito para a Web, mas também podemos utilizá-lo para criar CLI scripts e até mesmo daemons. É lógico que existem linguagens focadas para isso, mas em alguns cenários podemos aproveitar os códigos PHP já existentes no backend e também a experiência dos programadores da equipe. Iremos ver:
  • Como lidar com argumentos para scripts e roteá-los para comandos;
  • Como criar mecanismos de controle e execução de processos externos e em background;
  • Como ter códigos que sejam reaproveitáveis entre ambientes.

Criando Mecanismos de Autenticação Seguros

Uma das partes mais básicas de um sistema é seu processo de login. E por ser algo que não agrega valor direto ao negócio, acabamos não gastando o tempo necessário para criar um fluxo realmente seguro, fazendo com que ele se torne o principal vetor de ataques de nossa aplicação. Iremos aprender:
  • Como criar mecanismos seguros de autenticação;
  • Utilizando CSRF de forma correta;
  • CAPTCHA;
  • Duplo fator de autenticação;
  • Prevenção à enumeração de usuários;
  • Autenticação em APIs;
  • Funções "Permanecer logado" e "Esqueci a senha".
12-Factor Apps

12-Factor Apps

É comum nos depararmos com algumas dificuldades quando precisamos preparar nosso sistema para que ele seja escalável e de fácil manutenção, principalmente em arquiteturas de (micro)serviços. O 12-Factor App é um documento que elenca 12 fatores que permitem facilitar a criação, manutenção e escalabilidade de uma aplicação. Iremos ver esses conceitos e também como aplicá-los.

Criptografia com PHP

Prática e estudo que consiste em transformar uma informação (texto claro) em um código cifrado, para que apenas as pessoas/sistemas escolhidos possam decifrar. Pontos abordados:
  • Tipos de criptografia (simétrica e assimétrica);
  • Cifras e modos de operação;
  • Geradores de aleatoriedade e vetores de inicialização;
  • Hashing;
  • Assinaturas.

Expressive com OAuth 2 e JWT

O Zend Expressive é o micro-framework da Zend que implementa a PSR-7, lançado oficialmente em 2016. A versão 2 foi lançada em março de 2017 e tem recebido bastante destaque desde então. Aprenda sobre middlewares, controllers, factories e injeção de dependências via containers. Entenda OAuth2 e como utilizá-lo para realizar a autorização de APIs, usando JSON Web Tokens (JWT) para lidar com access tokens.
Carreira e Empreendedorismo

Carreira e Empreendedorismo

Esses dois caminhos são extremamente opostos, certo? Para empreender, preciso abrir mão da minha carreira atual? Em muitos casos, não! Veremos exemplos de como podemos extrair o melhor de cada caminho para aliarmos inovação e o sentimento de realizar algo próprio sem abrir mão da carreira em alguma empresa.

Artigos

Materiais que escrevi ao longo dos anos