Visão Geral


Um ataque distribuído de negação de serviço (DDoS) é uma das armas mais poderosas da Internet. Quando você ouve sobre um site sendo “derrubado por hackers”, geralmente significa que ele foi vítima de um ataque DDoS. Resumindo, isso significa que os hackers tentaram tornar um site ou computador indisponível inundando ou travando o site com muito tráfego.


Em um ataque DDoS, o tráfego de entrada que inunda a vítima se origina de várias fontes diferentes. Isso torna impossível interromper o ataque simplesmente bloqueando uma única fonte.


Este artigo fornece instruções sobre como ativar as medidas de proteção no Kerio Control contra esse tipo de ataque.


Pré-requisitos



Processo


Para proteger sua rede contra ataques DDoS, siga as etapas abaixo para atualizar as configurações no Kerio Control:


  1. Faça login no console do Kerio Control via SSH
  2. Execute o seguinte comando:
    • mount -o rw,remount /
  3. Abra o arquivo /etc/sysctl.conf via Nano ou Vim:
    • nano /etc/sysctl.conf

    • vi /etc/sysctl.conf

  4. Descomente cada uma das seguintes linhas removendo # antes de cada linha: 

    • Habilitar filtragem de caminho reverso para a interface padrão: net.ipv4.conf.default.rp_filter=1 

      • Definir esse flag é uma boa maneira de impedir que invasores enviem pacotes falsos ao seu sistema que não podem ser respondidos. Uma instância em que esse recurso falha é se o roteamento assimétrico for empregado. Isso ocorreria ao usar protocolos de roteamento dinâmico (bgp, ospf, etc) em seu sistema. Se você estiver usando roteamento assimétrico em seu sistema, não poderá habilitar esse recurso sem interromper o roteamento.

    • Mesmo que acima, aplicado a todas as interfaces: net.ipv4.conf.all.rp_filter=1 

    • Habilita o mecanismo SYN Cookies para verificar conexões: net.ipv4.tcp_syncookies=1 

      • Quando tcp_syncookies é definido, o kernel irá lidar com pacotes TCP SYN normalmente até que a fila de conexão semi-aberta esteja cheia, momento em que a funcionalidade do cookie SYN entra em ação. Os cookies SYN funcionam não usando a fila SYN. Em vez disso, o kernel simplesmente responde ao SYN com um SYN|ACK, mas incluirá um número de sequência TCP especialmente criado que codifica o endereço IP de origem e destino, o número da porta e a hora em que o pacote foi enviado. Uma conexão legítima terminaria o pacote ACK do handshake de três vias com o número de sequência especialmente criado. Isso permite que o sistema verifique se recebeu uma resposta válida para um cookie SYN e permite a conexão, mesmo que não haja SYN correspondente na fila. Justificativa: Os invasores usam ataques de inundação SYN para executar um ataque de negação de serviço em um sistema enviando muitos pacotes SYN sem concluir o aperto de mão de três vias. Isso usará rapidamente os slots na fila de conexão semi-aberta do kernel e impedirá que conexões legítimas sejam bem-sucedidas. Os cookies SYN permitem que o sistema continue aceitando conexões válidas, mesmo sob um ataque de negação de serviço.

    • Após a modificação, o arquivo deve ficar assim:

  5. Salve o arquivo pressionando Ctrl+O.

  6. Reinicie o Kerio Control usando o seguinte comando:

    • /etc/boxinit.d/60winroute restart 

  7. (Opcional) Dependendo da configuração/ambiente da sua rede, é possível melhorar ainda mais a segurança do firewall. Siga esses passos:

    • Descomente as seguintes linhas no arquivo /etc/sysctl.conf:

      net.ipv4.conf.all.accept_redirects=0 Bloquear redirecionamentos ICMP
      Os invasores podem usar mensagens falsas de redirecionamento ICMP para alterar maliciosamente as tabelas de roteamento do sistema e fazer com que enviem pacotes para redes incorretas e permitir que os pacotes do sistema sejam capturados.

      net.ipv6.conf.all.accept_redirects=0 Bloquear redirecionamentos IPv6 ICMP

      net.ipv4.conf.all.secure_redirects=0 Bloquear redirecionamentos ICMP seguros
      Ainda é possível que até mesmo gateways conhecidos sejam comprometidos. Definir net.ipv4.conf.all.secure_redirects como 0 protege o sistema de atualizações da tabela de roteamento por gateways conhecidos possivelmente comprometidos.

      net.ipv4.conf.all.send_redirects=0 Certifique-se de que o envio de redirecionamento de pacotes esteja desabilitado

      Redirecionamentos ICMP são usados para enviar informações de roteamento para outros hosts. Como um host em si não atua como um roteador (em uma configuração somente de host), não há necessidade de enviar redirecionamentos.

      Justificativa:

      Um invasor pode usar um host comprometido para enviar redirecionamentos ICMP inválidos para outros dispositivos roteadores em uma tentativa de corromper o roteamento e fazer com que os usuários acessem um sistema configurado pelo invasor em vez de um sistema válido.

      net.ipv4.conf.all.accept_source_route=0 Bloquear pacotes roteados pela origem
      Definir net.ipv4.conf.all.accept_source_route e net.ipv4.conf.default.accept_source_route como 0 desabilita o sistema de aceitar pacotes roteados de origem. Suponha que esse sistema seja capaz de rotear pacotes para endereços roteáveis da Internet em uma interface e endereços privados em outra interface. Suponha que os endereços privados não sejam roteáveis para os endereços roteáveis da Internet e vice-versa. Em circunstâncias normais de roteamento, um invasor dos endereços roteáveis da Internet não poderia usar o sistema como uma forma de acessar os sistemas de endereços privados. Se, no entanto, os pacotes roteados de origem fossem permitidos, eles poderiam ser usados para obter acesso aos sistemas de endereços privados, pois a rota poderia ser especificada, em vez de depender de protocolos de roteamento que não permitissem esse roteamento.

      net.ipv6.conf.all.accept_source_route=0 Bloquear pacotes IPv6 roteados na origem

      net.ipv4.conf.all.log_martians=1 Certifique-se de que os pacotes suspeitos sejam registrados

      Quando ativado, esse recurso registra pacotes com endereços de origem não roteáveis para o kernel

      registro.

      Justificativa:

      Habilitar esse recurso e registrar esses pacotes permite que um administrador investigue o

      possibilidade de que um invasor esteja enviando pacotes falsificados para seu sistema.

    • Reinicie o Kerio Control usando o comando na Etapa 6.


