Está en la página 1de 23

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Bienvenido(a), Visitante. Por favor Ingresar o Registrarse Perdiste tu email de activacin?. | Foro | Web | Blog | Wiki | Ayuda | Buscar | Ingresar | Registrarse | 18 Febrero 2013, 14:46

Foro de elhacker.net Informtica Tutoriales - Documentacin Intentando detener un ataque DDoS Pginas: [1] 2 3

0 Usuarios y 1 Visitante estn viendo este tema.

Autor el-brujo ehn

Tema: Intentando detener un ataque DDoS (Ledo 111,434 veces) Intentando detener un ataque DDoS en: 25 Agosto 2006, 11:12 v 2.36 Porque un null-route a una ip no es una solucin, es una chapuza. Si unos script-kiddies estn DDoSeando tu web.....

Desconectado Mensajes: 17.648

1) Se basa en ataques reales. 2) No hay nada de teora, solo parte prctica. La libertad no se suplica, se conquista

A) Detectando el ataque
1) Usando el comando netstat
Cdigo: netstat -an | grep :80 | sort Cdigo: netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}' Cdigo: netstat -n -p|grep SYN_REC | wc -l Cdigo: netstat -lpn|grep :80 |awk '{print $5}'|sort

1 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Cdigo: netstat -an | grep :80 | awk '{ print $5 }' | awk -F: '{ print $1 }' | sort | uniq Ejemplo de ataque SYN_RECV o SYN Flooding al Apache (puerto 80). 192.168.0.3 es la ip del servidor apache y 192.168.0.105 es la ip del "atacante". Cdigo: tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80

192.168.0.5:60808 192.168.0.5:60761 192.168.0.5:60876 192.168.0.5:60946 192.168.0.5:60763 192.168.0.5:60955 192.168.0.5:60765 192.168.0.5:60961 192.168.0.5:60923 192.168.0.5:61336 192.168.0.5:61011 192.168.0.5:60911 192.168.0.5:60758 192.168.0.5:60828 192.168.0.5:61114 192.168.0.5:61074 192.168.0.5:60826 192.168.0.5:60959 192.168.0.5:60900 192.168.0.5:60940 192.168.0.5:60920 192.168.0.5:60825 192.168.0.5:60945 192.168.0.5:60913 192.168.0.5:61009 192.168.0.5:60755 192.168.0.5:60904 192.168.0.5:61583 192.168.0.5:60910 192.168.0.5:60915 192.168.0.5:60827 192.168.0.5:61458 192.168.0.5:60908 192.168.0.5:61007 192.168.0.5:60927 192.168.0.5:60951 192.168.0.5:60942 192.168.0.5:61113 192.168.0.5:60909 192.168.0.5:60822 192.168.0.5:60894 192.168.0.5:60952 192.168.0.5:60928 192.168.0.5:60936 192.168.0.5:60906 192.168.0.5:61466 192.168.0.5:60919 192.168.0.5:60914 192.168.0.5:60926 192.168.0.5:60939 192.168.0.5:60931 192.168.0.5:60831 192.168.0.5:60823 192.168.0.5:60954 192.168.0.5:60916 192.168.0.5:60963 192.168.0.5:60947 192.168.0.5:61006 192.168.0.5:60933 192.168.0.5:60950 192.168.0.5:60895 192.168.0.5:60917

SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV

2 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80 192.168.0.3:80

192.168.0.5:61480 192.168.0.5:60935 192.168.0.5:60960 192.168.0.5:60767 192.168.0.5:60918 192.168.0.5:60821 192.168.0.5:61077 192.168.0.5:60905 192.168.0.5:61517 192.168.0.5:60893 192.168.0.5:60953 192.168.0.5:60903 192.168.0.5:61439 192.168.0.5:61337 192.168.0.5:61545 192.168.0.5:61299 192.168.0.5:61010 192.168.0.5:60930 192.168.0.5:60744 192.168.0.5:60929 192.168.0.5:60754 192.168.0.5:61008 192.168.0.5:61116 192.168.0.5:60811 192.168.0.5:60807 192.168.0.5:60938 192.168.0.5:60764 192.168.0.5:60873 192.168.0.5:60817 192.168.0.5:61550 192.168.0.5:60748 192.168.0.5:60956 192.168.0.5:60753 192.168.0.5:61115 192.168.0.5:60741 192.168.0.5:61075 192.168.0.5:60948 192.168.0.5:60829 192.168.0.5:60943 192.168.0.5:61338 192.168.0.5:60762 192.168.0.5:60824 192.168.0.5:60830 192.168.0.5:61535 192.168.0.5:60898 192.168.0.5:60815 192.168.0.5:60962 192.168.0.5:60957 192.168.0.5:60944 192.168.0.5:60921 192.168.0.5:60759 192.168.0.5:60897 192.168.0.5:61518 192.168.0.5:60958 192.168.0.5:60922 192.168.0.5:60937 192.168.0.5:60875 192.168.0.5:60766 192.168.0.5:60751 192.168.0.5:60768 192.168.0.5:60743 192.168.0.5:61076 192.168.0.5:60912 192.168.0.5:60816

SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV

Claro ejemplo de SYN Attack al Apache.

2) Mirando el server-status del

3 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Apache
Si miramos el server-status del apache veremos conexiones en estado "Reading" ("R" Reading Request).

