Ir para conteúdo
Propaganda

Posts Recomendados

Locust é uma ferramenta open-source para testes de carga que permite simular o comportamento de múltiplos usuários simultâneos em uma aplicação web. Neste tutorial, vamos usar o Locust para simular um ataque DDoS (Distributed Denial of Service) em um site e fornecer dicas sobre como proteger sua infraestrutura contra esses ataques.

 

1° Configurar o Ambiente:

- Python 3.6+

- Um servidor web ou VPS como alvo.

- Locust instalado (pip install locust)

 

2° Criando o Script de Teste no Locust (Arquivo .py)

 

from locust import HttpUser, task, between

class DDoSUser(HttpUser):
    wait_time = between(1, 3)

    @task
    def attack(self):
        self.client.get("/")

 

3° Executando o Locust:

 

locust -f seu_script.py

 

Agora basta acessar a interface web do Locust (

This is the hidden content, please
)

 

image.png.06f4ed13c5e194e3c07c6fc0b622caae.png

 

Adicionar o número de usuários que deseja simular

Rampup (Duração de segundos)

Host que será testado

 

E como eu me protejo disso?

 

- Usar um Firewall de Aplicação Web (WAF)

Um WAF (Firewall de Aplicação Web) atua como uma barreira entre o seu site e o tráfego da web. Ele filtra, monitora e bloqueia tráfego HTTP/HTTPS potencialmente malicioso, incluindo ataques DDoS. Um WAF pode analisar solicitações em tempo real e tomar decisões sobre permitir ou bloquear com base em regras pré-definidas ou aprendizado de máquina.

Deve verificar com sua VPS como realizar a configuração de WAF.

 

- Implementar Rate Limiting

Rate Limiting controla o número de requisições que um IP pode fazer a um servidor dentro de um período específico. Isso é útil para evitar que um único IP, ou um conjunto de IPs controlados por um atacante, sobrecarregue o servidor enviando um grande número de requisições em um curto período.

Recomendo a implementação via Nginx da configuração de limite.

 

- Usar CDNs

Uma CDN (Content Delivery Network) distribui o conteúdo do seu site através de uma rede de servidores localizados em várias partes do mundo. Quando um usuário faz uma solicitação, a CDN serve o conteúdo a partir do servidor mais próximo, reduzindo a carga no servidor principal e ajudando a mitigar ataques DDoS ao distribuir o tráfego.

Deve ser atualizado nas configurações do DNS do seu servidor de nomes na VPS.

 

- Implementação de Monitoramento e Resposta Automática

Sistemas de monitoramento ajudam a detectar picos de tráfego anormais e a resposta automática pode bloquear ou mitigar esses ataques em tempo real. Esses sistemas podem acionar scripts para bloquear IPs suspeitos ou escalar automaticamente os recursos do servidor.

Recomendo que instale e configure o Zabbix para monitorar seu servidor, defina como identificar os picos e ações automáticas como bloqueio de IPs.

 

- Dimensionamento Horizontal

O dimensionamento horizontal envolve adicionar mais servidores à sua infraestrutura para lidar com o aumento do tráfego, em vez de simplesmente aumentar os recursos de um único servidor. Isso distribui a carga, tornando o sistema mais resiliente a ataques DDoS.

 

- Lista Negra de IPs e Países

Bloquear IPs específicos ou até mesmo regiões geográficas inteiras que não fazem parte do seu público-alvo pode reduzir significativamente a superfície de ataque.

 

  • Like 19
  • Thanks 3
  • Haha 2
  • Sad 1
  • Administrador
5 minutos atrás, Zmovir disse:

Locust é uma ferramenta open-source para testes de carga que permite simular o comportamento de múltiplos usuários simultâneos em uma aplicação web. Neste tutorial, vamos usar o Locust para simular um ataque DDoS (Distributed Denial of Service) em um site e fornecer dicas sobre como proteger sua infraestrutura contra esses ataques.

 

1° Configurar o Ambiente:

- Python 3.6+

- Um servidor web ou VPS como alvo.

- Locust instalado (pip install locust)

 

2° Criando o Script de Teste no Locust (Arquivo .py)

 

from locust import HttpUser, task, between

