Ir para conteúdo
  • Cadastre-se

Básico Proteção Ddos [Win & Linux]


Posts Recomendados

Proteção DDoS é uma grande parte de um trabalho de administradores de sistemas nos dias de hoje, especialmente em grandesfóruns/hosts.
Obviamenteo melhor plano seria comprar outro servidor, configurar um firewall CISCO sobre ele e redirecionar todo o tráfego para oservidor principal. Infelizmente, isso exigiria recursos para outro servidor dedicado.

Então, a única solução que iria trabalhar agora seria usar o box como um firewall.
Este tutorial é para cPanel.

Primeiramente, temos que ter certeza de que está tudo em dia -

apt-get update
ape-get upgrade
apt-get install libwww-perl

Okhora de instalar um firewall decente. Porque este servidor está executando cPanel, nós podemos também usar um firewall que integra em cPanel. Este é apenas para permitir a fácil configuração, CSF é tão bom que vamos estar instalando isso.

wget http://www.configserver.com/free/csf.tgz
tar -xzvf csf.tgz
cd csf
sh install.sh

Vá em /etc/csf/csf.conf e coloque a próxima -

http://pastebin.com/eGnbi6SY

Em seguida, temos algumas regras de firewall extra para filtrar os pacotes comuns encontrados em ataques DDoS. Nós também temos que limitar o número de conexões permitidas para o servidor.

Spoiler echo 1 > /proc/sys/net/ipv4/tcp_syncookies
iptables -A INPUT -p tcp --syn --dport 80 -d ! 127.0.0.1 -m connlimit --connlimit-above 100 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

iptables -N syn-flood
iptables -A syn-flood -m limit --limit 1/second --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP

iptables -N udp-flood
iptables -A udp-flood -m limit --limit 4/second --limit-burst 4 -j RETURN
iptables -A udp-flood -j DROP

iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST,ACK,FIN SYN,ACK -j syn-flood # SYN flood
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -i eth0 -p udp -j udp-flood
iptables -A INPUT -i eth0 -f -j DROP
sudo bash -c "iptables-save > /etc/iptables.rules"

Em seguida, vamos instalar alguns IP's de conexão baseada em proibição. Existe um software chamado ddos_deflate que vamos usar.
Baixe ddos_deflate.

wget http://www.inetbase.com/scripts/ddos/install.sh
sh install.sh
crtl+z

Ótimoele está instaladoAgora precisamos alterar algumas configurações.

nano /usr/local/ddos/ddos.conf

* NO_OF_CONNECTIONS=100
    * BAN_PERIOD=12000
    * APF_BAN=0

Salve o arquivo e saia. Em seguida, precisamos modificar ddos_deflate para trabalhar com CSF. (Crtl + x aperte Y)

nano /usr/local/ddos/ddos.sh
Look Goto line 138 and replase this
$IPT -I INPUT -s $CURR_LINE_IP -j DROP
for
csf -d $CURR_LINE_IP
and execute this
cp -s /usr/local/ddos/ddos.sh /usr/local/sbin/ddos

Eu também tenho um mod de ddos_deflate para trabalhar com pacotes SYN. Era uma vez um programa chamado syn_deflate que era exatamente isso, no entanto, o script foi interrompido sendo feito avaliação e se perdeu para sempre!

mkdir /usr/local/synd
nano /usr/local/synd/synd.conf

O conteúdo de synd.conf -

E no próximo -

nano /usr/local/synd/ignore.ip.list
and write
127.0.0.1
yourip
Depois -
nano /usr/local/synd/synd.sh
Contenet -Spoiler #!/bin/sh
load_conf()
{
    CONF="/usr/local/synd/synd.conf"
    if [ -f "$CONF" ] && [ ! "$CONF" ==    "" ]; then
        source $CONF
    else
        head
        echo "\$CONF not found."
        exit 1
    fi
}

head()
{
    echo "Syn-Deflate"
    echo "Based on DoS-Deflate"
    echo
}

showhelp()
{
    head
    echo 'Usage: synd.sh [OPTIONS] [N]'
    echo 'N : number of SYN_RECV connections (default 10)'
    echo 'OPTIONS:'
    echo '-h | --help: Show    this help screen'
    echo '-c | --cron: Create cron job to run this script regularly (default 1 mins)'
    echo '-k | --kill: Block the offending ip making more than N SYN_RECV connections'
}

unbanip()Depois -
chmod 0755 /usr/local/synd/synd.sh
cp -s /usr/local/synd/synd.sh /usr/local/sbin/synd
/usr/local/synd/synd.sh --cron > /dev/null 2>&1

Pronto! Você está protegido de ataques iniciantes!

Windows DDoS Protection - Otimização De TCP/IP
Abra o bloco de notas, salve como run.cmd.
Precione Y para executar o tweek, então para desabilitar o menu.

Spoiler 
CLS
@ECHO OFF
ECHO ------------------------------------------
ECHO Type "y" to optimize Vista TCP/IP settings
ECHO Type "q" to disable QoS reserved bandwidth
ECHO Type "d" to revert to Vista default values
ECHO Type "n" to cancell patch and exit
ECHO ------------------------------------------
:LOOP
SET /P choice1= Type y,n,q, or d, and press ENTER:    
IF /I "%choice1%"=="Y" GOTO TWEAK
IF /I "%choice1%"=="Q" GOTO QOS
IF /I "%choice1%"=="D" GOTO DEFAULT
IF /I "%choice1%"=="N" GOTO CANCEL
:: ELSE
GOTO LOOP