El problema es que cuando el nmero de conexiones "Reading" llena el "MaxClients" del Apache no acepta nuevas peticiones, por lo que los nuevos clientes, aunque sean legtimos, no sern aceptados. Podemos aumentar el valor del "MaxClients" para que no se llene la cola de peticiones y acepte a todos los clientes, sean atacantes o no. Otra buena medida es bajar el valor del "Timeout" del Apache para que las peticiones "Reading" sean "matadas" rpidamente, antes que pueda llenarse el MaxClients a su tope. Para aumentar el MaxClients en el Apache 2 basta con aadir la directiva: ServerLimit 350 antes de MaxClients y ya dejar. <IfModule prefork.c> [..] ServerLimit 500 MaxClients 450

4 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

[..] </IfModule>

3) Mirando los logs del mod_evasive


Citar
Jun 22 18:24:04 attack. Jun 22 18:24:45 attack. Jun 22 18:25:46 attack. Jun 22 18:27:23 attack. Jun 22 18:28:10 attack. Jun 22 18:29:57 attack. Jun 22 18:30:45 attack. Jun 22 18:31:45 attack. Jun 22 18:35:01 attack. Jun 22 18:35:15 attack. Jun 22 18:40:10 attack. Jun 22 18:48:04 attack. Jun 22 18:48:12 attack. Jun 22 18:52:57 attack. Jun 22 18:53:07 attack. Jun 22 18:53:26 attack. Jun 22 18:54:41 attack. Jun 22 18:55:17 possible attack. Jun 22 18:55:24 attack. Jun 22 18:55:33 attack. Jun 22 18:56:13 attack. Jun 22 18:57:45 attack. Jun 22 18:57:54 attack. Jun 22 18:58:46 attack. Jun 22 18:59:31 attack. Jun 22 19:00:33 attack. Jun 22 19:00:38 attack. Jun 22 19:01:35 attack. Jun 22 19:01:48 attack. Jun 22 19:02:57 attack. Jun 22 19:03:29 possible attack. Jun 22 19:05:07 attack. lan mod_evasive[3835]: Blacklisting address 82.228.169.50: possible lan mod_evasive[3600]: Blacklisting address 81.206.164.163: possible lan mod_evasive[3589]: Blacklisting address 155.232.250.19: possible lan mod_evasive[3671]: Blacklisting address 83.227.217.2: possible lan mod_evasive[3673]: Blacklisting address 68.187.171.89: possible lan mod_evasive[3605]: Blacklisting address 70.143.2.130: possible lan mod_evasive[3803]: Blacklisting address 69.157.93.88: possible lan mod_evasive[10397]: Blacklisting address 146.64.81.22: possible lan mod_evasive[3794]: Blacklisting address 66.38.192.134: possible lan mod_evasive[3553]: Blacklisting address 81.190.204.64: possible lan mod_evasive[16602]: Blacklisting address 64.231.39.129: possible lan mod_evasive[16479]: Blacklisting address 84.99.195.100: possible lan mod_evasive[16467]: Blacklisting address 201.0.10.142: possible lan mod_evasive[16573]: Blacklisting address 219.95.39.242: possible lan mod_evasive[16534]: Blacklisting address 86.129.3.91: possible lan mod_evasive[16527]: Blacklisting address 62.254.0.32: possible lan mod_evasive[30473]: Blacklisting address 24.196.199.191: possible lan mod_evasive[30520]: Blacklisting address 142.161.157.227: lan mod_evasive[30461]: Blacklisting address 65.92.145.133: possible lan mod_evasive[30509]: Blacklisting address 88.111.227.200: possible lan mod_evasive[30473]: Blacklisting address 69.199.94.227: possible lan mod_evasive[30517]: Blacklisting address 86.125.135.212: possible lan mod_evasive[30479]: Blacklisting address 84.192.141.65: possible lan mod_evasive[30527]: Blacklisting address 83.140.97.106: possible lan mod_evasive[30469]: Blacklisting address 82.173.216.196: possible lan mod_evasive[30517]: Blacklisting address 80.176.157.245: possible lan mod_evasive[30470]: Blacklisting address 86.133.102.51: possible lan mod_evasive[30870]: Blacklisting address 24.42.134.253: possible lan mod_evasive[30509]: Blacklisting address 62.254.0.34: possible lan mod_evasive[31009]: Blacklisting address 81.227.219.125: possible lan mod_evasive[31056]: Blacklisting address 172.209.173.153: lan mod_evasive[31385]: Blacklisting address 84.6.12.110: possible

5 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Jun 22 19:06:52 attack. Jun 22 19:06:56 possible attack. Jun 22 19:07:13 attack. Jun 22 19:07:37 attack. Jun 22 19:08:03 attack. Jun 22 19:08:17 attack. Jun 22 19:11:04 attack. Jun 22 19:12:37 attack. Jun 22 19:13:54 attack. Jun 22 19:24:04 attack. Jun 22 19:48:47 attack. Jun 22 19:53:04 attack. Jun 22 19:54:32 attack. Jun 22 19:56:10 attack. Jun 22 20:03:24 attack. Jun 22 20:08:31 attack. Jun 22 20:21:59 attack. Jun 22 20:32:28 attack. Jun 22 20:45:46 attack. Jun 22 20:48:03 attack. Jun 22 20:49:38 attack. Jun 22 20:51:21 attack. Jun 22 20:57:18 attack. Jun 22 20:57:51 attack. Jun 22 21:00:25 attack. Jun 22 21:12:04 attack. Jun 22 21:22:27 attack.

