Foro de elhacker.net

Seguridad Informática => Seguridad => Mensaje iniciado por: Littl3 en 25 Julio 2015, 11:26 am



Título: Busco senior Linux experto en seguridad, DDOS
Publicado por: Littl3 en 25 Julio 2015, 11:26 am
Hola,

Tengo un servidor Ubuntu 14.04, hosteo un juego y una web, estoy recibiendo ataques DDOS, creo que son pequeños, necesitaría alguien como consultor freelance que esporadicamente resolviera dudas y realizara una configuración inicial del firewall, así como realizar algunas pruebas que garanticen que el server puede rechazar los ddos.

Gracias,

* Creo que es el foro adecuado, si no es así que un mod lo mueva, sorry.


Título: Re: Busco senior Linux experto en seguridad, DDOS
Publicado por: engel lex en 25 Julio 2015, 11:45 am
uff el-brujo (administrador del foro) es experto en eso, el foro ha sufrido golpes grandes (varias decenas de miles de maquinas (creo que han llegado a cientos de miles), el más popular fue una botnet de 75mil)

ffxU_wH8kFs

lo primero que recomiendo indicar es: que maquina es el servidor, que banda (bajada y subida) tienes contratada  ;D


Título: Re: Busco senior Linux experto en seguridad, DDOS
Publicado por: Littl3 en 25 Julio 2015, 12:37 pm
Hola,

La maquina es de Kimsufi, Ks4
http://www.kimsufi.com/es/ (http://www.kimsufi.com/es/)

Core i7-920 2.66 GHz+
16 GB Ram
100 Mbps

Gracias!


Título: Re: Busco senior Linux experto en seguridad, DDOS
Publicado por: moikano→@ en 26 Julio 2015, 00:33 am
Hola.

No entiendo mucho de esto pero ,por si te sire de momento, con iptables puedes hacer alguna regla para bloquear ips si hacen demasiadas conexiones seguidas a un puerto. Eso si, hay que cuadrarlo bien sino bloquearias a usuarios legítimos.

Código:
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j DROP

En este caso si hace 4 peticiones en 3 minutos al puerto 21 bloquea la ip.

Suerte.


Título: Re: Busco senior Linux experto en seguridad, DDOS
Publicado por: v4char en 27 Julio 2015, 02:51 am
Si esto puede ayudar.

Código:
# Iptables
 
IPT="/sbin/iptables"
ETH="eth0"
 
#Todo el tráfico syn
$IPT -P INPUT DROP
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -P OUTPUT DROP
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
$IPT -A OUTPUT -m state --state INVALID -j DROP
$IPT -P FORWARD DROP
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset
$IPT -A FORWARD -m state --state INVALID -j DROP
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A FORWARD -i lo -o lo -j ACCEPT
 
#Cuando sube la carga
$IPT -A INPUT -p tcp --syn -j REJECT --reject-with icmp-port-unreachable
 
#La que mejor va
$IPT -N syn-flood
$IPT -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
$IPT -A syn-flood -j LOG --log-prefix "SYN flood: "
$IPT -A syn-flood -j DROP
 
#Igual que el de arriba pero muy raw
$IPT -N syn-flood
$IPT -A INPUT -i eth0:2 -p tcp --syn -j syn-flood
$IPT -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPT -A syn-flood -j DROP
$IPT -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
 
#Descartar paquetes mal formados
$IPT -N PKT_FAKE
$IPT -A PKT_FAKE -m state --state INVALID -j DROP
$IPT -A PKT_FAKE -p tcp --dport 80 --tcp-flags ALL ACK,RST,SYN,FIN -j DROP
$IPT -A PKT_FAKE -p tcp --dport 80 --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -A PKT_FAKE -p tcp --dport 80 --tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A PKT_FAKE -p tcp --dport 80 ! --syn -m state --state NEW -j DROP
$IPT -A PKT_FAKE -f -j DROP
$IPT -A PKT_FAKE -j RETURN
 
#Syn-flood
$IPT -N syn-flood
$IPT -A INPUT -i eth+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-flood
$IPT -A FORWARD -i eth+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-flood
$IPT -A syn-flood -m limit --limit 4/s --limit-burst 16 -j RETURN
$IPT -A syn-flood -m limit --limit 75/s --limit-burst 100 -j RETURN -A syn-flood -j LOG --log-prefix "SYN FLOOD " --log-tcp-sequence --log-tcp-options --log-ip-options -m limit --limit 1/second
$IPT -A syn-flood -j DROP
 
#Requiere módulo "recent"
modprobe ipt_recent
$IPT -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
$IPT -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 10 -j DROP
 
# explicación:
# Se añade cada ip que se conecte a la tabla de recent
# Por por cada ip en la tabla de recent si hace mas de x hits en x segundos, se dropea.
$IPT -I INPUT -p tcp --syn -m recent --set
$IPT -I INPUT -p tcp --syn -m recent --update --seconds 10 --hitcount 30 -j DROP
 
#UDP Flood
$IPT -A OUTPUT -p udp -m state --state NEW -j ACCEPT
$IPT -A OUTPUT -p udp -m limit --limit 100/s -j ACCEPT
$IPT -A OUTPUT -p udp -j DROP
 
#Evitando Layer7 DoS limitando a 80 la máxima cantidad de conexiones
$IPT -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-upto 50/min --hashlimit-burst 80 --hashlimit-mode srcip --hashlimit-name http -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j DROP
 
#Permitir el ping, pero a 1 paquete por segundo, para evitar un ataque ICMP Flood
$IPT -A INPUT -p icmp -m state --state NEW --icmp-type echo-request -m limit --limit 1/s --limit-burst 1 -j ACCEPT
$IPT -A INPUT -p icmp -j DROP
 
#Evitando que escaneen la máquina
$IPT -A INPUT -i $ETH -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE –j DROP
$IPT -A INPUT -i $ETH -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN –j DROP
$IPT -A INPUT -i $ETH -p tcp -m tcp --tcp-flags SYN,RST SYN,RST –j DROP
$IPT -A INPUT -i $ETH -p tcp -m tcp --tcp-flags FIN,RST FIN,RST –j DROP
$IPT -A INPUT -i $ETH -p tcp -m tcp --tcp-flags ACK,FIN FIN –j DROP
$IPT -A INPUT -i $ETH -p tcp -m tcp --tcp-flags ACK,URG URG –j DROP
 
exit 0


Título: Re: Busco senior Linux experto en seguridad, DDOS
Publicado por: engel lex en 27 Julio 2015, 03:14 am
Recomiendo no llenar el post de soluciones sin saber por lo menos que tipo de ddos específico enfrenta o si aunque sea es realmente es un ddos... Dejen el tema para que algun asesor con experiencia contacte


Título: Re: Busco senior Linux experto en seguridad, DDOS
Publicado por: Platanito Mx en 27 Julio 2015, 18:11 pm
Hola.

No entiendo mucho de esto pero ,por si te sire de momento, con iptables puedes hacer alguna regla para bloquear ips si hacen demasiadas conexiones seguidas a un puerto. Eso si, hay que cuadrarlo bien sino bloquearias a usuarios legítimos.

Código:
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j DROP

En este caso si hace 4 peticiones en 3 minutos al puerto 21 bloquea la ip.

Suerte.

Recomiendo no llenar el post de soluciones sin saber por lo menos que tipo de ddos específico enfrenta o si aunque sea es realmente es un ddos... Dejen el tema para que algun asesor con experiencia contacte

De cierta forma estoy de acuerdo con engel lex, en el sentido de que siempre que se habla de ataques se recomienda el bloqueo por IPTables no evitarás que llegue al servidor y por ende el consumo del ancho de banda seguirá siendo afectado.

Cuando nos hablan de un ataque DDOS siempre se nos viene a la mente el una negación de servicios por consumo de ancho de banda o de recursos del equipo, pero hay muchos tipos de ataques DDOS.

En la parte que no estoy de acuerdo es dejar el tema hasta que algún asesor con experiencia contacte, porque puede presentarse un "asesor" que le de espejitos y Littl3 nos pudiera compartir lo que él a encontrado y/o lo que le dices los asesores tanto para nuestro conocimiento como poderlo ayudar con nuestras experiencias.