Ir para conteúdo

DDoS Protect Básico [Win & Linux]


Posts Recomendados

Proteção DDoS é uma grande parte de um trabalho de administradores de sistemas nos dias de hoje, especialmente em grandes fóruns/hosts.

Obviamente, o melhor plano seria comprar outro servidor, configurar um firewall CISCO sobre ele e redirecionar todo o tráfego para o servidor 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

 

Ok, hora 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.

 

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

 

Ótimo, ele está instalado. Agora 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 -

 

##### Paths of the script and other files
PROGDIR="/usr/local/synd"
PROG="/usr/local/synd/synd.sh"
IGNORE_IP_LIST="/usr/local/synd/ignore.ip.list"
CRON="/etc/cron.d/synd.cron"
APF="/etc/apf/apf"
IPT="/sbin/iptables"

##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with --cron
#####		  option so that the new frequency takes effect
FREQ=1

##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=10

##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=0

##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1

##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO="herp@derp.com"

##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=12000

 

 

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 -

 

#!/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 Q para desabilitar o menu.

 

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 enderço de IP bloqueado?

Simples use o comando de exclusão,

 route delete 65.21.34.4

 

Informações aqui - Como posso descartar ou bloquear os atacantes IP com null routes?

 

Créditos - narko

Link para o comentário
Compartilhar em outros sites

Você Cola Isso No Bloco De Notas -

 

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

 

 

Depois Salve Como run.cmd (Caso Não Der Certo, Tente run.bat), Os Comandos

Estão No Próprio Código -

ECHO  Aperte "y"para otimizar o Vista TCP/IP

ECHO Aperte "q" desativar QoS banda reservada

ECHO Aperte "d" reverter para os valores padrão do Vista

ECHO Aperte "n" para cancelar patch e saír/code]

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...