Como evitar TCP SYN Flood,IP Spoofing

1. Como evitar TCP SYN Flood,IP Spoofing

kelly
zackita

(usa Ubuntu)

Enviado em 08/05/2017 - 06:45h

Ola,
Preciso de algum cmando ou configuração que evite um pouco o TCP SYN Flood,IP Spoofing pois ja li que nao barra totalmente mas tem comandos que diminuem so que o que eu achei sao de artigos ja antigos de alguns anos atraz e nao sei se funciona.
Alguem teria alguma coisa que desse pra ajudar?
Faço mineração de bitcoin e a cloud q eu uso pra vps nao tem proteçao ddos e tbm ja pedi ajuda deles e so me falaram pra por um firewall nao me disseram nenhum programa e tals.....com isso eles ficam desligando minhas maquinas e da muito trabalho religa dinovo todo santo dia isso pq eu ainda nao coloquei mil maquina pra roda......




  


2. Re: Como evitar TCP SYN Flood,IP Spoofing

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/05/2017 - 07:34h

Eu estava tentando montar um firewall que ficou bem bizarro.
Recebi alguma ajuda para melhorá-lo
https://www.vivaolinux.com.br/topico/netfilter-iptables/Necessito-limpar-um-script-de-firewall/

Nele você pode ver algumas tentativas do que você quer.

Inclusive passaram-me um link para umas referências:
http://www.clubedohardware.com.br/forums/topic/1118532-tutorial-firewall-seguro-no-linux-avan%C3%A7a...

E existem outras:
http://www.hardware.com.br/livros/linux-redes/escrevendo-script-firewall.html
http://www.hardware.com.br/tutoriais/linux-escrevendo-scripts-firewall/
https://www.vivaolinux.com.br/etc/Firewall.sh-3/

Tem um artigo que li estes dias e, depois de uma explanação sobre todas as possibilidades que não funcionam, deu este comando como solução:

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

Na verdade existem três modos de fazer o que está sendo feito acima.

Mas em todo o caso melhor esperar alguém mais credenciado chegar.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Como evitar TCP SYN Flood,IP Spoofing

kelly
zackita

(usa Ubuntu)

Enviado em 08/05/2017 - 08:14h

vou ler e ver o que da pra ir salvando aki e depois vo junta tudo e ve... to usando o ubuntu 16 64 bits. se eu consegui alguma coisa q a barre um pouco nao vo fica todo santo dia pedindo pra reativa minha conta e botar tudo pra roda dinovo..... é q o sistema da cloud pra reativa as maquinas que é axo é mais lento que a amazon na qual eu tava usando mas as contas nao duram nem 4 horas ai ja viu né to a quase 2 meses nem minera em vps pq a amazon ficou impossivel de usar... a azure e a google nao deixam usar o free pra isso dai to vendo outros sites e o unico problema q eu e debarei foi esses ataques.
mas se mais alguem tiver dicas que amenizam um pouco sao bem vindos. tenho 45 maquinas em teste e tenho mais 180 pra cria mas n queria cria sem antes resolver isso....


4. Re: Como evitar TCP SYN Flood,IP Spoofing

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/05/2017 - 08:24h

Suas máquinas ficam de cara com servidores (daemons) rodando para internet sem nada defendendo?

Se não tiver um serviço bom, elas podem ser invadidas, comprometidas, virarem zumbis, serem atacantes das outras próprias máquinas da rede caso haja, tornar insegura transações com senha desde e-mails até bancárias ou monetárias. Quem sabe o que mais.

Digo isto por causa das suas dúvidas com firewall. Talvez você saiba muito bem o que está fazendo e o que tem aí, mas não pude deixar de comentar. Caso esteja tudo bem, desconsidere.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Como evitar TCP SYN Flood,IP Spoofing

kelly
zackita

(usa Ubuntu)

Enviado em 08/05/2017 - 08:48h

listeiro_037 escreveu:

Suas máquinas ficam de cara com servidores (daemons) rodando para internet sem nada defendendo?

Se não tiver um serviço bom, elas podem ser invadidas, comprometidas, virarem zumbis, serem atacantes das outras próprias máquinas da rede caso haja, tornar insegura transações com senha desde e-mails até bancárias ou monetárias. Quem sabe o que mais.