Informações adicionais

As etapas a seguir são soluções alternativas para proteção DDOS que podem ser executadas no Kerio Control Webadmin ou SSH:

  1. Pesquise a localização do IP dos invasores para identificar onde eles estão e adicione os países à lista de filtros Geo IP. Para encontrar o endereço IP, procure no log de segurança, por exemplo:[01/Nov/2019 18:54:58] IPS: Port Scan, protocolo: TCP, origem: 1.1.1.1, destino: x.x.x.x,[01/nov/2019 18:55:20] IPS: queda de pacote, gravidade: lista negra, ID da regra: 1:2402000 ET DROP Dshield Block Listed Source group 1, proto:TCP, ip/port:1.1.1.1:47834 - > x.x.x.x:37980 (onde x.x.x.x é o endereço IP dos invasores)
  2. Desconecte o Kerio Control por 20 a 30 minutos para que os invasores sejam redirecionados para um alvo diferente.


  3. Crie um grupo de endereços IP com a rede IPV4 e insira-o na regra de tráfego para bloquear o tráfego indesejado.

  4. Aumente os limites de conexão

  5. Diminua a variável DefaultTcpTimeout para reduzir o tempo limite de TCP para sessões sem um keep-alive:


Observação: o valor de tempo limite TCP padrão é 40 e deve ser modificado apenas como último recurso. Se você tiver alguns problemas após esta modificação, redefina o valor para o padrão (40).