:TWEAK
@ECHO ON
netsh int tcp set global rss=enabled
netsh int tcp set global chimney=enabled
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global congestionprovider=ctcp
netsh int tcp set global ecncapability=disabled
netsh int tcp set global timestamps=disabled
@ECHO OFF
cd %temp%
ECHO > SG_Vista_TcpIp_Patch.reg Windows Registry Editor Version 5.00
ECHO >> SG_Vista_TcpIp_Patch.reg [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
ECHO >> SG_Vista_TcpIp_Patch.reg "DefaultTTL"=dword:00000040
ECHO >> SG_Vista_TcpIp_Patch.reg "EnableTCPA"=dword:00000001
ECHO >> SG_Vista_TcpIp_Patch.reg "Tcp1323Opts"=dword:00000001
ECHO >> SG_Vista_TcpIp_Patch.reg "TCPMaxDataRetransmissions"=dword:00000007
ECHO >> SG_Vista_TcpIp_Patch.reg "TCPTimedWaitDelay"=dword:0000001e
ECHO >> SG_Vista_TcpIp_Patch.reg "SynAttackProtect"=dword:00000001
ECHO >> SG_Vista_TcpIp_Patch.reg [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider]
ECHO >> SG_Vista_TcpIp_Patch.reg "LocalPriority"=dword:00000004
ECHO >> SG_Vista_TcpIp_Patch.reg "HostsPriority"=dword:00000005
ECHO >> SG_Vista_TcpIp_Patch.reg "DnsPriority"=dword:00000006
ECHO >> SG_Vista_TcpIp_Patch.reg "NetbtPriority"=dword:00000007
regedit /s SG_Vista_TcpIp_Patch.reg
del SG_Vista_TcpIp_Patch.reg
CLS
ECHO * PATCH SUCCESFULLY APPLIED - PRESS ANY KEY TO EXIT *
GOTO SUCCESS

:QOS
@ECHO OFF
cd %temp%
ECHO > SG_Vista_TcpIp_Patch.reg Windows Registry Editor Version 5.00
ECHO >> SG_Vista_TcpIp_Patch.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Psched]
ECHO >> SG_Vista_TcpIp_Patch.reg "NonBestEffortLimit"=dword:00000000
regedit /s SG_Vista_TcpIp_Patch.reg
del SG_Vista_TcpIp_Patch.reg
CLS
ECHO * QOS PATCH SUCCESFULLY APPLIED - PRESS ANY KEY TO EXIT *
ECHO.
ECHO * Visit SpeedGuide.net for more broadband info and tweaks *
ECHO.
@PAUSE
EXIT

:DEFAULT
@ECHO ON
netsh int tcp set global rss=default
netsh int tcp set global chimney=default
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global congestionprovider=default
netsh int tcp set global ecncapability=default
netsh int tcp set global timestamps=default
@ECHO OFF
cd %temp%
ECHO > SG_Vista_TcpIp_Default.reg Windows Registry Editor Version 5.00
ECHO >> SG_Vista_TcpIp_Default.reg [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
ECHO >> SG_Vista_TcpIp_Default.reg "DefaultTTL"=-
ECHO >> SG_Vista_TcpIp_Default.reg "EnableTCPA"=-
ECHO >> SG_Vista_TcpIp_Default.reg "Tcp1323Opts"=dword:00000000
ECHO >> SG_Vista_TcpIp_Default.reg "TCPMaxDataRetransmissions"=dword:000000ff
ECHO >> SG_Vista_TcpIp_Default.reg "TCPTimedWaitDelay"=dword:ffffffff
ECHO >> SG_Vista_TcpIp_Default.reg "SynAttackProtect"=-
ECHO >> SG_Vista_TcpIp_Default.reg [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider]
ECHO >> SG_Vista_TcpIp_Default.reg "LocalPriority"=dword:000001f3
ECHO >> SG_Vista_TcpIp_Default.reg "HostsPriority"=dword:000001f4
ECHO >> SG_Vista_TcpIp_Default.reg "DnsPriority"=dword:000007d0
ECHO >> SG_Vista_TcpIp_Default.reg "NetbtPriority"=dword:000007d1
ECHO >> SG_Vista_TcpIp_Default.reg [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Psched]
ECHO >> SG_Vista_TcpIp_Default.reg "NonBestEffortLimit"=-
regedit /s SG_Vista_TcpIp_Default.reg
del SG_Vista_TcpIp_Default.reg
CLS
ECHO * VISTA DEFAULT VALUES SUCCESFULLY APPLIED - PRESS ANY KEY TO EXIT *
GOTO SUCCESS

:SUCCESS
netsh int tcp show global
@PAUSE
EXIT

:CANCEL
CLS
ECHO * PATCH CANCELLED BY USER - PRESS ANY KEY TO EXIT *
@PAUSE
EXIT

Mais informações aqui - http://www.wjunction...protection.html

Informações Adicionais -
IP Rout Nula Com Linux
IP nullroute usando o comando rota
Suponha que o IP ruim é 65.21.34.4, digite o comando a seguir no shell:
 

route add 65.21.34.4 gw 127.0.0.1 lo

Você pode verificá-lo com os seguintes comandos:
 

netstat-nr

OU

route-n

Você também pode usar rejeitar alvo:

route add-host IP-ADDRESS reject
route add-host 64.1.2.3 reject

Para confirmar o estado de roteamento nulo, use o comando ip da seguinte forma:
 

ip route get 64.1.2.3

output:
 

RTNETLINK answers: Network is unreachable

Solte 192.67.16.0/24 sub-rede inteira:
 

route add-net 192.67.16.0/24 gw 127.0.0.1 lo

Você também pode usar o comando ip para nulo rede de rotas ou ip, digite:

ip route add blackhole 202.54.5.2/29

route-n

Como faço para remover o roteamento nulo? Como faço para remover endereço de IP bloqueado?

Simples use o comando de exclusão,
 

route delete 65.21.34.4
 

DELTA SERVERS
SOLUÇÕES CORPORATIVAS!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?