Denegar ataques icpm-flood, udp-flood y syn-flood en GNU/Linux CentOS

Un poco de teoría, en seguridad informática, un ataque de denegación de servicio, también llamado ataque DoS (de las siglas en inglés Denial of Service), es un ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios legítimos.

Normalmente provoca la pérdida de la conectividad de la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales del sistema de la víctima. (wikipedia). Bien, primeramente;

Se crea un archivo de texto vacío de nombre ataques.sh ;
touch  ataques.sh

Posteriormente se edita con cualquier editor de textos el archivo ataques.sh;

vim ataques.sh

# Se declara el bash a utilizar

#!/bin/bash

# Se crean los archivos donde se alojaran las IPs para las listas negras;

iptables -A  listanegra -m recent – -name blacklist_180 – -rcheck – -seconds 180 -m comment – -comment “Denegar los paquetes de las IPs ingresadas a la lista negra por 180 segundos” -j DROP

Estos archivos se crean en el directorio /proc ya sea en;

/proc/net/xt_recent/blacklist_180 o /proc/net/ipt_recent/blacklist_180

Así mismo puede ser visualizado utilizando la siguiente sintaxis;

cat /proc/net/xt_recent/blacklist_180

# Detener el ICMP Flood
#Crear la cadena para ICMP flood
iptables -N cadena-icmp-flood

# Saltar a la cadena cuando el  ICMP  es detectado
iptables -A INPUT -p icmp -j cadena-icmp-flood

# Salir de la cadena, si la tasa de paquetes de la misma IP es inferior a 4 por segundo con una ráfaga de 8 por segundo
iptables -A cadena-icmp-flood -m limit – -limit 4/s – -limit-burst 8 -m comment – -comment “Limit ICMP rate” -j RETURN

# Registros flood cuando la tasa es más alta
iptables -A cadena-icmp-flood -m limit – -limit 6/h – -limit-burst 1 -j LOG – -log-prefix “Cortafuegos: Probable icmp flood ”

# Mandar a lista negra a la  IP por 3 minutos
iptables -A cadena-icmp-flood -m recent – -name blacklist_180 – -set -m comment – -comment “ListaNegra origen IP” -j DROP

# Detener el UDP flood

# Crear la cadena para UDP flood
iptables -N cadena-udp-flood

# Saltar a la cadena cuando el UDP es detectado
iptables -A INPUT -p  udp -j cadena-udp-flood

# Limitar la velocidad UDP  a 10/segundos con limite de 20
iptables -A cadena-udp-flood -m limit – -limit 10/s – -limit-burst 20 -m comment – -comment “Limite velocidad UDP” -j RETURN

# Log
iptables -A cadena-udp-flood -m limit – -limit 6/h – -limit-burst 1 -j LOG – -log-prefix “Cortafuegos: Probable udp flood “

# Denegados por 3 minutos para flooders
iptables -A cadena-udp-flood -m recent – -name blacklist_180 – -set -m comment – -comment “ListaNegra origen IP” -j DROP

# Detener SYN flood

# Crear la cadena syn-flood
iptables -N cadena-syn-flood

# Saltar a la cadena syn-flood cuando el paquete es detectado
iptables -A INPUT -p tcp – -syn -j cadena-syn-flood

# Limitar la tasa de paquetes de dos por segundo, con un 6 por segunda ráfaga
iptables -A cadena-syn-flood -m limit – -limit 2/s – -limit-burst 6 -m comment – -comment “Limitar velocidad TCP SYN” -j RETURN

# Log flooders
iptables -A cadena-syn-flood -m limit – -limit 6/h – -limit-burst 1 -j LOG – -log-prefix “Cortafuegos: Probable syn flood “

# Prohibir flooders por 3 minutos
iptables -A cadena-syn-flood -m recent – -name blacklist_180 – -set -m comment – -comment “Blacklist source IP” -j DROP

# Detener otros tipos de ataques de SYN FLOOD
iptables -A INPUT -p tcp ! – -syn -m state – -state NEW -m comment – -comment “Drop TCP connection not starting by SYN” -j DROP

Para finalizar, si desea guardar las reglas en el sistema desde el inicio de arranque del servidor GNU/Linux ejecute la siguiente sintaxis;

service iptables save

Y reiniciamos el servicio iptables;

service iptables restart

Verificamos las reglas creadas;

iptables -nL

Sintaxis de netfilter/iptables tomadas de acá bajo creative commons.

Sintaxis de netfilter/iptables probadas satisfactoriamente en GNU/Linux CentOS 5.

Fuente: enlinux.org

  • 0 brukere syntes dette svaret var til hjelp
Var dette svaret til hjelp?

Relaterte artikler

Asegurar SSH y mensaje de alerta por login root

Pues esto es para cambiar un poco el acceso ssh. Aqui vamos a cambiar el puerto y el logueo...

Cambiar la página de exceso de tráfico en CPanel/WHM Borrar

1. Inicie sesión en su servidor. 2. Haga un backup del fichero a modificar: cp...

Instalación bzip2

Instalación de compresores/descompresores para linux cd .. wget...

Instalación CPanel/WHM Borrar

Primero de todo deberá tener acceso como usuario root, haga login en su servidor dedicado y haga...

Mensaje de Bienvenida en SSH

Podemos definir el mensaje de bienvenida al iniciar sesión en SSH. Pasos a seguir: 1....