terça-feira, 6 de junho de 2017

O que é a proteção anti-DDoS ?

O que é a proteção anti-DDoS ?



Funcionamento de um ataque DDoS


As hipóteses de ser confrontado com um ataque DDoS são altas e as tentativas são inúmeras

Um ataque DDoS tem como objetivo tornar um servidor, um serviço ou uma infraestrutura indisponíveis ao sobrecarregar a largura banda do servidor ou fazendo uso dos seus recursos até que estes se esgotem.

Durante um ataque DDoS, vários pedidos são enviados em simultâneo, a partir de vários pontos da Net. A intensidade deste "fogo cruzado" torna o serviço instável, ou pior, indisponível.

O que nós propomos para proteger os seus serviços



Para proteger os seus serviços e os seus servidores dos ataques, a OVH propõe uma solução de mitigação baseada na tecnologia VAC. Trata-se de uma exclusiva combinação de técnicas para:

  • Analisar em tempo real e a alta velocidade todos os pacotes;
  • Aspirar o tráfego de entrada no seu servidor;
  • Mitigar, ou seja, recuperar todos os pacotes IP que não são legítimos, deixando passar os pacotes legítimos

Alvos e tipos de ataque



Para tornar indisponíveis os seus sites, servidor ou infraestrutura, existem 3 estratégias:

  • Largura de banda : categoria de ataque que consiste em saturar a capacidade de rede do servidor, tornando-o incontactável.
  • Recursos : categoria de ataque que consiste em fazer esgotar os recursos de sistema da máquina, impedindo-a assim de responder aos pedidos legítimos.
  • Exploração de uma falha de software : também chamado "exploit", é uma categoria de ataque que tem como alvo uma falha de software particular e tem como objetivo tornar a máquina alvo indisponível, ou ganhar controlo da mesma.


Nome do ataqueNível OSITipo de ataqueExplicações do princípio do ataque
ICMP Echo Request FloodL3RecursosTambém chamado Ping Flood, o envio massivo de pacotes (ping) implica a resposta da vítima (pong) referida no pacote de origem.
IP Packet Fragment AttackL3RecursosEnvio de pacotes IP que referenciam voluntariamente outros pacotes que nunca serão enviados, saturando assim a memória da vítima.
SMURFL3Largura de bandaAtaque ICMP em broadcast no qual o endereço de origem é usurpado para redirigir as várias repostas para a vítima.
IGMP FloodL3RecursosEnvio massivo de pacotes IGMP (protocolo de gestão do multicast)
Ping of DeathL3ExploitEnvio de pacotes ICMP que exploram uma falha de implementação em certos sistemas operativos.
TCP SYN FloodL4RecursosEnvio massivo de pedidos de ligação TCP
TCP Spoofed SYN FloodL4RecursosEnvio massivo de pedidos de ligação TCP, usurpando o endereço IP de origem
TCP SYN ACK Reflection FloodL4Largura de bandaEnvio massivo de pedidos de ligação TCP para um grande número de máquinas, usurpando o endereço da vítima. A largura de banda da vítima será saturada pelas respostas aos pedidos que ela não efetuou.
TCP ACK FloodL4RecursosEnvio massivo de confirmação de receção de fragmentos TCP
TCP Fragmented AttackL4RecursosEnvio de segmentos TCP que referenciam voluntariamente outros segmentos que nunca chegarão a ser enviados com o propósito de saturar a memória do serviço "vítima"
UDP FloodL4Largura de bandaEnvio massivo de pacotes UDP (não necessitam de prévio estabelecimento de ligação)
UDP Fragment FloodL4RecursosEnvio de datagramas UDP que referenciam voluntariamente outros datagramas que nunca serão enviados, saturando assim a memória do serviço "vítima"
Distributed DNS Amplification AttackL7Largura de bandaEnvio massivo de pedidos DNS que usurpam o endereço de origem para um grande número de servidores DNS legítimos. A resposta será de maior volume do que a pergunta, gerando uma amplificação do ataque
DNS FloodL7RecursosAtaque de um servidor DNS através do envio massivo de pedidos
HTTP(S) GET/POST FloodL7RecursosAtaque de um servidor web através do envio massivo de pedidos
DDoS DNSL7RecursosAtaque de um servidor DNS através do envio massivo de pedidos a partir de um grande número de máquinas controladas através da Internet.

