
{"id":214,"date":"2007-06-28T08:32:02","date_gmt":"2007-06-28T11:32:02","guid":{"rendered":"http:\/\/talsoft.com.ar\/weblog\/?p=214"},"modified":"2007-07-16T11:54:04","modified_gmt":"2007-07-16T14:54:04","slug":"mitigacion-de-ataques-ddos-mediante-tarpits-http","status":"publish","type":"post","link":"https:\/\/www.talsoft.com.ar\/site\/es\/mitigacion-de-ataques-ddos-mediante-tarpits-http\/","title":{"rendered":"Mitigaci\u00c3\u00b3n de ataques DDoS mediante tarpits HTTP"},"content":{"rendered":"<p>Los chavales de Secureworks han escrito un estudio bastante original, en el que efect\u00c3\u00baan mediciones en un sistema de mitigaci\u00c3\u00b3n de ataques distribu\u00c3\u00ados de denegaci\u00c3\u00b3n de servicio basado en <em>tarpitting<\/em>.<\/p>\n<p>Sobre DDoS no vamos a contar nada, ya que <a href=\"http:\/\/es.wikipedia.org\/wiki\/DDoS\">es un t\u00c3\u00a9rmino muy extendido y popular<\/a>. En lo que vamos a hacer un m\u00c3\u00adnimo repaso es en el <em>tarpitting<\/em>.<\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Tarpit_%28networking%29\">Las t\u00c3\u00a9cnicas de tarpitting<\/a> pueden ser definidas, en general, como un conjunto de mecanismos mediante los cuales se pretende incrementar el retardo en la respuesta a conexiones ante un evento de seguridad determinado. En otras ocasiones, lo que se pretende es minimizar la ventana de respuesta no en t\u00c3\u00a9rminos de tiempo, sino en t\u00c3\u00a9rminos de recursos disponibles. En ambos casos, lo que se pretende es amortiguar el impacto de un evento malicioso.<\/p>\n<p>Los <em>tarpits<\/em> por excelencia son los aplicados en las pasarelas de correo, empleados frecuentemente <a href=\"http:\/\/en.wikipedia.org\/wiki\/Anti-spam_techniques_%28e-mail%29\">en la lucha contra el spam<\/a>. En este caso, se pretende demorar al m\u00c3\u00a1ximo la respuesta ante la recepci\u00c3\u00b3n de mensajes, lo que provoca que en muchos casos, los gestores de env\u00c3\u00ado de los spammers aborten el env\u00c3\u00ado de correo al propietario del <em>tarpit<\/em>, ya que los retardos producidos ponen en peligro el procesado de la cola completa de spam del emisor.<\/p>\n<p>Implementaciones de pasarela de correo con <em>tarpits<\/em> hay para aburrirse. Me apunto en el <em>to-do<\/em> hablar un d\u00c3\u00ada de ello, pero para abrir boca, comentar que en el mundo Unix, es frecuente ver <a href=\"http:\/\/www.palomine.net\/qmail\/tarpit.html\">tarpits qmail-smtpd<\/a>. Esta implementaci\u00c3\u00b3n es muy sencilla, ya que se trata de parchear el fichero <em>qmail-smtpd.c<\/em> (<a href=\"http:\/\/www.palomine.net\/qmail\/tarpit.patch\">v\u00c3\u00a9ase diff<\/a>).<\/p>\n<p>Tambi\u00c3\u00a9n hay <em>pits<\/em> de soporte para <a href=\"http:\/\/www.mailscanner.info\/downloads.html\">MailScanner<\/a>, tales como <a href=\"http:\/\/ian.blenke.com\/projects\/greypit\/mail\/spam\/greylist\/tarpit\/sendmail\/milter\">greypit<\/a>, en los que se pretende principalmente que el spam no desequilibre el balanceo de un cluster de servidores de correo. No me quiero olvidar de los amigos de las soluciones Microsoft, que <a href=\"http:\/\/support.microsoft.com\/kb\/842851\">pueden recurrir al <em>knowledge<\/em> de la compa\u00c3\u00b1\u00c3\u00ada<\/a> para ver c\u00c3\u00b3mo montar un tarpit en Server 2003 y Exchange.<\/p>\n<p>Dejando atr\u00c3\u00a1s al spam y volviendo al DDoS, entender en qu\u00c3\u00a9 se basa una defensa mediante <em>tarpits<\/em> para denegaci\u00c3\u00b3n de servicio es f\u00c3\u00a1cilmente comprensible una vez entendido el funcionamiento de un <em>tarpit<\/em> de correo. Haciendo un s\u00c3\u00admil, se trata de contener el ataque ralentizando las respuestas que originan la denegaci\u00c3\u00b3n. En el caso que nos ocupa, la ralentizaci\u00c3\u00b3n se aplica en dos fases: una primera respuesta normal, y en una segunda, una acotaci\u00c3\u00b3n del tama\u00c3\u00b1o de la ventana TCP a unos pocos bytes, lo que hace que se fragmente la informaci\u00c3\u00b3n a procesar, y se minimice el impacto de un n\u00c3\u00bamero elevado de peticiones al <em>stack<\/em> del sistema, ya que la limitaci\u00c3\u00b3n de la ventana implica poder absorber mejor las peticiones que procedan de numerosas fuentes distribu\u00c3\u00addas.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" height=\"211\" alt=\"http tarpits\" src=\"http:\/\/www.secureworks.com\/research\/threats\/ddos\/ddosmitigation.jpg\" width=\"314\" \/><\/p>\n<p><a href=\"http:\/\/www.secureworks.com\/research\/threats\/ddos\/?threat=ddos\">El documento que os enlazo<\/a> surge a ra\u00c3\u00adz de responder a un incidente real, sufrido por <a href=\"http:\/\/www.spamhaus.org\/\">Spamhaus<\/a> no har\u00c3\u00a1 mucho, y en el que un botnet lanz\u00c3\u00b3 de una manera sostenida 1500 hilos de peticiones HTTP aleatorias sin un sistema <em>command-and-control<\/em> centralizado, es decir, instalado v\u00c3\u00ada malware en cada una de las m\u00c3\u00a1quinas del botnet.<\/p>\n<p>El principal problema de una denegaci\u00c3\u00b3n distribu\u00c3\u00adda de servicio basada en peticiones HTTP es que cuesta mucho diferenciar entre peticiones leg\u00c3\u00adtimas e ileg\u00c3\u00adtimas. Saber qui\u00c3\u00a9n es el cliente que quiere acceder a tu Web y qui\u00c3\u00a9n es el <em>spammer<\/em> que te la est\u00c3\u00a1 hundiendo no es tarea sencilla, sobre todo cuando los ataques no est\u00c3\u00a1n centralizados. El resultado suele ser devastador: no s\u00c3\u00b3lo hay agotamiento en la pila de protocolos TCP\/IP, sino en los recursos del servidor, lo que se suele traducir en una ruptura del servicio.<\/p>\n<p>Afortunadamente, las denegaciones de servicio basadas en peticiones HTTP masivas tienen un tal\u00c3\u00b3n de Aquiles: el <em>tarpitting<\/em>. En el art\u00c3\u00adculo se comenta el fundamento, basado en algo tan simple como netfilter, algo que evidentemente, est\u00c3\u00a1 pensado para servidores Linux. En caso de tener el m\u00c3\u00b3dulo de <em>tarpitting<\/em> integrado, basta con invocar iptables de la siguiente manera:<\/p>\n<blockquote><p>iptables -A INPUT -s x.x.x.x -p tcp -j TARPIT<\/p><\/blockquote>\n<p>Si no se tiene soporte tarpit para iptables, <a href=\"http:\/\/ftp.netfilter.org\/pub\/patch-o-matic-ng\/\">hay que parchear y recompilar<\/a>. A grandes males, grandes soluciones.<\/p>\n<p>Fuente: <a href=\"http:\/\/www.sahw.com\/wp\">http:\/\/www.sahw.com\/wp<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los chavales de Secureworks han escrito un estudio bastante original, en el que efect\u00c3\u00baan mediciones en un sistema de mitigaci\u00c3\u00b3n de ataques distribu\u00c3\u00ados de denegaci\u00c3\u00b3n de servicio basado en tarpitting. Sobre DDoS no vamos a contar nada, ya que es un t\u00c3\u00a9rmino muy extendido y popular. En lo que vamos a hacer un m\u00c3\u00adnimo repaso [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[3,1],"tags":[],"class_list":["post-214","post","type-post","status-publish","format-standard","hentry","category-articulos","category-profesional"],"_links":{"self":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts\/214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/comments?post=214"}],"version-history":[{"count":0,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts\/214\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/media?parent=214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/categories?post=214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/tags?post=214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}