
Instalação do Qemu e Virt Manager
Comandos Linux
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager -y
sudo usermod -aG libvirt rhennan
Os cálculos de limites no FastNetMon para grupos de hosts (hostgroups) são baseados na capacidade de tráfego e na infraestrutura que cada grupo representa. Esses limites, como pps (pacotes por segundo), mbps (megabits por segundo) e flows (número de fluxos únicos), são definidos para identificar e mitigar anomalias, como ataques DDoS, que poderiam saturar os recursos disponíveis.
Vamos entender cada aspecto:
Velocidade da Rede e Limites Configurados
Os limites de banda e pacotes são proporcionalmente ajustados à capacidade total da infraestrutura de cada grupo:
threshold_mbps: Este parâmetro define o limite de tráfego permitido em megabits por segundo. Por exemplo:
1G ACME: 850 Mbps (limite próximo a 85% da capacidade total de 1 Gbps). Isso é típico para evitar saturação completa e permitir espaço para tráfego legítimo.
C10: 1400 Mbps em redes que têm capacidade maior que 10 Gbps.
Fórmula aproximada:
threshold_mbps = capacidade_total (em Mbps) * fator_de_segurança.
O fator de segurança (como 0,85 ou 0,9) garante que o tráfego legítimo ainda funcione durante picos.
threshold_pps: O limite de pacotes por segundo depende da capacidade do hardware de processar pacotes. Isso varia conforme:
Tipo de tráfego (muitos pacotes pequenos ou poucos pacotes grandes).
Hardware do roteador/switch.
Fórmula aproximada:
threshold_pps = média_esperada_de_pacotes_por_fluxo * limite_flows.
Por exemplo, se cada fluxo utiliza cerca de 5.000 pacotes por segundo em média:
1G ACME: 80000 pps (~16 fluxos simultâneos a 5.000 pps).
C10: 180000 pps (~36 fluxos simultâneos).
threshold_flows: Este limite controla o número de fluxos únicos permitidos. Um fluxo é definido por uma combinação de IPs, portas, e protocolos. Ataques DDoS volumétricos normalmente criam milhares de fluxos para sobrecarregar dispositivos.
Exemplo:
1G ACME: limite de 15 fluxos (tráfego controlado).
C10: limite de 70 fluxos (infraestrutura maior pode lidar com mais conexões simultâneas).
Razão entre Velocidade e Limites
A razão entre velocidade (Mbps) e os limites (pps e flows) reflete o tipo de tráfego esperado:
Em redes de alta capacidade (10G), o tráfego costuma ser de pacotes grandes e menos fragmentados, levando a valores maiores de Mbps em relação a pps.
Já em redes menores (1G), um ataque pode saturar facilmente com um número menor de pacotes.
Por isso, os limites são ajustados proporcionalmente à infraestrutura:
Mais velocidade → limites maiores para pps e flows.
Menos velocidade → limites mais baixos para evitar saturação.
Exemplo de Cálculo
Se você tem uma capacidade total de 1 Gbps (1000 Mbps), o cálculo seria algo como:
Definir limite seguro (85% da capacidade): 1000 * 0,85 = 850 Mbps.
Estimar número de fluxos simultâneos que a rede suporta: Por exemplo, 15 fluxos.
Assumir tamanho médio dos pacotes e velocidade por fluxo:
Tamanho médio: 1000 bytes (~8000 bits/pacote).
Velocidade por fluxo: 850 Mbps / 15 fluxos = ~57 Mbps/fluxo.
PPS esperado por fluxo:
Velocidade por fluxo ÷ tamanho do pacote
57000000 ÷ 8000 = 7125 pps.
Para 15 fluxos: 7125 * 15 = ~80.000 pps.
Essa abordagem dá os limites configurados:
850 Mbps.
80.000 PPS.
15 fluxos.
Como Usar Isso
Você pode ajustar os limites conforme:
Capacidade do hardware (roteadores e switches).
Perfil do tráfego esperado (tamanho médio dos pacotes, número de conexões).
Margem de segurança para tráfego legítimo.
Exemplos de perfil de bloco:
## Group 1G ACME
hostgroup = hosts_850_acme: 13.0.0.0/24
hosts_850_acme_enable_ban = on
hosts_850_acme_ban_for_pps = on
hosts_850_acme_ban_for_bandwidth = on
hosts_850_acme_ban_for_flows = on
hosts_850_acme_threshold_pps = 80000
hosts_850_acme_threshold_mbps = 850
hosts_850_acme_threshold_flows = 15
### CLIENTES C5 - MAIORES QUE 5G DE BANDA
hostgroup = c5_hosts: 13.0.0.0/24
c5_hosts_hosts_enable_ban = on
c5_hosts_hosts_ban_for_pps = on
c5_hosts_hosts_ban_for_bandwidth = on
c5_hosts_hosts_ban_for_flows = on
c5_hosts_hosts_threshold_pps = 170000
c5_hosts_hosts_threshold_mbps = 1300
c5_hosts_hosts_threshold_flows = 60
### CLIENTES C10 - MAIORES QUE 10G DE BANDA
hostgroup = c10_hosts: 13.0.0.0/24
c10_hosts_hosts_enable_ban = on
c10_hosts_hosts_ban_for_pps = on
c10_hosts_hosts_ban_for_bandwidth = on
c10_hosts_hosts_ban_for_flows = on
c10_hosts_hosts_threshold_pps = 180000
c10_hosts_hosts_threshold_mbps = 1400
c10_hosts_hosts_threshold_flows = 70
Neste curso, vamos explorar de forma geral como funciona um dos métodos de mitigação de ataques DDoS. Ele foi especialmente desenvolvido para pessoas que não possuem conhecimento prévio sobre o tema, com o objetivo principal de explicar de maneira clara e acessível a essência de um sistema de mitigação.
O foco será apresentar um estudo de caso prático sobre a mitigação de ataques DDoS, utilizando ferramentas e sistemas open-source. Este curso serve como uma introdução para que você adquira uma base sólida sobre o funcionamento de uma mitigação. Embora abordemos alguns conceitos de roteamento, este não será o foco principal.
Você aprenderá a integrar diferentes componentes para monitorar e mitigar ataques DDoS de forma eficiente, reduzindo o impacto de ataques cada vez mais sofisticados. Com o avanço do uso de inteligência artificial para criar ameaças mais complexas — popularmente conhecidas como "bad IA" —, torna-se essencial estar preparado para enfrentar esses desafios.
"Se você conhece o inimigo e conhece a si mesmo, não precisa temer o resultado de cem batalhas. Se você se conhece, mas não conhece o inimigo, para cada vitória ganha, sofrerá também uma derrota. Se você não conhece nem o inimigo nem a si mesmo, perderá todas as batalhas."
— Sun Tzu