Image default
How To Security

nShield: Uma solução Anti-DDoS baseada no iptables

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:

$ cd ~

$ git clone https://github.com/fnzv/nShield.git bash nShield/install.sh

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:

$ sudo python nshield-main.py -ssl

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:

I Will generate SSL certs for sami.pw with Let’s Encrypt DNS challenge
Insert your email address? (Used for cert Expiration and Let’s Encrypt TOS agreement
[email protected]
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Renewing an existing certificate
Performing the following challenges:
dns-01 challenge for sami.pw

——————————————————————————-
Please deploy a DNS TXT record under the name
_acme-challenge.sami.pw with the following value:

wFyeYk4yl-BERO6pKnMUA5EqwawUri5XnlD2-xjOAUk

Once this is deployed,
——————————————————————————-
Press Enter to Continue
Waiting for verification…
Cleaning up challenges

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.

Posts similares

Recente falha no WPA2 existe há 13 anos (e poderia ter sido corrigida)

O Analista

DICA: Acessando servidores SSH sem o uso de senha

O Analista

Worm Conficker é encontrado em câmeras de segurança da polícia dos EUA

O Analista
O Analista_