Skip to content

05 - Infraestrutura e Segurança


1. Ambiente de Execução (Docker-Compose)

A arquitetura é baseada em containerização para garantir consistência entre desenvolvimento e produção:

  • Isolamento de Redes: Todos os serviços comunicam-se através de uma bridge network privada (foconopreco-network), sem expor portas de banco de dados (db) ou filas (redis) para a internet.
  • Volumes Persistentes: Dados críticos, como arquivos de banco de dados (dbdata) e configurações de IA, são mapeados para volumes persistentes locais, garantindo que atualizações de imagem ou remoção de containers não causem perda de dados.
  • Secret Management: Utilizamos docker secrets para gerenciar senhas sensíveis (ex: DB_PASSWORD, MAIL_PASSWORD), evitando que credenciais fiquem expostas no arquivo .env ou versionadas no repositório.

2. Segurança da Informação

A proteção dos dados e a integridade da plataforma seguem as seguintes diretrizes:

  • Blindagem de API:
    • A URL do Flowise é interna (http://flowise:3000), garantindo que o tráfego com a IA não trafegue pela rede pública.
    • O uso de tokens de API (X-API-KEY) é obrigatório para qualquer acesso externo ao sistema de conteúdo.
  • Monitoramento e Observabilidade:
    • Integração com Sentry para rastreamento de erros em tempo real (DSN configurado no .env).
    • Logs centralizados no storage/logs/laravel.log, acessíveis para auditoria.
  • Gerenciamento de Acesso:
    • O controle de acesso é baseado em Roles (role:mestre, role:admin), garantindo que funcionalidades críticas (como exclusão de logs ou configuração de tokens) estejam protegidas.
    • O Session Security está configurado para secure e same-site=lax, prevenindo ataques de CSRF e garantindo que cookies de sessão sejam transmitidos apenas via HTTPS.

3. Manutenção e Resiliência

  • Self-Healing: O container app possui uma rotina de monitoramento via scheduler que verifica a saúde do sistema.
  • Configurações de Produção:
    • APP_DEBUG=false para evitar exposição de stack traces.
    • HTTPS forçado via APP_URL e configurações de webserver (Nginx), garantindo que todo o tráfego seja criptografado.