class DDoSUser(HttpUser):
    wait_time = between(1, 3)

    @task
    def attack(self):
        self.client.get("/")

 

3° Executando o Locust:

 

locust -f seu_script.py

 

Agora basta acessar a interface web do Locust (

This is the hidden content, please
)

 

image.png.06f4ed13c5e194e3c07c6fc0b622caae.png

 

Adicionar o número de usuários que deseja simular

Rampup (Duração de segundos)

Host que será testado

 

E como eu me protejo disso?

 

- Usar um Firewall de Aplicação Web (WAF)

Um WAF (Firewall de Aplicação Web) atua como uma barreira entre o seu site e o tráfego da web. Ele filtra, monitora e bloqueia tráfego HTTP/HTTPS potencialmente malicioso, incluindo ataques DDoS. Um WAF pode analisar solicitações em tempo real e tomar decisões sobre permitir ou bloquear com base em regras pré-definidas ou aprendizado de máquina.

Deve verificar com sua VPS como realizar a configuração de WAF.

 

- Implementar Rate Limiting

Rate Limiting controla o número de requisições que um IP pode fazer a um servidor dentro de um período específico. Isso é útil para evitar que um único IP, ou um conjunto de IPs controlados por um atacante, sobrecarregue o servidor enviando um grande número de requisições em um curto período.

Recomendo a implementação via Nginx da configuração de limite.

 

- Usar CDNs

Uma CDN (Content Delivery Network) distribui o conteúdo do seu site através de uma rede de servidores localizados em várias partes do mundo. Quando um usuário faz uma solicitação, a CDN serve o conteúdo a partir do servidor mais próximo, reduzindo a carga no servidor principal e ajudando a mitigar ataques DDoS ao distribuir o tráfego.

Deve ser atualizado nas configurações do DNS do seu servidor de nomes na VPS.

 

- Implementação de Monitoramento e Resposta Automática

Sistemas de monitoramento ajudam a detectar picos de tráfego anormais e a resposta automática pode bloquear ou mitigar esses ataques em tempo real. Esses sistemas podem acionar scripts para bloquear IPs suspeitos ou escalar automaticamente os recursos do servidor.

Recomendo que instale e configure o Zabbix para monitorar seu servidor, defina como identificar os picos e ações automáticas como bloqueio de IPs.

 

- Dimensionamento Horizontal

O dimensionamento horizontal envolve adicionar mais servidores à sua infraestrutura para lidar com o aumento do tráfego, em vez de simplesmente aumentar os recursos de um único servidor. Isso distribui a carga, tornando o sistema mais resiliente a ataques DDoS.

 

- Lista Negra de IPs e Países

Bloquear IPs específicos ou até mesmo regiões geográficas inteiras que não fazem parte do seu público-alvo pode reduzir significativamente a superfície de ataque.

 

Muito bom mano, galera usem com moderação tentem se proteger.

Muito importante essa configuração, muito obrigado pela colaboração.

vlw por compartilhar. muito bom, irei testar minhas proteçoes web
tem algo pra porta do servidor? queria alguma forma de testar direto nela, ultima vez meu site na cloudflare ja segurou os ataques que sofria, o problema agora ta nas portas do serv..

6 horas atrás, marcelomnzs disse:

vlw por compartilhar. muito bom, irei testar minhas proteçoes web
tem algo pra porta do servidor? queria alguma forma de testar direto nela, ultima vez meu site na cloudflare ja segurou os ataques que sofria, o problema agora ta nas portas do serv..

Pro servidor teria que utilizar o tipo de dado que o client envia pro server e alterar o sever pra aceitar esses dados.

 

Recomendo utilizar o K6 para isso

Em 30/08/2024 em 18:01, Zmovir disse:

Pro servidor teria que utilizar o tipo de dado que o client envia pro server e alterar o sever pra aceitar esses dados.

 

Recomendo utilizar o K6 para isso

e como fazer a porta 7171 e 7172 só aceitar dados do tipo do cliente? ja seria uma protecao. pois acho que ela estando aberta aceita qualquer pacote tcp..
talvez configurar só pra tcp ja sera uma etapa, tem mais algo pra indicar? 

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...