[GUIA]Bloquear Ataques por DDoS

Topic created · 31 Mensajes · 7039 Visitas
  • pues estas equivocado peter, porqeu un ataque ddos se hace por la conexion a internet osea el puero 80 XD

  • Antes de empezar la guía, vamos a ver primero que es un ataque mediante DDoS.

    DDoS viene de la abreviación en inglés de "Distributed Denial Of Service", que en español viene a ser "Ataque de Degeneración de Servicio". Básicamente este tipo de ataques se basa en sobrecargar los recursos de la máquina o lo que se vaya a atacar. Es un ataque bastante común y que está jodiendo bastante, así que aquí la guía para para el ataque DDoS en nuestros servidores de Metin2 por FreeBsd.

    Primero vamos a activar el cortafuegos(firewall) y para ello debemos agregar las siguientes líneas al archivo rc.conf el cual se encuentra en la carpeta /etc/:

    pf_enable="YES"
    pf_rules="/etc/pf.conf"
    pf_flags=""
    pflog_enable="YES"
    pflog_logfile="/var/log/pflog"
    pflog_flags=""
    

    Ahora vamos a configurar el firewall, para ello vamos a /etc/pf.conf/ y lo abrimos con el editor de texto que utilicemos y le añadimos las siguientes líneas:

    block in all
    pass in quick on lo0
    pass out quick on lo0
    table  persist file "/var/db/lalista(lo llamamos como queramos)"
    block quick from 
    pass in quick on sis0 proto tcp from any to any port 22 keep state
    pass in quick on sis0 proto tcp from any to any port 80 keep state
    pass in quick on sis0 proto tcp from any to any port 3690 keep state
    pass out all keep state
    

    De esta manera bloqueamos las entradas.

    Ahora vamos a crear "lalista"(o el nombre que hayan escogido ustedes) y para ello la damos el siguiente permiso:

    touch /var/db/lalista
    chmod 644 /var/db/lalista
    

    Ahora vamos a crear el script al cual vamos a llamarlo bloqueo y para guardarlo le daremos permiso chmod 751 :

    #!/usr/bin/perl
    
    use strict;
    
    my @assholes = ();
    
    open (IN, "/var/log/auth.log");
    while () {
            if ($_ =~ /Invalid user.*from ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/) {
                    push(@assholes, $1);
            }
            if ($_ =~ /Did not receive identification string from ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/) {
                    push(@assholes, $1);
            }
    }
    close (IN);
    
    @assholes = sort {lc($a) cmp lc($b)} @assholes;
    
    my @allowedIPs = ();
    open (IN, "/var/db/allowed-ips");
    while () {
            if ($_ =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) {
                    push(@allowedIPs, $_);
            }
    }
    close (IN);
    
    chop(@allowedIPs);
    
    my $tmp = "";
    foreach my $asshole (@assholes) {
            if ($asshole eq $tmp) {
                    $asshole = "";
            } else {
                    if ($asshole =~ /127\.0\.0\.1/) {
                            $asshole = "";
                    }
                    if ($asshole =~ /192\.168\.[0-9]+\.[0-9]+/) {
                            $asshole = "";
                    }
                    foreach my $allowedIP (@allowedIPs) {
                            if ($asshole =~ /$allowedIP/) {
                                    $asshole = "";
                            }
                    }
                    $tmp = $asshole;
            }
    }
    
    @assholes = sort {lc($b) cmp lc($a)} @assholes;
    
    my $popCount = 0;
    foreach my $asshole (reverse @assholes) {
            if ($asshole eq "") {
                    $popCount++;
            }
    }
    
    for (my $i = 0; $i < $popCount; $i++) {
            pop (@assholes);
    }
    
    my $list = "";
    foreach my $asshole (@assholes) {
            $list = $list . $asshole . " ";
    }
    
    exec "/sbin/pfctl -t bloqueo -T add $list";
    

    Ahora vamos a /etc/syslog.conf y lo abrimos para editarlo y añadirle la siguiente línea:

    auth.info;authpriv.info                         | exec /usr/bin/perl /sbin/bloqueo.pl
    

    de esta manera nos ejecutará el script para el bloqueo de ips externas.

    Espero que les sirva :miau:

  • sabias que me caes mal dj ¬¬ justo esa guía iva a postear yo, despues de el rato que me eche entendiendo y haciendo la guía sales tu con esto :T.T:

    P.D:buen aporte, pero igual me caes mal por no postearlo antes o por no dejar qeu yo lo posteara hum!
    P.D.2: sepan interpretar la ironia _xD_

  • como digan^^

  • funciona perfectamente ya que bloquea que cualquier otra ip pueda entrar para realizar el ataque de degeneración y aver si vamos tratando con respeto que mira que eres pesado, que lo único que haces es criticar las guías que los demás

  • hazte un favor a ti mismo y ahorrate las palabras, en primier lugar que colaboracion ahs dado tu ? si lo unico qeu sabes es criticar, y segundo esto si sirve, esto no es mas qeu activar una aplicación de firewall que vigila los puertos 80 22 3690, y según se lo indiques no permite que las ip tengan mas de x coneciones y que no puedan volver a realizar una conexion en x tiempo evitando asi la entrada por fuerza bruta a tu servidor y a la vez ataques ddos ya que al la ip no poder realizar muchas conexiones se necesitaian muchas pc's para poder realizar un ataque ddos si estas protegido con esto.

  • oks cm digas

  • aver si aprendes a no faltar el respeto ya que vas a terminar baneado porque la mayoria de tus post son criticando e insultando

    P.D: Reporto tu mensaje por faltarme el respeto :miau:

  • @shino said:

    NO DIGAS K BLOKEA LA IP SI NO ES HACK DE IP

    pues para algo existe la "lalista" como dj puse que seria mas una banlist o blacklist, donde se almacenan ip's que no quieras qeu conecten al servidor por la razon que sea, asi qeu si bloquea las ip.

    Edito: esto esta entre una duda y un aporte, si se agregan a la lista los puertos del juego se podria proteger también de algunos ataques verdad, pero si por ejemplo a un user lo vota mucho al intentar conectarse muchas veces seguidas en poco tiempo no blockearia la ip ?

    estas serian als lineas a agregar:

    pass in quick on sis0 proto tcp from any to any port 11002 keep state
    pass in quick on sis0 proto tcp from any to any port 13000 keep state
    pass in quick on sis0 proto tcp from any to any port 15001 keep state
    pass in quick on sis0 proto tcp from any to any port 13001 keep state
    pass in quick on sis0 proto tcp from any to any port 13002 keep state
    pass in quick on sis0 proto tcp from any to any port 13003 keep state
    pass in quick on sis0 proto tcp from any to any port 13061 keep state
    pass in quick on sis0 proto tcp from any to any port 13099 keep state
    pass in quick on sis0 proto tcp from any to any port 13000 keep state
    pass in quick on sis0 proto tcp from any to any port 15001 keep state
    pass in quick on sis0 proto tcp from any to any port 14001 keep state
    pass in quick on sis0 proto tcp from any to any port 14002 keep state
    pass in quick on sis0 proto tcp from any to any port 14003 keep state
    pass in quick on sis0 proto tcp from any to any port 14061 keep state
    pass in quick on sis0 proto tcp from any to any port 14099 keep state
    pass in quick on sis0 proto tcp from any to any port 16001 keep state
  • @shino said:

    JAJAJAJAJ YO Y ANRCOTICO LO EMOS PROBADO Y NO FUNCIONA JAJAJ SIGUE EL PROBLEMA ADEMAS NO DIGAS K BLOKEA LA IP SI NO ES HACK DE IP JAJAJAJAJAJAJAJA NO VALE K RISA MEJOR VETE A TUS ISLAS CANARARIAS A AGARRAR SOL EN LA NOCHE Y A BEBER AGUA DE COCO ^^ ASI K NO VENGAS CON CUENTOS K NO SABES ANDA A AHCER QUEST MEJOR

    primero que nada shino , no digo que no sepas como se hace un ataque ddos , pero estás seguro de que el ataque que isieron era un verdadero ataque ddos ? si tu pc es un "host casero" no awantará ni si quiera un gruñido de mi perro , cuanto menos un ddos , estos ataques para que funcionen y lleven bastante fuerza y te jodan el servidor y te lo tiren se hacen desde varios pc , un verdadero ataque de estos se hace con muchisimos pc , se les llama pc zombies , son pc infectados de pobre ignorantes que tienen sus pc con algun troyano o alguna porqueria metida a la espera del que los infectó los despierte y se pongan a trabajar , lee un poco por google sobre estos ataques , no eres el descubridor de nada shino , esto es mas viejo que las peliculas de baqueros , no sé que fue lo que usó el amigo tuyo ese de guabina , ai mil historias para tirar un servidor , una de ellas es esta , pero con un solo pc contra un servidor potente y protegido no arás nada , ahora contra un host casero , antes de llegar si quiera darle click ya estará por los suelos , te apuesto algo a que le aces un ataque de estos a cualquier servidor de los " grandes " y ni se darán cuenta , te bloquearan la ip a los 3 segundos ....