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 secretspara gerenciar senhas sensíveis (ex:DB_PASSWORD,MAIL_PASSWORD), evitando que credenciais fiquem expostas no arquivo.envou 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.
- A URL 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.
- Integração com Sentry para rastreamento de erros em tempo real (DSN configurado no
- 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 Securityestá configurado parasecureesame-site=lax, prevenindo ataques de CSRF e garantindo que cookies de sessão sejam transmitidos apenas via HTTPS.
- O controle de acesso é baseado em Roles (
3. Manutenção e Resiliência
- Self-Healing: O container
apppossui uma rotina de monitoramento viaschedulerque verifica a saúde do sistema. - Configurações de Produção:
APP_DEBUG=falsepara evitar exposição de stack traces.HTTPSforçado viaAPP_URLe configurações dewebserver(Nginx), garantindo que todo o tráfego seja criptografado.