Hoje vamos falar um pouco sobre BGP Flowspec e sua eficiência em mitigação de ataques DDoS.
O que é Flowspec?
BGP Flow Specification (Flowspec) está definida na RFC 5575(Dissemination of Flow Specification Rules), define a maneira como o Flowspec é usado para distribuir regras de fluxo através do protocolo BGP.
Basicamente, o Flowspec é uma extensão do protocolo BGP que permite aos roteadores aplicar regras, como ACL’s dinamicas ou regras de firewall dinamicas em tipos específicos de tráfegos. Essas regras podem ser baseadas em uma variedade de critérios, incluindo origem, destino, protocolo, porta e etc.
Abaixo vemos a tabela com todas as possibilidades de classificação do tráfego Flowspec:
BGP Flowspec NLRI Type | QoS Match Fields |
Type 1 | Destination IP / IPv6 address |
Type 2 | Source IP / IPv6 address |
Type 3 | IP / IPv6 Protocol |
Type 4 | Source or destination port |
Type 5 | Destination port |
Type 6 | Source port |
Type 7 | ICMP Type |
Type 8 | ICMP Code |
Type 9 | TCP flags |
Type 10 | Packet length |
Type 11 | DSCP |
Type 12 | Fragmentation bits |
Esses tipos de classificação ainda podem ser combinados, como por exemplo:
Fluxo com Origem 8.8.8.8/32 porta UDP 53 de origem.
Com base nas classificações de tráfego acima (da tabela ou da combinação dela como no exemplo), podemos tomar as seguintes ações:
Type | Description | PBR Action |
0x8006 | traffic-rate | Drop | Police |
0x8007 | traffic-action | Terminal Action + Sampling |
0x8008 | redirect-vrf | Redirect VRF |
0x8009 | traffic-marking | Set DSCP |
0x0800 | Redirect IP NH | Redirect IPv4 or IPv6 Next-Hop |
Como o Flowspec funciona?
Para que o FlowSpec funcione, é necessário fechar as sessões BGP FlowSpec entre a Roteador BGP chamado na Topologia de Borda e o Servidor/Roteador que gera as regras de FlowSpec que na nossa topologia é nosso Software é o Made4Flow.
Dessa forma, o FlowSpec funciona enviando uma mensagem BGP especial para o roteador. Essa mensagem contém uma lista de regras de fluxo que o roteador deve aplicar. As regras de fluxo podem ser aplicadas a todos os fluxos que passam pelo roteador ou apenas a fluxos específicos, assim como em uma regra de firewall você pode escolher a regra de firewall você pode escolher qual o fluxo você quer aplicar uma ação.
Se a sua Operadora ou seu Trânsito tiver suporte a FlowSpec, é importante solicitar as sessões BGP FlowSpec, pois assim podemos enviar as regras de FlowSpec para que sejam aplicadas diretamente nos equipamentos de sua operadora, e então o tráfego malicioso não irá chegar até nosso equipamento, evitando assim a sobrecarga seus links.
Como o FlowSpec pode ajudar contra-ataques DDoS?
Para usar FlowSpec para mitigar ataques DDoS, é necessário utilizar uma ferramenta de detecção de ataques e que gere as regras de FlowSpec como o Made4Flow.
Quando o Analisador de Rede via Netflow detecta um ataque DDoS, ela gera uma mensagem BGP especial que contém as regras de fluxo necessárias para mitigar o ataque. Essa mensagem é então enviada para o roteador, que aplica as regras e impede que o tráfego malicioso chegue até o destino final, conforme o exemplo abaixo, onde vemos uma regra de bloqueio para um IP de destino e ICMP type 0 ou 8:
Outra maneira de usar FlowSpec para mitigar ataques DDoS é usar FlowSpec para limitar a taxa de tráfego que pode ser enviada para um determinado destino. Isso pode ajudar a evitar que um ataque DDoS sature a largura de banda do destino, conforme o exemplo abaixo:
Como vimos nos exemplos acima, o FlowSpec envia regras para descartar (drop) ou então fazer um rate-limit (Controle de banda) dos prefixos ou IP(s) atacados. Assim, fazemos com que o ataque DDoS não passe do nosso Roteador de BGP/Borda para dentro da rede. Para que o FlowSpec seja mais eficaz contra os ataques DDoS é importante estabelecer uma sessão BGP FlowSpec com suas operadoras, assim aumentando a eficácia da proteção e o bloqueio pode ser feito diretamente nos equipamentos e Roteadores de sua operadora e o ataque evitando que os pacotes e tráfego cheguem até seus equipamentos evitando que seus roteadores sofram com CPU alta, sobrecarga nos links e até perca de comunicação com seus equipamentos.
Infelizmente não são todas as operadoras que oferecem sessões de BGP FlowSpec. Consulte as suas operadoras, e se possível estabeleça as sessões de BGP FlowSpec para que caso venha a passar por ataques DDoS seja possível diminuir os impactos em sua rede e aumentar sua proteção criando as regras diretamente nos roteadores dela.
Conclusão
O BGP FlowSpec é uma ferramenta eficaz que pode ser usada para mitigar ataques DDoS de todos os tamanhos. Usando FlowSpec, os administradores de rede podem direcionar o tráfego DDoS para um ponto de mitigação ou limitar a taxa de tráfego que pode ser enviada para um determinado destino.
Fique atento nos próximos artigos, pois vamos falar sobre como configurar as sessões BGP FlowSpec em diferentes fabricantes como Huawei, Juniper, Cisco, Nokia e vários outros modelos e marcas.