quinta-feira, 8 de dezembro de 2016

Determine uma data de expiração pro seu script

Como encriptar um Shell Script com SHC

Neste texto, vou ensinar a baixar, instalar e usar SHC, um programa que encripta o código do seus shell scritps.
Antes de mais nada, eu gostaria de dizer que encriptar seus códigos não é uma prática recomendável. O ideal é documentar todo o script, de forma que qualquer pessoa o possa entender facilmente. Códigos fonte devem ser o mais acessíveis possível – já a informação com a qual eles lidam, é que deve ser restringida.
Se você precisa usar informações, usualmente confidenciais, como senhas, de forma automática, então deve procurar outra solução.
Hmmmm… você ainda está aqui?
Tenha em mente, contudo, que um script codificado através do SHC pode não ser legível para usuários comuns (creio que este seja o seu objetivo) — Contudo, uma pessoa que tenha conhecimento do seu funcionamento pode extrair o código criado pelo software.
Em tempo, SHC quer dizer SHell script Compiler.

Download e instalação

O software de que vamos tratar aqui, foi desenvolvido por Francisco Javier R. Garcia e você vai encontrar sua versão mais atualizada aqui.
Vamos começar com o download do código fonte do programa:
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
Uma vez baixado, desempacote e instale:
tar xvfz shc-3.8.9.tgz
cd shc-3.8.9
make
Verifique se tudo correu bem:
./shc -v
shc parse(-f): No source file specified
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script

Crie um shell script de exemplo

Para testar, você pode usar seu próprio shell script ou pegar este aqui:
1#!/bin/bash
2echo -n "Quantos numeros aleatorios voce deseja gerar? "
3read max
4for (( start = 1; start
5do
6echo -e $RANDOM
7done
rode o script:
$ ./alea.sh
Quantos numeros aleatorios voce deseja gerar? 3
24682
1678
491

Encriptando o seu shell script com shc

Use o comando, a seguir, para fazer o trabalho:
./shc -f alea.sh
isto deverá gerar os seguintes arquivos:
ls -l alea*.*
-rwxrw-r--. 1 user group 149 Mar 27 01:09 alea.sh
-rwx-wx--x. 1 user group 11752 Mar 27 01:12 alea.sh.x
-rw-rw-r--. 1 user group 10174 Mar 27 01:12 alea.sh.x.c
Dos quais:
  • alea.sh é o seu script original
  • alea.sh.x é o seu script em formato binário e encriptado
  • alea.sh.x.c é o código fonte do script original em linguagem C
Após transformar o código do seu script, originalmente escrito em Bash para um script em C, o shc o compila, gerando o executável alea.sh.x.
Veja como testar:
file alea.sh
alea.sh: Bourne-Again shell script text executable
file alea.sh.x
alea.sh.x: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
file alea.sh.x.c
alea.sh.x.c: ASCII C program text

Execute o seu script encriptado

./alea.sh.x
Quantos numeros aleatorios voce deseja gerar? 3
7489
10494
29627

Determine uma data de expiração pro seu script

Com o uso do shc, é possível evitar que o seu script seja executado após uma certa data. Se for feita a tentativa de executar um script que já tenha expirado, uma mensagem de erro será exibida na tela.
Crie um novo script, usando a opção “shc -e“, que permite a entrada de uma data de expiração (que deve ser fornecida no formato dd/mm/yyyy:
./shc -e 31/12/2011 -f alea.sh
Veja o que acontece quando alguém tenta executar um script vencido:
./alea.sh.x
./alea.sh.x: has expired!
Please contact your provider
Você pode criar a sua própria mensagem de expiração, para o caso de redistribuir o seu script para pessoas que não falem inglês, por exemplo. Use a opção -m para isto.