Evitar ataques DoS con IPTables

Continuando con la serie de articulos de ayudas y tips para IPTables, en esta oportunidad vamos a ver de que manera podemos evitar un ataque de Denegación de Servicio (DoS).

# Creacion de una cadena personalizada
$IPTABLES -t nat -N SYN-FLOOD# Limitar la cantidad de conexiones
$IPTABLES -t nat -A SYN-FLOOD -m limit --limit 12/s --limit-burst 24 -j RETURN
$IPTABLES -t nat -A SYN-FLOOD -j DROP
# Chequear ataque DoS
$IPTABLES -t nat -A PREROUTING -i $WAN -d $IP_DEST -p tcp --syn -j SYN-FLOOD

Donde $WAN es la interface conectada a internet; $IP_DEST es la direccion IP que se proteje (puede ser la misma IP de la interface WAN o un servicio publicado).

4 respuestas a “Evitar ataques DoS con IPTables”

  1. H4ck3r Syst3m dice:

    Buenisio… ya lo estoy probando.
    Gracias Mey!

  2. L33t dice:

    Muy buen post, si señor!

  3. […] como menciona un loco arriba Distribuyed Denial Of Service Mira te tengo 2 Formas de evitarlo 1′ Por IP tables 2′ Por Apache PD deberian poner este post como fijo asi los q sufren de esto saben como evitarlo […]

  4. Ricardo dice:

    Gracias por tu aporte!!!
    Una pregunta:
    veo que hay un ataque en mi server que se da cada 3 segundos…

    Que debo hacer, bajar por ej el limit a 1 segundo (–limit 1/s) ?? O sea, debe ser siempre menor el tiempo de espera que el de llegada del syn??

    Y en el caso del –limit-burst como lo arreglo segun el tiempo del –limit 1/s??

    Porque con la regla que diste siguen los ataques…
    Tengo activado el SYN cookies y en sysctl.conf tengo estas dos lineas:

    # Aumentar el «baclog queuee»
    net.ipv4.tcp_max_syn_backlog= 2048
    #
    # Disminuir el tiempo de espera
    net.ipv4.tcp_synack_retries= 2

    Por ejemplo me parece que deberia igualar los tiempos porque en el fw tengo una regla en INPUT con espera de syn en 3/m, otra (la tuya) en 12/s y en las lineas del sysctl.conf tengo 2 segundos…. Por eso no funcionara?? Lo pruebo y comento… Si hay algo mas te agradezco si me lo respondes…
    Gracias, cappo laboro!!!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *