LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Los firewalls de juniper vienen con una plantilla de configuración contra determinados ataques conocida como screening que previene contra diferentes tipos de ataques.
El objetivo de este artículo es hacer un compendio de directivas que puedan cubrir un espectro de reglas útiles que puedan añadirse a iptables a modo del screening de juniper, siempre con precaución y no haciéndolas permanentes (no grabándolas a fichero), hasta que se compruebe que no se bloquea ningún servicio que no se debiera.
Una de los primeros problemas que nos enfrentaremos con iptables es intentar parar ataques de denegación de servicio, bien sea distribuido bien sea desde un único origen:
ANTIDoS/ANTIDDoS:
Bloqueamos paquetes con determinada longitud:
iptables -A INPUT -p tcp -d IP -m length –length 40:48 -j DROP
Bloqueamos paquetes con determinado ttl:
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d IP -m ttl –ttl 111 -j DROP
SYN FLOOD PREVENTION:
$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
UDP FLOOD PREVENTION:
$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
Limitando el máximo de conexiones al puerto 80 (o otro puerto, en general defensa en capa 7):
$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
Limita el máximo número de conexiones por minuto contra apache:
iptables -A INPUT -p tcp –dport 80 -m state –state NEW -m limit –limit 50/minute –limit-burst 200 -j ACCEPT
ICMP FLOOD:
Permite ping, pero a 1 paquete por segundo, evitar ataques 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
RECENT TABLE:
Por por cada ip en la tabla de recent si hace mas de x hits en x segundos, se descarta.
$IPT -I INPUT -p tcp –syn -m recent –set
$IPT -I INPUT -p tcp –syn -m recent –update –seconds 10 –hitcount 30 -j DROP
Nota: Algunas de las siguientes reglas de bloqueo DDOS (más bien mitigación), utilizan un parámetro como iplimit-above que quizás no venga con iptables que tengas instalado (con un man, deberías de poder ver si viene en la ayuda de iptables). Si es así, quizás te toque compilar el kernel con plugins para iptables/netfilter.
echo “Block DOS – Ping of Death” Bloquea por tamaño de paquetes icmp.
iptables -A INPUT -p ICMP –icmp-type echo-request -m length –length 60:65535 -j ACCEPT
echo “Block DOS – Teardrop” Bloque tráfico de entrada udp fragmentado
iptables -A INPUT -p UDP -f -j DROP
echo “Block DDOS – SYN-flood”
iptables -A INPUT -p TCP –syn -m iplimit –iplimit-above 9 -j DROP
echo “Block DDOS – Smurf”
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
echo “Block DDOS – Connection-flood”
iptables -A INPUT -p TCP –syn -m iplimit –iplimit-above 3 -j DROP
echo “Block DDOS – Fraggle” Bloquea tráfico udp de entrada broadcast y limitándolo a 3 paquetes por segundo
iptables -A INPUT -p UDP -m pkttype –pkt-type broadcast -j DROP
iptables -A INPUT -p UDP -m limit –limit 3/s -j ACCEPT
echo “Block DDOS – Jolt” Bloquea paquetes fragmentados ICMP:
iptables -A INPUT -p ICMP -f -j DROP
echo “Block DDOS – SMBnuke” Esta regla más que para parar un ataque DDOS es para bloquear el acceso al troyano SMBnuke
iptables -A INPUT -p UDP –dport 135:139 -j DROP
iptables -A INPUT -p TCP –dport 135:139 -j DROP
En este artículo, tenemos una explicación más extensa. Te gustará.
Filtrado de paquetes en Linux con IPTABLES

-
Seguridad
- Ejemplos básicos de uso y asignación de iptables
- El comando Nohup en Linux le permite ejecutar en SSH comandos incluso después de cerrar la sesión
- Limitar el acceso ssh por dirección IP
- Tunelización SSH con Autossh
- Túneles SSH para diversión y ganancias: Autossh
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- 10 herramientas de pruebas de penetración y seguridad usadas por profesionales
- Realizar SSH y SCP sin introducir la contraseña en OpenSSH
- Tiger: la herramienta de detección de intrusos y auditoría de seguridad de Unix
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- ¿Cómo bloquear las herramientas de escaneo de puertos y registrarlas con iptables?
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Guía de Evaluación de IDS de Código Abierto. (detección de intrusiones)
- Cómo transferir de forma segura un archivo en la Dark Web a alguien que usa el protocolo Onion
- Limitación de velocidad por IP con iptables