lan mod_evasive[31008]: Blacklisting address 85.227.144.249: possible lan mod_evasive[31263]: Blacklisting address 213.222.156.222: lan mod_evasive[31393]: Blacklisting address 62.163.143.166: possible lan mod_evasive[31021]: Blacklisting address 62.135.101.73: possible lan mod_evasive[31251]: Blacklisting address 82.201.249.69: possible lan mod_evasive[31200]: Blacklisting address 81.62.65.53: possible lan mod_evasive[31263]: Blacklisting address 82.39.148.204: possible lan mod_evasive[31241]: Blacklisting address 213.222.154.13: possible lan mod_evasive[31027]: Blacklisting address 81.51.79.4: possible lan mod_evasive[31041]: Blacklisting address 84.221.118.156: possible lan mod_evasive[3400]: Blacklisting address 62.135.101.192: possible lan mod_evasive[31031]: Blacklisting address 62.30.33.13: possible lan mod_evasive[31016]: Blacklisting address 72.14.194.18: possible lan mod_evasive[31067]: Blacklisting address 198.96.34.58: possible lan mod_evasive[5144]: Blacklisting address 172.213.33.242: possible lan mod_evasive[5137]: Blacklisting address 83.241.11.16: possible lan mod_evasive[6645]: Blacklisting address 201.23.193.20: possible lan mod_evasive[7801]: Blacklisting address 212.38.134.172: possible lan mod_evasive[7836]: Blacklisting address 81.247.11.48: possible lan mod_evasive[7796]: Blacklisting address 70.245.98.186: possible lan mod_evasive[7832]: Blacklisting address 61.8.138.203: possible lan mod_evasive[7801]: Blacklisting address 201.132.197.161: possible lan mod_evasive[10426]: Blacklisting address 82.201.249.67: possible lan mod_evasive[7822]: Blacklisting address 81.77.26.162: possible lan mod_evasive[7817]: Blacklisting address 200.39.202.243: possible lan mod_evasive[7794]: Blacklisting address 84.27.139.25: possible lan mod_evasive[7816]: Blacklisting address 217.208.98.254: possible

Si es un DDoS muy distribuido enseguida notaremos que muchas ip's diferente DoSean el Apache.

4) Mirando los logs del syslog (del kernel)


Citar
May May May May May May May May May 17 17 17 17 17 17 17 17 17 13:39:01 13:39:02 13:39:35 13:39:35 13:39:38 13:39:38 13:39:43 13:39:43 13:39:48 lan lan lan lan lan lan lan lan lan kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: possible SYN flooding on port 80. ip_conntrack: table full, dropping NET: 4 messages suppressed. ip_conntrack: table full, dropping NET: 1 messages suppressed. ip_conntrack: table full, dropping NET: 6 messages suppressed. ip_conntrack: table full, dropping NET: 4 messages suppressed. Sending cookies. packet. packet. packet. packet.

6 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

May May May May May May

17 17 17 17 17 17

13:39:48 13:39:52 13:39:52 13:39:57 13:39:57 13:40:01

lan lan lan lan lan lan

kernel: kernel: kernel: kernel: kernel: kernel:

ip_conntrack: table full, dropping NET: 9 messages suppressed. ip_conntrack: table full, dropping NET: 15 messages suppressed. ip_conntrack: table full, dropping possible SYN flooding on port 80.

packet. packet. packet. Sending cookies.

Lneas a mirar: Citar


possible SYN flooding on port 80. Sending cookies.

"Sending Cookies" si lo tenemos activado en el /etc/sysctl.conf # Enable TCP SYN Cookie Protection Cdigo: net.ipv4.tcp_syncookies = 1 A veces es mejor deshabilitarlo: Cdigo: net.ipv4.tcp_syncookies = 0 De esta manera podemos ver las ip's del ataque: Citar
Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 12:46:50 12:46:55 12:46:55 12:46:59 12:46:59 12:47:05 12:47:05 12:47:11 12:47:11 12:47:14 12:47:14 12:47:19 12:47:19 12:47:24 12:47:24 12:47:29 12:47:29 12:47:34 12:47:34 12:47:39 12:47:39 12:47:44 12:47:44 13:04:15 13:04:22 13:04:22 13:04:30 13:04:30 13:04:30 13:04:38 13:04:38 13:04:40 13:04:40 13:04:45 13:04:45 13:04:50 13:04:50 13:04:54 13:04:54 13:05:00 13:05:00 13:05:04 13:05:04 13:05:09 13:05:09 lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: TCP: drop open request from 80.171.45.81/63069 NET: 1401 messages suppressed. TCP: drop open request from 80.103.166.148/4403 NET: 1772 messages suppressed. TCP: drop open request from 200.127.62.215/4019 NET: 2362 messages suppressed. TCP: drop open request from 85.57.169.142/19899 NET: 2618 messages suppressed. TCP: drop open request from 83.19.73.122/2710 NET: 898 messages suppressed. TCP: drop open request from 80.235.39.64/3554 NET: 1120 messages suppressed. TCP: drop open request from 80.171.45.81/62095 NET: 1714 messages suppressed. TCP: drop open request from 84.62.152.44/34014 NET: 2274 messages suppressed. TCP: drop open request from 200.127.62.215/3207 NET: 1552 messages suppressed. TCP: drop open request from 80.103.166.148/4797 NET: 4044 messages suppressed. TCP: drop open request from 80.235.39.64/2678 NET: 4360 messages suppressed. TCP: drop open request from 80.103.166.148/1312 TCP: drop open request from 200.14.237.83/4787 NET: 147 messages suppressed. TCP: drop open request from 81.38.172.161/4892 NET: 6 messages suppressed. TCP: drop open request from 200.14.237.83/4934 TCP: drop open request from 200.14.237.83/4935 NET: 76 messages suppressed. TCP: drop open request from 81.84.212.34/2861 NET: 269 messages suppressed. TCP: drop open request from 200.14.237.83/3070 NET: 287 messages suppressed. TCP: drop open request from 81.203.228.102/4400 NET: 98 messages suppressed. TCP: drop open request from 81.84.212.34/3961 NET: 245 messages suppressed. TCP: drop open request from 200.84.169.200/1183 NET: 1787 messages suppressed. TCP: drop open request from 81.203.228.102/2050 NET: 3208 messages suppressed. TCP: drop open request from 86.212.167.27/4720 NET: 2031 messages suppressed. TCP: drop open request from 81.203.228.102/1794

7 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul

14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14

13:05:14 13:05:14 13:05:21 13:05:21 13:05:25 13:05:25 13:05:30 13:05:30 13:05:36 13:05:36 13:05:39 13:05:39 13:05:45 13:05:45 13:05:50 13:05:50 13:05:56 13:05:56 13:05:59 13:05:59 13:06:04 13:06:04 13:06:09 13:06:09 13:06:14 13:06:14 13:06:19 13:06:19 13:06:24 13:06:24 13:06:29 13:06:29 13:06:35 13:06:35 13:06:39

lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan lan

kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel:

NET: 2221 messages suppressed. TCP: drop open request from 81.38.172.161/4908 NET: 730 messages suppressed. TCP: drop open request from 81.203.228.102/1430 NET: 234 messages suppressed. TCP: drop open request from 81.203.228.102/2939 NET: 1594 messages suppressed. TCP: drop open request from 200.14.237.83/3876 NET: 633 messages suppressed. TCP: drop open request from 86.212.167.27/1116 NET: 970 messages suppressed. TCP: drop open request from 81.38.172.161/3040 NET: 548 messages suppressed. TCP: drop open request from 81.203.228.102/2119 NET: 421 messages suppressed. TCP: drop open request from 81.203.228.102/2478 NET: 379 messages suppressed. TCP: drop open request from 81.203.228.102/4005 NET: 891 messages suppressed. TCP: drop open request from 81.38.172.161/3568 NET: 2221 messages suppressed. TCP: drop open request from 81.203.228.102/4532 NET: 243 messages suppressed. TCP: drop open request from 81.203.228.102/1939 NET: 2166 messages suppressed. TCP: drop open request from 81.38.172.161/2137 NET: 2071 messages suppressed. TCP: drop open request from 81.38.172.161/3136 NET: 2069 messages suppressed. TCP: drop open request from 81.84.212.34/4600 NET: 1797 messages suppressed. TCP: drop open request from 86.212.167.27/3171 NET: 1292 messages suppressed. TCP: drop open request from 81.203.228.102/1394 NET: 715 messages suppressed.

Citar
May 17 14:13:24 lan kernel: ip_conntrack: table full, dropping packet.

Tabla llena. Tenemos un problema porque no admitiremos ms conexiones aunque sean legtimas. Podemos aumentar el valor de dicha tabla si nuestra red da para ms. Directamente: Cdigo: echo "65535" > /proc/sys/net/ipv4/ip_conntrack_max Para que el valor quede guardardo y no se pierda al reiniciar, debemos aadirlo en el sysctl.conf Cdigo: net.ipv4.ip_conntrack_max = 65535 Recuerda reiniciar la red para aplicar los cambios en el /proc (service network restart). Paquetes Marcianos: Citar
Aug Aug Aug Aug Aug Aug Aug Aug Aug Aug 31 31 31 31 31 31 31 31 31 31 12:41:29 12:45:07 12:52:57 12:58:55 13:08:12 13:12:03 13:34:38 13:37:38 13:52:42 13:56:18 lan lan lan lan lan lan lan lan lan lan kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: martian martian martian martian martian martian martian martian martian martian source source source source source source source source source source 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 from from from from from from from from from from 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, on on on on on on on on on on dev dev dev dev dev dev dev dev dev dev eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0

8 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Aug Aug Aug Aug Aug Aug Aug Aug Aug Aug

31 31 31 31 31 31 31 31 31 31

13:59:54 14:13:32 14:38:08 14:43:42 14:50:05 14:51:05 14:57:58 15:05:27 15:06:14 15:09:08

lan lan lan lan lan lan lan lan lan lan

kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel:

martian martian martian martian martian martian martian martian martian martian

source source source source source source source source source source

192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10 192.168.0.10

from from from from from from from from from from

0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0,

on on on on on on on on on on

dev dev dev dev dev dev dev dev dev dev

eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0

Son paquetes inesperados que llegan por un camino por el cual no pueden llegar indica algn problema de audacia (cracker). Usando paquetes como stos se pueden atacar vulnerabilidades remotas en stacks TCP/IP

5) Mirando las grficas del MRTG, RRDtool


Si ves que el trfico inbound sube hasta los 100mbps es que te estn doseando hehehe.

9 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

B) Intentar parar el ataque


1) -

mod_evasive

Web Oficial: http://www.nuclearelephant.com/projects/mod_evasive/ Consideramos que 50 conexiones por segundo a 2 pginas es suficiente motivo como para bloquear esa ip: Cdigo: <IfModule mod_evasive.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 900 </IfModule>

Igual que el anterior pero con 50 peticiones en un segundo a 1 sola pgina: Cdigo: <IfModule mod_evasive.c> DOSHashTableSize 3097 DOSPageCount 1 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 </IfModule> Si queremos bloquear las ips que floodean, podemos usar el iptables: DOSSystemCommand "sudo -u root -c '/sbin/iptables -A INPUT -s %s -j DROP" Recordar mirar el syslog por si hay posibles falsos positivos (ip's que no hacian flood). Para evitar falsos positivos:

10 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Cdigo: <IfModule mod_evasive.c> # aadir estas lneas que corresponden a rangos de los bots de google DOSWhitelist 66.249.65.* DOSWhitelist 66.249.66.* </IfModule> Importante: Para que el mod_evasive funcione correctamente debers modificar el: Citar
MaxRequestsPerChild 0

Para poner un valor alto pero nunca ilimitado (0). Citar


MaxRequestsPerChild 10000

Config ejemplo: http://www.eth0.us/mod_evasive

2-

mod_security

El nico problema del mod_security es que necesitamos al menos un argumento para detectar el ataque. En el ejemplo usamos en http_referer y el User Agent para detectar el DDoS: Bloqueando un ataque Iframe http://foro.elhacker.net/seguridad/bloqueando_un_ataque_iframe-t127481.0.html

3-

tcplimit, ipdrop, ipblock sysctl.conf

Usando firewalls dinmicos.

4- Optimizando y asegurando la red con el cat /proc/sys/net/ipv4/tcp_syncookies

# Enable IP spoofing protection, turn on Source Address Verification net.ipv4.conf.all.rp_filter = 1 # Enable TCP SYN Cookie Protection net.ipv4.tcp_syncookies = 1 # Enable ignoring broadcasts request net.ipv4.icmp_echo_ignore_broadcasts = 1

1). Activate SynCookies protection It works by sending out 'syncookies' when the syn backlog queue of a socket overflows. => echo 1 >/proc/sys/net/ipv4/tcp_syncookies or

11 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

=> /sbin/sysctl -w net.ipv4.tcp_syncookies=1 2). Disable source routing => for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do echo 0 > $f done or => /sbin/sysctl -w net.ipv4.conf.all.accept_source_route=0 3). Reverse Path Filtering Reject incoming packets if their source address doesn't match the network interface that they're arriving on => for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f done or => /sbin/systcl -w net.ipv4.conf.all.rp_filter=1 4). Log RP filter dropped packets (martians) => for f in /proc/sys/net/ipv4/conf/*/log_martians; do echo 1 > $f done or => /sbin/sysctl -w net.ipv4.conf.all.log_martians=1 5). Maximal number of remembered connection requests => /sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=256 6). How may times to retry before killing TCP connection (default 7 on most systems) => /sbin/sysctl -w net.ipv4.tcp_orphan_retries=4 7). Number of SYN packets the kernel will send before giving up => /sbin/sysctl -w net.ipv4.tcp_syn_retries=5 8). Disable broadcast icmp reply => /sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 9). Ignore Bogus icmp packets => /sbin/sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1 10). Disable ICMP redirect => echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects => echo 0 >/proc/sys/net/ipv4/conf/all/send_redirects or => /sbin/sysctl -w net.ipv4.conf.all.accept_redirects=0

12 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

=> /sbin/sysctl -w net.ipv4.conf.all.send_redirects=0 11). Disable timestamps => echo 0 >/proc/sys/net/ipv4/tcp_timestamps or => /sbin/sysctl -w net.ipv4.tcp_timestamps=0 12). Reduce DOS ability by reducing timeouts => => => => or => => => => /sbin/sysctl /sbin/sysctl /sbin/sysctl /sbin/sysctl -w -w -w -w net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_keepalive_time=1800 net.ipv4.tcp_window_scaling=0 net.ipv4.tcp_sack=0 echo echo echo echo 30 >/proc/sys/net/ipv4/tcp_fin_timeout 1800 >/proc/sys/net/ipv4/tcp_keepalive_time 0 >/proc/sys/net/ipv4/tcp_window_scaling 0 >/proc/sys/net/ipv4/tcp_sack

- Lista de todas las variables del TCP: (Lista de Variables del /proc/sys/net/ipv4/* (con varlores por defecto y explicaciones)) http://www.frozentux.net/ipsysctl-tutorial/ipsysctl-tutorial.html - Optimizando el kernel de linux mediante tuning y hardering sysctl.conf http://wiki.elhacker.net/sistemas-operativos/gnulinux/tuning-sysctl-conf - Opciones de seguridad en Linux a travs de /proc (I) y (II) http://www.elhacker.net/opciones-seguridad-linux-proc.html Ms ejemplos de configuracin completa del sysctl.conf en las referencias del documento.

APF Firewall con el mdulo anti-ddos


5Cdigo: wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz tar xvzf apf-current.tar.gz cd apf-0.9.6-1/ ./install.sh service apf start /usr/local/sbin/apf -s Fichero de configuracin: Citar
/etc/apf/conf.apf

Despues de hacer las pruebas dejar: DEVEL_MODE="0" Si nos sale un error parecido a este: apf(9413): unable to load iptables module (ip_tables), aborting. Cambiamos esto: SET_MONOKERN="1"

13 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Puertos que queremos abrir (inbound) IG_TCP_CPORTS="21,22,25,53,80,110" Si queres bloquear todo el trfico de salida lo ponemos en 1 (outbound) EGF="0" Si queremos usar el mdulo antddos poner a 1: USE_AD="0" Log: /var/log/apf_log Para ver los paquetes que dropeamos: LOG_DROP="1" Lo guardar en el syslog, ejemplo: Proto= Protocolo SRC= ip origen SPT= Source Port (puerto d origen) DST= Destination Port (puerto destino) Citar
Oct 20 13:59:27 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=18779 PROTO=TCP SPT=11629 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:16 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20376 PROTO=TCP SPT=27734 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:17 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20382 PROTO=TCP SPT=25943 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:17 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20387 PROTO=TCP SPT=19026 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:17 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20397 PROTO=TCP SPT=2155 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:17 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20407 PROTO=TCP SPT=9294 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:22 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20687 PROTO=TCP SPT=9269 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:22 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20694 PROTO=TCP SPT=27223 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:23 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=20830 PROTO=TCP SPT=30938 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:25 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=21038 PROTO=TCP SPT=5377 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:27 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=21219 PROTO=TCP SPT=13341 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:00:42 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=21990 PROTO=TCP SPT=22960 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0 Oct 20 14:02:32 ns2 kernel: ** SANITY ** IN=eth0 OUT= SRC=213.27.201.254 DST=192.168.0.3 LEN=40 TOS=0x00 PREC=0x00 TTL=54 ID=26386 PROTO=TCP SPT=2826 DPT=80 WINDOW=0 RES=0x00 RST FIN URGP=0

Recuerda que para usar el antidos debes aadir el cron job: */8 * * * * root /etc/apf/ad/antidos -a >> /dev/null 2>&1 http://www.r-fx.org/apf/README.antidos

14 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

KISS My Firewall es una alternativa. Script PHP http://www.prism-hosting.com/AntiDoS

6-

Parar el botnet

ZmbScap - Zombie Scapper - Stoopt DDoS Programs http://www.metaeye.org/projects/zmbscap/ Tracking Botnets - Bot-Commands http://www.honeynet.org/papers/bots/botnet-commands.html Tracking Botnets http://www.honeynet.org/papers/bots/ Tracking Botnets - DDoS-attacks http://www.honeynet.org/papers/bots/botnet-ddos.html Phatbot Trojan Analysis http://www.lurhq.com/phatbot.html F-Bot by f-secure- Elimina el Agobot y todas sus variantes http://www.f-secure.com/tools/f-bot.zip Nepenthes - Autoinfecarse sin peligro para analizar http://nepenthes.mwcollect.org/ honeytrap trap attacks against tcp services http://honeytrap.sourceforge.net/

7- Usando reglas del

iptables

Cdigo: # todo el trafico syn -P INPUT DROP -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset -A INPUT -m state --state INVALID -j DROP -P OUTPUT DROP -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset -A OUTPUT -m state --state INVALID -j DROP -P FORWARD DROP -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT -A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset -A FORWARD -m state --state INVALID -j DROP -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A FORWARD -i lo -o lo -j ACCEPT

# sube las cargas pero muchos wwww buena seal -A INPUT -p tcp --syn -j REJECT --reject-with icmp-port-unreachable

# la que mejor va -N syn-flood -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN -A syn-flood -j LOG --log-prefix "SYN flood: " -A syn-flood -j DROP

# igual que el de arriba pero muy bestia

15 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

-N -A -A -A

syn-flood INPUT -i eth0:2 -p tcp --syn -j syn-flood syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN syn-flood -j DROP

-A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT # no es muy efectivo -A INPUT -s 0/0 -p tcp --syn --source-port 1000:5000 --destination-port 80 -j DROP # no es muy efectivo -A INPUT -p tcp -m tcp --dport 80 --sport 1000:5000 --tcp-flags SYN SYN -j DROP # Descartar paquetes mal formados -N -A -A -A -A -A -A -A PKT_FAKE PKT_FAKE PKT_FAKE PKT_FAKE PKT_FAKE PKT_FAKE PKT_FAKE PKT_FAKE

-m -p -p -p -p -f -j

state --state INVALID -j DROP tcp --dport 80 --tcp-flags ALL ACK,RST,SYN,FIN -j DROP tcp --dport 80 --tcp-flags SYN,FIN SYN,FIN -j DROP tcp --dport 80 --tcp-flags SYN,RST SYN,RST -j DROP tcp --dport 80 ! --syn -m state --state NEW -j DROP -j DROP RETURN

# syn-flood -N syn-flood -A INPUT -i eth+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-flood -A FORWARD -i eth+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-flood -A syn-flood -m limit --limit 4/s --limit-burst 16 -j RETURN -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 -A syn-flood -j DROP # By pepel. Requiere mdulo "recent" -A INPUT -p tcp --dport 80 -m state --state NEW -m recent -A INPUT -p tcp --dport 80 -m state --state NEW -m recent

--set --update --seconds 10 --

#explicacin: Se aade cada ip que se conecte a la tabla de recent Por por cada ip en la tabla de recent si hace mas de x hits en x segundos, se drope

iptables -I INPUT -p tcp syn -m recent set iptables -I INPUT -p tcp syn -m recent update seconds 10 hitcount 30 -j DROP UDP Flood /sbin/iptables -A OUTPUT -p udp -m state --state NEW -j ACCEPT /sbin/iptables -A OUTPUT -p udp -m limit --limit 100/s -j ACCEPT /sbin/iptables -A OUTPUT -p udp -j DROP

Lo que hace es contar el nmero de paquetes SYN (inicio de conexin TCP) para cada direccin IP en los ltimos 10 segundos. Si llega a 30 descarta ese paquete po lo que no se establecer la conexin (el TCP volver a intentar varias veces, cuando baje del lmite podr establecerse).

8- Usando el

mod_throttle

http://www.snert.com/Software/mod_throttle/ Otros: Mod_Throttle, mod_bandwidth, mod_iplimit, mod_tsunami, mod_limitipconn.c

16 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Para Apache 2: mod_cband Cdigo: cd /usr/src wget http://www.snert.com/Software/mod_throttle/mod_throttle312.tgz tar zxvf mod_throttle312.tgz cd mod_throttle-3.1.2 pico Makefile Then edit the line that reads: APXS=apxs And change it to read: APXS=/usr/local/apache/bin/apxs make make install service httpd restart Citar
<IfModule mod_throttle.c> ThrottlePolicy Volume 10G 30d </IfModule> <Location /throttle-me> SetHandler throttle-me </Location>

http://www.webhostgear.com/160.html

C) Referencias
- Opciones de seguridad en Linux a travs de /proc (I) y (II) http://www.elhacker.net/opciones-seguridad-linux-proc.html - Syctl.conf Hardening http://www.eth0.us/sysctl - Ipsysctl tutorial 1.0.4 http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html - Hardening the TCP/IP stack to SYN attacks http://www.securityfocus.com/infocus/1729 - DDOS and SYN_Recv Attacks And some SOlutions http://www.vbulletin.com/forum/showthread.php?t=126699 - Distributed Reflection Denial of Service http://www.grc.com/dos/drdos.htm - Dynamic iptables firewalls http://www-128.ibm.com/developerworks/library/l-fw/ - Preventing DDoS Attacks http://www.linuxsecurity.com/content/view/121960/49/ - Distributed Denial of Service (DDoS) Attacks/tools http://staff.washington.edu/dittrich/misc/ddos/ - Linux firewall rulesets and snippets of rule sets http://www.gotroot.com/tiki-index.php?page=Linux%20Firewall%20rules

17 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

AdWords: marketing online


google.com/AdWords

Paga nicamente por resultados. Crea una cuenta de AdWords ahora!


ltima modificacin: 29 Marzo 2012, 17:47 por el-brujo

En lnea

"Mis defensas desayunan elhacker.NET con mil trillones de Lactobacillus casei" "elhacker.NET es nico, por eso no fabrica para otras marcas" Codename!! Re: Intentando detener un DDoS Respuesta #1 en: 25 Agosto 2006, 19:49 OOooh Yeahh, muy buen trabajo, date por seguro que te pitaran los oidos, en concreto el derecho, porke te alabaran XD, enserio muy bueno, gracias.

Desconectado Mensajes: 881

Intercambio Estudiantil Curso acadmico con EF en USA Inglaterra, Canad, Irlanda www.ef.com.ec

Localizador Ms Popular Ahora disponible en Ecuador! Garantia 2 aos.Compre o distribuya www.tramig Olimpia Lderes en Seguridad MFT, Cifrado, Firma Digital, SOC www.olimpiait.com

En lnea No te dejes mover por las masas, se tu mismo.

- n0sEcReT -

Re: Intentando detener un DDoS Respuesta #2 en: 25 Agosto 2006, 20:43 Epa! Brujo , las experiencias siempre nos dejan algo que aprender ..no ? Muy buen tutorial brother Salu2!

Desconectado Mensajes: 283

Impossible is nothing

En lnea

18 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Neobius

Re: Intentando detener un DDoS Respuesta #3 en: 26 Agosto 2006, 20:35 Magnifico tutorial, felicidades brujo.

Desconectado Mensajes: 2.080 PD: Acaba de salir en portada de meneame En lnea

Viva Linux!

Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo mismo. Albert Einstein Recuerda: El arca de Noe fue construida por aficionados, el titanic por profesionales http://neobius.blogspot.com Division-x Re: Intentando detener un DDoS Respuesta #4 en: 27 Agosto 2006, 03:38 el p**o amo........ Desconectado Pd: muchisimas gracis por este aporte, lo agrego a favoritos...... Mensajes: 1.356 No lo fuerce, comprese un martillo mas grande

En lnea GNU/Linux Infrastructure Specialist Ex-Staff Re: Intentando detener un DDoS Respuesta #5 en: 27 Agosto 2006, 12:22 Excelente guia pero creo que donde se tiene que enfocar mucho es en firewall, claro, el mod_evasive es una maravilla pero siempre es mejor tener a los dos de nuestro lado xD Saludos y felicitaciones En lnea

Desconectado Mensajes: 5.097

Con sangre andaluza

19 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

dxr Colaborador

Re: Intentando detener un DDoS Respuesta #6 en: 27 Agosto 2006, 15:33 Es un buen tutorial. Pero hay que seguir trabajando buscando soluciones a atakes alternativos. Esta defensa esta orientada a atakes via HTTP y TCP. Seguro que en un tiempo se seguiran publicando documentacion para parar este tipo de atakes sobre distintos protocolos. Enorabuena Alex. En lnea Hacer preguntas concretas, claras y aportando toda la documentacin necesaria. De lo contrario, no tendreis una respuesta clara.

Desconectado Mensajes: 2.995

XpyXt

Re: Intentando detener un DDoS Respuesta #7 en: 28 Agosto 2006, 07:55 Texto magnifico Venga tio a seguir asi. Saludos En lnea

Desconectado Mensajes: 36

icisneros GNU/Linux Ex-Staff

Re: Intentando detener un DDoS Respuesta #8 en: 28 Agosto 2006, 14:48 Portada de barrapunto

Desconectado Mensajes: 1.296

Enhorabuena! Saludos!! En lnea Vender Pagina Web El Libro Gordo de Petete

Sagman

Re: Intentando detener un DDoS Respuesta #9 en: 28 Agosto 2006, 17:43 Muy buen manual Alex

Desconectado Mensajes: 2.854

Ms linuxero que nunca :D En lnea Mi blog

20 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

o2T7f6j2 echo -e "Nos vemos en \n$(pwd)"

Re: Intentando detener un DDoS Respuesta #10 en: 29 Agosto 2006, 01:09 Los frutos del caldo de cultivo. Muy bueno. Tratar de seguirlo para adaptarlo a "packet filter"

Desconectado Mensajes: 2.781

Salu2

./configure --enablelevitation --enablediamagnet

ltima modificacin: 29 Agosto 2006, 01:45 por o2T7f6j2

En lnea

No debemos perder la fe en la humanidad que es como el ocano: no se ensucia porque algunas de sus gotas estn sucias.Mahatma Gandhi (2 de Octubre del 1869 - 30 de Enero del 1948)
Re: Intentando detener un DDoS Respuesta #11 en: 30 Agosto 2006, 00:09 no lo habia leido >.< esta muy buenno, felicidades el-brujo yo creo que gracias a

Azielito no es CoAdmin

Desconectado Mensajes: 9.153

que te atacan el server aprendes todo eso

>.< Ejemplo de Cmo pronunciar GNU/Linux Infrastructure Specialist Ex-Staff Re: Intentando detener un DDoS Respuesta #12 en: 30 Agosto 2006, 04:18 Wenas Cita de: el-brujo en 25 Agosto 2006, 11:12 Desconectado Mensajes:
5-

En lnea

APF Firewall con el mdulo

21 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

5.097

anti-ddos
*/8 * * * * root /etc/apf/ad/antidos -a >> /dev/null 2>&1 KISS My Firewall es una alternativa.

Aqu dejo un excelente "how to" para el KISS: KISS My Firewall http://www.geocities.com/steve93138/ Tambin hay alternativas para Windows, el Kapersky anti-hacker es efectivo cuando nos hacen un DoS, en los dDos nunca he tenido la oportunidad de verlo en accin. Ah, tambin banea la ip cuando te hacen un scan de puertos a la Ip. Saludos En lnea

Con sangre andaluza Hyde Re: Intentando detener un DDoS Respuesta #13 en: 12 Septiembre 2006, 06:38 Parece que el-jefe sabe mas de lo que creemos jejeje enhorabuena Alex eres uno de los grandes compaero Salu2 Hyde

Desconectado Mensajes: 451

En lnea "El miedo es el camino mas rapido a la muerte"

-[ @NTTI ]-

Re: Intentando detener un DDoS Respuesta #14 en: 14 Septiembre 2006, 18:27 Excelente amigo, muuuy bien.... Cada dia mas... SANTTI... DESDE CHILE... En lnea

Desconectado Mensajes: 10

-[ @NTTI ]Dice Viva CHILE MIER..! Liberen a Kevin es el unico maestro del HaCk VISITEN http://orbita.starmedia.com/~dj_santti y http://hack.santti.net

22 de 23

2/18/2013 9:32 AM

Intentando detener un ataque DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_...

Pginas: [1] 2 3

Ir a:

=> Tutoriales - Documentacin

ir

Mensajes similares Asunto


Cayo_twitter_Popularidad, causa del ataque a Twitter_ Ataque DDoS.
Foro Libre

Iniciado por
ALEX_21_3

Respuestas Vistas ltimo mensaje


0 638 7 Agosto 2009, 10:49 por ALEX_21_3 14 Agosto 2009, 02:02 por Lunfardo 4 Marzo 2011, 13:17 por wolfbcn 12 Diciembre 2011, 15:19 por Kawahal 27 Febrero 2012, 09:14 por xeon_57

Google ayud a Twitter a detener los ataques de DDoS


Noticias

Novlucker

986

Ataque DDoS a WordPress : WordPress sufre el mayor ataque DDoS


Noticias

wolfbcn

1,464

Cmo detener un ataque a una web.


Hacking Avanzado

Kawahal

1,211

Ayuda detener un ataque DDos


Seguridad

doxen

1,146

elotrolado ZonaPhotoshop Seguridad Informtica eNYe Sec El Lado del Mal

lawebdegoku Yashira.org Juegos de Mario Seguridad Wireless Blog Administrador Sistemas

MundoDivx indetectables.net Internet mvil Underground Mxico Blog Uxio

Hispabyte Seguridad Colombia Noticias Informatica Soluciones Web thehackerway

Truzone Indejuegos ADSL ejemplos de Tienda Wifi

Todas las webs afiliadas estn libres de publicidad engaosa.

Powered by SMF 1.1.18 | SMF 2006-2008, Simple Machines

23 de 23

2/18/2013 9:32 AM