Digo isto por causa das suas dúvidas com firewall. Talvez você saiba muito bem o que está fazendo e o que tem aí, mas não pude deixar de comentar. Caso esteja tudo bem, desconsidere.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



intao eu axei um site de vps q vc paga 1 euro e dura 30 dias a maquina pore no site eu nao achei nada de que tenha ja proteção ddos pq os outros que eu usava ja tinha. como eu to testando as vps do site nao fiz nada so criei a vps com linux e botei pra minera. como deu esses alertas de ataque na rede da cloud ai que eu vi q tenho q por defesa. por isso que estou pedindo ajuda pois nao sei muito de linux ai por isso que que estou pedindo ajuda pra ve o que posso por aqui pra da uma amenizada.
no caso das invasoes eu nao sabia que iria acontecer isso. como eu nunca usei essa cloud esse mes vai ser mais pra conhecer ela e como que funciona as vps deles e so depois mes que vem começar tem um lucro decente ja sabendo configura tudo certinho pra nao ter problemas. Essa parte de proteção de fire no linux eu nunca mexi. so mexi no basico ate hoje. o suporte deles so me passo pra por um firewall.....
caso algum tiver um tutorial pode me passa a parte de linha de comando eu entendo so tenho os esquemas certinho. :D


6. Sugestão

Leandro Silva
LSSilva

(usa Outra)

Enviado em 08/05/2017 - 23:04h

Boa noite!
Eu iria primeiro aqui (principalmente a parte do sysctl.conf): https://www.thefanclub.co.za/how-to/how-secure-ubuntu-1604-lts-server-part-1-basics,
Com relação à DDOS é complicado mesmo; existem regras que limitam tráfego, porém estas regras não são tão efetivas pelo fato de não evitarem a indisponibilidade do sistema em muitos casos. Como não tenho maiores informações sobre sua estrutura lógica, me limito a tentar ajudar com isto.


7. Re: Como evitar TCP SYN Flood,IP Spoofing

kelly
zackita

(usa Ubuntu)

Enviado em 10/05/2017 - 19:14h

LSSilva escreveu:

Boa noite!
Eu iria primeiro aqui (principalmente a parte do sysctl.conf): https://www.thefanclub.co.za/how-to/how-secure-ubuntu-1604-lts-server-part-1-basics,
Com relação à DDOS é complicado mesmo; existem regras que limitam tráfego, porém estas regras não são tão efetivas pelo fato de não evitarem a indisponibilidade do sistema em muitos casos. Como não tenho maiores informações sobre sua estrutura lógica, me limito a tentar ajudar com isto.



intao a unica coisa que falta pe eu receber os pacotes do site. porem pra libera meu amigo disse q pecisa da porta o programa q eu uso de mineração so que ele nao tem. eu achei falando por ai que por solo mining que é vc minerando com carteira offline tem porta e da pra configura e tals e se for por pool ai é o endereço da pool
eu tinha visto um site com um exemplo de liberar o endereço do site pra enviar e receber trafego mas eu perdi pra varia.




8. Re: Como evitar TCP SYN Flood,IP Spoofing

Leandro Silva
LSSilva

(usa Outra)

Enviado em 11/05/2017 - 09:05h

Bom dia, amigo!
Bom, com relação à mineração não entendo nada (até seria bom começar a entender).
Porém, para tráfego local, é só liberar a interface de loopback (iptables -A INPUT -i lo -j ACCEPT / iptables -A OUTPUT -i lo -j ACCEPT), porém se não está usando um Firewall com política DROP e localmente não funciona, teria que entender melhor essa questão.
Com relação ao programa que você utiliza, se descobrir a porta dele ficaria mais fácil. Você poderia implementar um firewall com politica drop desta forma:
Criar um arquivo chamado "firewall", por exemplo, dentro dele inserir o conteúdo:

iniciar (){
# Estou assumindo que só haja uma interface disponível
# Rfc 1597 / Rfc 1918 / Rfc 3330
B1="10.0.0.0/8"
B2="172.16.0.0/12"
B3="192.168.0.0/16"
B4="169.254.0.0/24"
#limpa tabelas (vou assumir que não usa a mangle)
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat X
#determina política
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#input
# Drop Invalidos
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "Invalid Input "
iptables -A INPUT -m state --state INVALID -j DROP
# Accept Valid
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# WAN Spoofed
iptables -A INPUT -s $B1 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B1 -j DROP
iptables -A INPUT -s $B2 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B2 -j DROP
iptables -A INPUT -s $B3 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B3 -j DROP
iptables -A INPUT -s $B4 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B4 -j DROP
# Aceitar Portas Diversas
# SSH - Global
iptables -A INPUT -p tcp --dport 22 -m state --state NEW --syn -j ACCEPT
# Colocar demais portas que deseja liberar seguindo o exemplo acima.
# Loopback
iptables -A INPUT -i lo -j ACCEPT
#Se quiser liberar ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# Log Padrão
iptables -A INPUT ! -i lo -j LOG --log-prefix "Drop Input "
}
parar (){
#limpa tables
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat X
#determina politica
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P DROP ACCEPT
}
case "$1" in
start) iniciar;;
stop) parar;;
restart) parar;iniciar;;
*) echo "use start/stop/restart...";;
esac

Depois pode jogar ele em /etc/init.d/, dar permissão de execução (chmod +x /etc/init.d/firewall) e executar (/etc/init.d/firewall start).
Não se esqueça de colocar todas as portas que precisa liberadas no INPUT, se não, ao executar o script e ele bloquear sua porta de acesso, aí já era!
Faça, se possível, um esquema de tempo (uns 2 minutos) para que o firewall desative automaticamente após aplicar (isto te salva em caso de erro).

P.S.: tome cuidado bom as variáveis "B1, B2..." não sei como está sua rede atualmente e isto pode gerar complicações no seu acesso/acesso do pessoal do suporte da VPS. Se achar melhor omita as regras de "Wan Spoofed", pois se ativar as funções do SYSCTL.conf elas não serão necessárias.


9. Re: Como evitar TCP SYN Flood,IP Spoofing

kelly
zackita

(usa Ubuntu)

Enviado em 11/05/2017 - 10:09h

LSSilva escreveu:

Bom dia, amigo!
Bom, com relação à mineração não entendo nada (até seria bom começar a entender).
Porém, para tráfego local, é só liberar a interface de loopback (iptables -A INPUT -i lo -j ACCEPT / iptables -A OUTPUT -i lo -j ACCEPT), porém se não está usando um Firewall com política DROP e localmente não funciona, teria que entender melhor essa questão.
Com relação ao programa que você utiliza, se descobrir a porta dele ficaria mais fácil. Você poderia implementar um firewall com politica drop desta forma:
Criar um arquivo chamado "firewall", por exemplo, dentro dele inserir o conteúdo:

iniciar (){
# Estou assumindo que só haja uma interface disponível
# Rfc 1597 / Rfc 1918 / Rfc 3330
B1="10.0.0.0/8"
B2="172.16.0.0/12"
B3="192.168.0.0/16"
B4="169.254.0.0/24"
#limpa tabelas (vou assumir que não usa a mangle)
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat X
#determina política
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#input
# Drop Invalidos
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "Invalid Input "
iptables -A INPUT -m state --state INVALID -j DROP
# Accept Valid
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# WAN Spoofed
iptables -A INPUT -s $B1 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B1 -j DROP
iptables -A INPUT -s $B2 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B2 -j DROP
iptables -A INPUT -s $B3 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B3 -j DROP
iptables -A INPUT -s $B4 -j LOG --log-prefix "Wan Spoofed Packet "
iptables -A INPUT -s $B4 -j DROP
# Aceitar Portas Diversas
# SSH - Global
iptables -A INPUT -p tcp --dport 22 -m state --state NEW --syn -j ACCEPT
# Colocar demais portas que deseja liberar seguindo o exemplo acima.
# Loopback
iptables -A INPUT -i lo -j ACCEPT
#Se quiser liberar ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# Log Padrão
iptables -A INPUT ! -i lo -j LOG --log-prefix "Drop Input "
}
parar (){
#limpa tables
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat X
#determina politica
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P DROP ACCEPT
}
case "$1" in
start) iniciar;;
stop) parar;;
restart) parar;iniciar;;
*) echo "use start/stop/restart...";;
esac

Depois pode jogar ele em /etc/init.d/, dar permissão de execução (chmod +x /etc/init.d/firewall) e executar (/etc/init.d/firewall start).
Não se esqueça de colocar todas as portas que precisa liberadas no INPUT, se não, ao executar o script e ele bloquear sua porta de acesso, aí já era!
Faça, se possível, um esquema de tempo (uns 2 minutos) para que o firewall desative automaticamente após aplicar (isto te salva em caso de erro).

P.S.: tome cuidado bom as variáveis "B1, B2..." não sei como está sua rede atualmente e isto pode gerar complicações no seu acesso/acesso do pessoal do suporte da VPS. Se achar melhor omita as regras de "Wan Spoofed", pois se ativar as funções do SYSCTL.conf elas não serão necessárias.


intao sobre a porta do programa, eu ja pesquisei e nao tem nada falando. no caso o que eu achei foi que pra mineração solo que seria usar a propria vps com uma carteira offline teria que configura uma porta no 127.0.0.1/porta ....e pra mineração em pool é so usa o endereço da pool que é o meu caso.

meu amigo so fez isso de configuração:

Alterou a porta do ssh

fez essas cofigs no iptable

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

iptables -P INPUT DROP

ele so barrou entrada. so q com isso meu programa de mineração nao consegue se conectar com a pool.... que é o que vc falo que precisa da porta mas a desgrama aki nao tem porta....
tem como eu libera o trafego entre a minha vps e o site da pool? eu vi que da pra faze algo do tipo mas eu perdi o site que tinha falando.




10. Re: Como evitar TCP SYN Flood,IP Spoofing

kelly
zackita

(usa Ubuntu)

Enviado em 11/05/2017 - 10:45h

alguem sabe me dizer se eu usar o ufw seguindo esse http://www.cleuber.com.br/index.php/2014/06/26/o-basico-sobre-firewall-com-ufw-em-linux

em vez do iptables da mais certo? pq por ele eu vi que ta mais facil de configura e tem a opçao nele de por o ip do site que eu quero que funcione.....


11. Re: Como evitar TCP SYN Flood,IP Spoofing

Leandro Silva
LSSilva

(usa Outra)

Enviado em 11/05/2017 - 15:45h

Faltou apenas isto na config do seu amigo (ele usou política DROP sem liberar o tráfego de localhost):

iptables -A INPUT -i lo -j ACCEPT

Se utilizar aquele firewall que te enviei também irá dar certo (imagino), pois já está formulado.

Com relação ao sysctl.conf (/etc/sysctl.conf)

Voce pode descomentar/adicionar se o arquivo estiver em branco as seguintes linhas:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.all.log_martians = 1

Com isto você aumentará sua segurança e essa regra do iptables irá garantir o tráfego de localhost. Já tentou dessa forma?


12. Re: Como evitar TCP SYN Flood,IP Spoofing

kelly
zackita

(usa Ubuntu)

Enviado em 11/05/2017 - 16:47h

LSSilva escreveu:

Faltou apenas isto na config do seu amigo (ele usou política DROP sem liberar o tráfego de localhost):

iptables -A INPUT -i lo -j ACCEPT

Se utilizar aquele firewall que te enviei também irá dar certo (imagino), pois já está formulado.

Com relação ao sysctl.conf (/etc/sysctl.conf)

Voce pode descomentar/adicionar se o arquivo estiver em branco as seguintes linhas:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.all.log_martians = 1

Com isto você aumentará sua segurança e essa regra do iptables irá garantir o tráfego de localhost. Já tentou dessa forma?


Estou tentando mexe aqui mas ta complicado. botei esse loop back mas o q eu realmente preciso nao axo,
nem com esse comando de loop back funcionou o programa do miner. eu tenho que liberar a comunicação com o site da pool mas o comando eu nao acho mais....

sobre o que vc mando

# WAN Spoofed eu tenho que fazer essa parte???

ali nas configs do syn nao da pra por direto pelo iptables? eu nao manjo de linux era meu amigo q tava mexendo pra mim e nao da pra fica pedindo pra ele fica vendo toda hora e to fazendo por conta propria...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts