Compartilhe:

Em meio a ataques de negação de serviço distribuídos que assolam os servidores web, precisamos tomar medidas para que nossa infraestrutura não seja prejudicada e também para não perdermos nossos empregos. Atualmente temos a nossa disposição diversos serviços para pelo menos tentar mitigar estes ataques. São eles: Cloudflare, Incapsula, AWS Shield, Akamai. F5 e muitos outros.

E se nós mesmos quiséssemos implantar uma solução anti-DDoS?

nShield e Iptables

O nShield é uma solução simples Anti-DDoS baseada em iptables para VPS, servidores dedicados e dispositivos IoT (Internet das Coisas). O Iptables é a ferramenta que permite a criação de regras de firewall. O Netfilter é um módulo do kernel do Linux que fornece as funções de firewall, NAT e log dos dados para o Iptables. Iptables não é um firewall, e sim uma interface para trabalhar com os recursos de firewall fornecidos pelo Netfilter.

Requerimentos para instalação

  • Uma distribuição Linux com Iptables;
  • Python;
  • Nginx (Será instalado automaticamente pelo script install.sh).

Instalação rápida

Siga os seguintes passos:

Tenha em mente que o script install.sh substituirá todas as suas regras de Iptables atuais.

Como usar

O script da instalação acima instalará o suporte ao Python caso não esteja presente e fará o download de todo o repositório com exemplos de arquivos de configuração, em seguida executará o script para realizar algumas configurações e uma rotina na cron que executará a cada 30 minutos para checar as conexões com bases nas configurações de IPs (IPSET). Você pode encontrar exemplos de arquivos de configuração no diretório examples.

A verificação manual do HTTPS é executada com este comando dentro do diretório do repositório:

O script Python após verificar a configuração, solicitará que você informe um endereço de e-mail (para o Let´s Encrypt por exemplo) e mudará o domínio de seu DNS para o nShield server e fará um pedido de confirmação para o SSL DNS. Exemplo:

Agora seu domínio está verificado e um certificado SSL é emitido para a configuração do Nginx. Você poderá alterar o registro A de seu DNS para este servidor.

Como funciona?

Basicamente este script é configurado por padrão para ser executado a cada 30 minutos para verificar o arquivo de configuração a fim de que as seguintes operações sejam executadas:

  • Obter as últimas listas de BOTs, Spammers, reputação de IPs/Redes suspeito(a)s e verificar se esses caras estão atacando seu servidor (valeu FireHol http://iplists.firehol.org/);
  • Habilitar métodos Anti-DDoS básicos para negar tráfego indesejado/mal-intencionado;
  • Limitar a taxa da banda quando estiver sob ataque;
  • Permitir que seja executado um proxy HTTPS para proteger o seu site através de um proxy/servidor externo (Você precisa executar manualmente a verificação do SSL pela primeira vez).

Repositório do nShield:

https://github.com/fnzv/nShield

Fonte:

https://n0where.net/anti-ddos-solution-based-on-iptables-nshield/

O que achou deste artigo? Fique a vontade para enviar nos comentários as suas dúvidas ou críticas.

Compartilhe: