O que é
Pipeline de processamento de dados de tráfego de rede (NetFlow dumps) em larga escala, usado como insumo para um sistema de detecção e mitigação de ataques DDoS. Para cada registro de tráfego, o sistema resolve a geolocalização dos IPs de origem e destino e entrega dados limpos e estruturados para consumo por outros sistemas.
Desafio
Processar milhões de linhas de dados de tráfego dentro de uma janela de até 5 minutos, sob restrições rígidas de tempo e memória. Além do volume, cada linha exigia um lookup de geolocalização de IP, o que tornava o processamento em Python puro inviável dentro do SLA exigido.
Solução
- Arquitetura híbrida com Python como orquestrador (controle de fluxo, agregação e formatação dos dados) e Cython para acelerar os trechos críticos — tanto no parsing dos dumps de NetFlow quanto no lookup de geolocalização.
- Uso da base MaxMind GeoIP para resolver a geolocalização de IPs de origem e destino em escala.
- Processamento paralelo para lidar com o volume de dados dentro da janela de tempo disponível, mantendo o uso de memória sob controle.
- Limpeza e padronização dos dados de saída, gerando datasets estruturados usados posteriormente para alimentar presets do sistema anti-DDoS.
Resultado
Pipeline capaz de processar grandes volumes de tráfego de rede dentro do SLA de tempo exigido, fornecendo dados geolocalizados e limpos como base para decisões automatizadas de mitigação de ataques.
Stack técnica
- Python
- Cython
- MaxMind GeoIP
- SQLite
- Processamento paralelo / multiprocessing
Destaques técnicos
- Otimização de trechos críticos com Cython para atingir performance próxima de C em Python
- Lookup de geolocalização de IP em escala (milhões de registros) dentro de janela de tempo restrita
- Processamento paralelo para equilibrar velocidade e uso de memória
- Pipeline de limpeza e padronização de dados para consumo por sistemas downstream de segurança