blog
Trocando de domínio em produção: quando a ordem dos passos quebra tudo
Migrei rbacuri.dpdns.org (domínio dinâmico compartilhado, com reputação manchada) pra um domínio próprio — e boa parte do trabalho real foi descobrir em que ordem cada passo podia ser dado sem derrubar login, QR code físico já impresso, ou analytics.
Migrando pro WSL2: a regra de permissão que eu quase adicionei errado
Trocar o Claude Code CLI de Windows nativo pra WSL2 trouxe sandboxing de verdade — e me fez descobrir, na documentação oficial, por que um padrão de allowlist que eu ia usar é conhecido por ser contornável.
Auditando meu próprio SaaS: uma injeção de vCard e o hardening que veio depois
Rodei uma checklist estruturada de AppSec contra um projeto meu em produção e achei uma injeção real numa feature que eu mesmo escrevi — aqui está o que encontrei e como blindei.
Detecção comportamental vs. por assinatura: testando os limites do meu SIEM
Montei um servidor web isolado, ataquei ele de propósito com headers HTTP inconsistentes, e depois consegui escapar da minha própria regra de detecção — a lição sobre por que um único sinal nunca é suficiente.
Uma mensagem de MOTD 'inofensiva' e o troubleshooting de DNS que ela escondia
Um aviso cosmético no login por SSH revelou duas causas empilhadas — Tailscale mascarando um DHCP quebrado por baixo — e o comando que a maioria pula na hora de diagnosticar DNS.
Quando o firewall mente: caçando um UFW decorativo
Um firewall que reportava 'ativo' mas não filtrava nada de verdade — a investigação, os dois motivos diferentes, e a lição sobre nunca confiar só no status reportado.
Caçando gaps de detecção: testando meu SIEM com Atomic Red Team
Rodei técnicas reais do MITRE ATT&CK contra meu próprio Wazuh e encontrei um falso positivo e um gap de regra — aqui está o que aprendi.