SmartFlow — Documentação

Documentação do SmartFlow

Plataforma de análise de tráfego e proteção contra ataques DDoS para provedores e operadoras.

Este guia cobre desde a instalação em um servidor dedicado até a operação diária: arquitetura, requisitos, passo a passo de instalação, atualizações automáticas, as telas do sistema e a resolução dos problemas mais comuns.

Visão geral

O SmartFlow recebe os fluxos de tráfego dos seus roteadores (NetFlow, IPFIX ou sFlow), enriquece cada fluxo (geolocalização, ASN, reputação) e mantém uma linha de base do comportamento normal da rede. Com isso ele:

Arquitetura

O SmartFlow é entregue como um conjunto de contêineres Docker orquestrados por docker compose. Todos rodam em uma rede interna isolada; apenas o proxy reverso (Traefik) e o coletor de fluxos ficam expostos.

ComponenteFunção
Coletor de fluxosRecebe NetFlow/IPFIX/sFlow dos roteadores, normaliza e grava no banco de séries.
Backend (API)Regras de negócio: detecção, mitigação, relatórios, autenticação, integrações.
ClickHouseBanco de séries temporais que guarda os fluxos e as agregações.
GoBGP + controlador BGPEstabelece as sessões BGP e executa as ações de mitigação (FlowSpec, RTBH, desvio).
Serviço de MLTreina e pontua modelos que reforçam a detecção de anomalias.
NETCONF gatewayLê estado das sessões e interfaces dos roteadores (Huawei) para SLA e qualidade.
RedisCache e mensageria interna.
Painel, Portal e Mini AppInterfaces web (operador, cliente e Telegram).
TraefikProxy reverso: termina o HTTPS (Let's Encrypt) e roteia por subdomínio.

Distribuição por imagem. O servidor não guarda o código-fonte: ele baixa imagens prontas de um registro privado e se mantém atualizado sozinho. Veja Atualizações e canais.

Requisitos do servidor

O SmartFlow roda em um servidor dedicado (físico ou virtual) sob seu controle.

Hardware recomendado

RecursoMínimoRecomendado
vCPU48 ou mais
Memória RAM8 GB16–32 GB
Disco (SSD)100 GB500 GB+ conforme a retenção desejada
RedeAlcance aos roteadores exportadores e à internet (para atualização e certificados).

O dimensionamento do disco depende do volume de fluxos e do período de retenção. O sistema tem poda automática do volume; ainda assim, planeje o disco para o histórico que você quer manter.

Sistema operacional e dependências

Portas

PortaProtocoloUso
80, 443TCPWeb (HTTP redireciona para HTTPS). Precisa estar acessível para emitir o certificado.
2055, 9995UDPNetFlow (v5/v9) — coleta de fluxos dos roteadores.
4739UDPIPFIX.
6343UDPsFlow.
179TCPBGP (sessões com os roteadores, para mitigação).

Segurança. Exponha à internet apenas 80 e 443. As portas de fluxo e BGP devem ficar restritas à sua rede interna (roteadores). O acesso administrativo ao servidor deve ser por chave SSH, nunca por senha.

DNS e domínios

O SmartFlow usa quatro subdomínios de um domínio que você escolher (representado abaixo como seu-dominio). Todos devem apontar (registros A/AAAA) para o IP do servidor antes da instalação — é isso que permite emitir o certificado HTTPS.

SubdomínioUso
seu-dominioPainel do operador.
api.seu-dominioAPI do backend.
portal.seu-dominioPortal do Cliente.
miniapp.seu-dominioMini App do Telegram.

Instalação

A instalação é feita por linha de comando, como root (ou com sudo), no servidor já preparado. Você recebe do fornecedor um token de acesso ao registro, exclusivo da sua instalação.

1

Instalar o Docker

Se o servidor ainda não tem Docker, instale o Engine e o plugin compose seguindo a documentação oficial do Docker. Confirme com:

docker version
docker compose version
2

Autenticar no registro

Use o token que você recebeu (o usuário tem o formato robot$smartflow+cliente-<nome>):

docker login registry.l7.net.br -u 'robot$smartflow+cliente-SEU-NOME'
# cole o token quando for solicitada a senha

Esse token só baixa imagens e é exclusivo da sua instalação. Guarde-o com segurança; ele pode ser revogado e reemitido a qualquer momento.

3

Obter o instalador

O instalador acompanha o pacote de release. Extraia-o do canal desejado (Beta para começar):

docker create --name sf registry.l7.net.br/smartflow/release:beta /none
docker cp sf:/release/deploy/install.sh .
docker rm sf
4

Executar a instalação

Informe o seu domínio e o canal. O instalador gera as senhas internas, sobe todos os serviços e configura a atualização automática:

sudo bash install.sh --domain seu-dominio --channel beta

Opções aceitas:

OpçãoDescrição
--domainObrigatório. Domínio base (painel em seu-dominio, API em api.seu-dominio).
--channelbeta ou stable (padrão). Veja canais.
--brandNome exibido no Portal do Cliente.
--dirDiretório de instalação (padrão /opt/smartflow).

A primeira subida pode levar alguns minutos, porque o servidor baixa todas as imagens. Ao final, o instalador mostra os endereços de acesso.

5

Conferir

Acesse https://seu-dominio no navegador. O certificado HTTPS é emitido automaticamente na primeira vez (pode levar até um minuto). Se algo não subir, veja Troubleshooting.

Primeiro acesso

Ao abrir o painel pela primeira vez, entre com as credenciais de administrador fornecidas na entrega. Recomenda-se, logo no primeiro acesso:

  1. Trocar a senha do administrador.
  2. Criar os usuários da equipe com os papéis adequados (veja abaixo).
  3. Cadastrar os roteadores exportadores e os prefixos protegidos.

Papéis de usuário

O acesso é controlado por papel: o administrador configura o sistema; o operador acompanha e age sobre incidentes; papéis de NOC (N1/N2) e de visualização/auditoria dão acesso graduado. As telas visíveis também podem ser restringidas por usuário em Configurações → Usuários.

Configuração inicial

1. Exportadores (roteadores)

Em Configurações → Exportadores, cadastre cada roteador que envia fluxos: IP de origem, taxa de amostragem e credenciais SNMP/NETCONF (para SLA e qualidade). Aponte o NetFlow/IPFIX/sFlow do roteador para o IP do servidor nas portas indicadas em Requisitos.

2. Prefixos

Em Configurações → Prefixos, cadastre os blocos IP da sua rede e dos seus clientes. O sistema descobre automaticamente os prefixos de um ASN e permite marcar quais são protegidos (alvo de detecção e mitigação) e dar apelidos aos blocos.

3. BGP

Em BGP → Configuração Global, defina o AS local e o router-id, e cadastre as sessões com os roteadores. A mitigação por BGP só age depois que as sessões estão estabelecidas.

Mitigação em produção. A mitigação começa em modo de simulação. Só ligue o modo real (live) após validar as regras, os alvos e o desvio para scrubbing.

Atualizações e canais

O SmartFlow se atualiza sozinho: a cada minuto ele verifica se há uma versão nova no seu canal e, havendo, avisa os usuários conectados e se atualiza. As versões seguem o formato ANO.MÊS.DIA.N e nunca retrocedem.

Os três canais

CanalPara quê
EstávelVersões liberadas para produção. Recomendado.
BetaVersões já validadas em desenvolvimento, antes de chegarem ao Estável.
DesenvolvimentoCada alteração assim que publicada. Pode ter instabilidade.

O canal é escolhido em Configurações → Atualizações. A tela mostra a versão instalada, a versão disponível em cada canal e o histórico de atualizações.

Sem retrocesso. Ao mudar para um canal mais estável, o servidor mantém a versão atual e só volta a atualizar quando aquele canal alcançar uma versão mais nova. Isso preserva a integridade do banco de dados.

Telas do sistema

TelaO que faz
DashboardVisão geral: tráfego, KPIs, alertas e trânsito/upstreams.
TráfegoAnálise por prefixo, ASN, país, CDN, portas, downstreams e origem.
DDoSAnomalias detectadas, análise do ataque, políticas e postura de mitigação, desvios.
IncidentesPainel de incidentes com reconhecimento, comentários e ações.
BGPSessões, rotas, FlowSpec, desvio por AS e qualidade por peer.
Looking GlassConfirma a propagação dos desvios de mitigação.
Threat IntelligenceReputação e inteligência de ameaças.
RelatóriosRelatórios de ataques e de tráfego, por período e por cliente.
ConfiguraçõesExportadores, prefixos, usuários, retenção, integrações e atualizações.

Backup e retenção

O sistema faz um backup do banco de configuração antes de cada atualização (em backups/ no diretório de instalação). A retenção do histórico de tráfego é configurável em Configurações → Retenção, com poda automática do volume.

Para uma rotina de backup externa, copie periodicamente o diretório backend-data/ (configuração e estado) e, se desejar reter o histórico bruto, o volume do ClickHouse. Faça isso fora do horário de pico.

Troubleshooting

A página não abre / erro de certificado

O certificado HTTPS é emitido no primeiro acesso e depende dos DNS já apontando para o servidor e das portas 80/443 acessíveis pela internet. Confirme os registros A/AAAA dos quatro subdomínios e aguarde até um minuto na primeira vez.

Erros 502 logo após uma atualização

Durante uma atualização os serviços são recriados e o backend fica indisponível por cerca de um minuto — erros momentâneos no console são esperados. Recarregue a página após a conclusão.

Não aparece tráfego

Estado dos serviços

No servidor, o estado dos contêineres pode ser verificado com:

# no diretório de instalação (padrão /opt/smartflow)
docker compose ps
docker compose logs --tail=100 backend

Forçar uma verificação de atualização

Use o botão Verificar agora em Configurações → Atualizações, ou aguarde o ciclo automático (1 minuto).

Contato e suporte

Em caso de dúvida ou incidente, acione o suporte pelos canais combinados na contratação. Ao abrir um chamado, informe a versão instalada (em Configurações → Atualizações) e, se possível, os logs do serviço afetado.