Iptables para proteger tu servidor

Aquí podrás publicar temas sobre programación en general (C++, JAVA, Python, etc), que no encajen en el apartado Programación Web.
Responder
Avatar de Usuario
GForce
Aprendiz
Aprendiz
Mensajes: 180
Registrado: 11 Ene 2019 10:27
Reputación: 6

14 Ene 2019 14:55

Las siguientes Iptables las he usado en mi vps (Ubuntu) y efectivamente funcionan , solo tienen que copiarlas y pegarlas en su consola y les podrán ayudar a resolver algunos ataques
(Ninguna de las siguientes Iptables es de mi autoría , solo las he recopilado )

Imagen


UDP Flood : (Multiples conexiones falsas)

iptables -A INPUT -p udp -m udp --sport 19 -j DROP

iptables -A INPUT -p udp -m limit --limit 5/s -j RETURN

iptables -A INPUT -p udp -m limit --limit 5/s -j LOG

Syn Flood y Query Fallidos ( Te aparece un mensaje en los logs como este : Warning: dropping a split packet from client)

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j DROP

iptables -A INPUT -p tcp --syn --dport 443 -m connlimit --connlimit-above 20 -j DROP

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 20 -j DROP

iptables -A INPUT -p tcp --dport 443 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 443 -m state --state NEW -m recent --update --seconds 10 --hitcount 20 -j DROP

iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 13 -j DROP***(en lo posible no usar esta)

Para tener los logs de las Ip's y rechazarlas segun sea el caso:

iptables -N flood

iptables -A flood -j LOG --log-prefix "FLOOD "

iptables -A flood -j DROP

Proteger tu ancho de banda (Sirve contra algunos ataques DDOS que ocupan este y lo sobrecargan ) :

(Lo siguiente solo tienen que copiarlo y pegar) :

sysctl -w net/ipv4/tcp_syncookies=1

sysctl -w net/ipv4/tcp_timestamps=1

sysctl -w net/netfilter/nf_conntrack_tcp_loose=0

echo 2500000 > /sys/module/nf_conntrack/parameters/hashsize
sysctl -w net/netfilter/nf_conntrack_max=2000000

iptables -t raw -I PREROUTING -p tcp -m tcp --syn -j CT --notrack

iptables -I INPUT -p tcp -m tcp -m conntrack --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460

iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

Si estan bajo un Ataque DDOS Esto les puede ser de utilidad:

iptables -t raw -I PREROUTING -p tcp -m tcp -d 192.168.0.50 --syn -j CT --notrack
iptables -I INPUT -p tcp -m tcp -d 192.168.0.50 -m conntrack --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

*Remplazen el 192.168.0.50 por la Ip que desean proteger.

Sumado a todas estas reglas se les recomienda instalar APF o CSF Para complementarlas y darle mayor seguridad a su servidor (Ninguna de las iptables garantiza detener el ataque completamente ya que la mayoria de las medidas son en parte para mitigarlos

*Si alguien mas quiere aportar iptables que comente y puedo ir editando para tener mas información y asi mejorar la seguridad de nuestros servidores.

EDITADO:

Mitigar algunos otros ataques comunes "Diferentes tipos de DDOS": (Recuerden que solo tienen que copiar y pegar)

iptables -A INPUT -p ICMP --icmp-type echo-request -m length --length 60:65535 -j ACCEPT

iptables -A INPUT -p UDP -f -j DROP

iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP

iptables -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP

iptables -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT

iptables -A INPUT -p UDP --dport 7 -j DROP

iptables -A INPUT -p UDP --dport 19 -j DROP

iptables -A INPUT -p UDP --dport 135:139 -j DROP

iptables -A INPUT -p TCP --dport 135:139 -j DROP

iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 3 -j DROP

iptables -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP

iptables -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT

iptables -A INPUT -p ICMP -f -j DROP

iptables -A INPUT -p tcp -d IP -m length –length 40:48 -j DROP

iptables -A INPUT -p tcp -s 0.0.0.0/0 -d IP -m ttl –ttl 111 -j DRO

Les dejo una pagina mas para bloquear paises por ID
http://www.ipdeny.com/ipblocks/
Vendo la web de mc base fz, actualizada y mejorada tiene cosas que otras web de fz no tiene, paso foto si no me creen y si te interesa enviame MP para acordar el trato.
.

PD: La gm no la vendo ni estará en venta ya que reabrirá pronto.
Responder