Painel Nicchon.com
Painel pessoal + showcase de segurança avançada. Cofre AES-256-GCM com crypto-agility online, 2FA TOTP RFC 6238 do zero, 3 camadas de detecção de ataques.
Painel pessoal de gestão + portfolio + showcase de features de segurança avançadas — virou case real pra propostas de auth/cibersegurança/painel admin. PHP 8 puro (PDO + prepared statements, zero ORM, padrão singleton) + Next.js frontend estático em Hostinger compartilhada barata. SEM composer.json — TODAS as primitivas (TOTP, crypto, QR, PDO, sessions) implementadas com built-in do PHP. Auditoria de segurança formal executada com 5 críticas + 11 altas + 15 médias mapeadas, executadas em sprints, com sistema próprio de migrations idempotentes versionadas em DB e rodadas via UI logada.
- PHP 8 (PDO puro, sem ORM)
- Next.js (estático)
- MySQL
- Hostinger (shared)
- Sistema próprio de migrations idempotentes
- Cofre cifrado AES-256-GCM com crypto-agility online: versionamento de blob com prefixo v1/v2, re-cifragem transacional on-unlock, master password separada da senha de login, master cifrada em sessão com session key dividida entre $_SESSION e cookie HttpOnly+SameSite=Strict (defesa contra dump de /tmp em shared hosting onde tenants compartilham /tmp/sess_*). Padrão raro de ver.
- PBKDF2 100k (v1) → 600k (v2) com migração online idempotente transacional, sessões ativas continuam funcionando.
- 2FA TOTP RFC 6238 implementado do zero (~70 linhas) com Base32 in-house e hash_equals timing-safe. Secret cifrado server-side via HKDF de PAINEL_SESSAO_KEY (prefixo ss1:) — dump puro do DB não recria 2FA. QR code renderizado client-side com lib local (sem vazar pra api.qrserver.com).
- Trust device com rotação de token bcrypt-hashado a cada uso, janela de tolerância 30s pra requests concorrentes, reuso fora da janela revoga TODOS os trust devices da conta + dispara alerta WhatsApp.
- 3 camadas de detecção de ataques com 11 tipos de alerta WhatsApp distintos (brute force, login IP novo, trust device suspeito, honeypot tocado, endpoint bloqueado, cofre destravado IP novo, senha trocada, master trocada, backup OK/falhou). Dedup persistente em DB com cooldowns configuráveis.
- Honeypots em ~20 paths via .htaccess rewrite (wp-admin, phpmyadmin, .env, .git, .aws, .ssh, Exchange, Fortinet) respondendo HTML/JSON plausível por categoria. Threshold de 5 hits/10min anti-ruído de crawler legítimo.
- Cobranças automáticas próprias com PIX recorrente e lembretes via WhatsApp (cron + templates por dias_offset) — sem dependência de Asaas, gestão própria.
- Headers de segurança completos via public/painel/.htaccess: CSP, HSTS preload, X-Frame-Options DENY, X-Content-Type-Options, Referrer-Policy, Permissions-Policy + bloqueio de _*.php, setup-*, diag-*, *.template, *.json, *.log, *.gz, *.sql.
- Defesa contra dump de /tmp em shared hosting Hostinger onde tenants compartilham /tmp/sess_*: master cifrada com session key dividida entre $_SESSION e cookie HttpOnly. Atacante precisa comprometer servidor E browser simultaneamente.
- TOTP recovery via WhatsApp com rate limit em DB (3/h, cooldown 60s) que desativa o 2FA pós-uso — recovery descartável, não pode virar backdoor.
- Sistema próprio de migrations idempotentes versionadas em DB, executadas via UI logada — sem CLI/SSH em hosting compartilhado.
- PWA do painel com manifest.webmanifest e service-worker.js — mesmo em hosting limitado, app-shell rápido.