{"id":585,"date":"2011-07-01T05:06:31","date_gmt":"2011-07-01T11:06:31","guid":{"rendered":"http:\/\/www.lastdragon.net\/?p=585"},"modified":"2015-01-08T20:32:40","modified_gmt":"2015-01-09T02:32:40","slug":"proxy-invertido-usando-squid-para-cualquier-servidor-web-apache-iis-etc","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=585","title":{"rendered":"Proxy Invertido usando Squid para cualquier servidor WEB ( Apache, IIS, ETC )"},"content":{"rendered":"<p>En el articulo anterior de el <a href=\"https:\/\/www.lastdragon.net\/?p=584\">fracaso de Anonymous contra Iniciativa M\u00e9xico<\/a>, un comentario proveniente de Armando, me pregunta si la cueva esta preparada para un ataque de Anonymous.<\/p>\n<p>Es muy dif\u00edcil prepararse para millones de conexiones, no se trata de no saber como defender la cueva, se trata de infraestructura y dinero, el conocimiento lo tengo, aunque no tanto dinero como para armar una infraestructura como la de televisa, aqu\u00ed voy a mostrar como armar un sitio distribuido con proxy inverso, la combinaci\u00f3n que puso en jaque a Anonymous, seg\u00fan sus propias declaraciones. Sin embargo con mis conocimientos y las redes que tengo bajo mi control creare la distribuci\u00f3n de carga junto proxy invertido, anonymous no pudo con 5 servidores distribuidos, yo solo usare 3 por que es lo que tengo en este momento disponible a la hora de escribir el articulo.<\/p>\n<p>Requerimiento 1<\/p>\n<p>1\tConfigurar tu servidor WEB para escuchar en un puerto diferente al 80, yo usare en este articulo el 85, el puerto 80 lo usara el SQUID para Proxy Invertido<\/p>\n<p>2\tevitar que las conexiones lleguen al puerto 85 de forma directa, solo los proxys deben alcanzar este puerto, si es posible por medio de VPN, para este ejemplo no usare VPN, pero ser\u00eda lo ideal<\/p>\n<p>3\tLos usuarios ni los atacantes deben conocer la IP real del servidor, en este caso no voy a ocultarla, la ip real al momento de escribir esto es 189.204.51.51, pero en una zona militarizada, no debe conocerse, por eso se usan VPN ya que todos los atacantes est\u00e1n ciegos, no saben donde est\u00e1 el servidor realmente y como le paso a Anonymous, intentaran atacar IPs al azar, pero son superficiales, jam\u00e1s tocaron la ip real, no la conocen ni la conocer\u00e1n<\/p>\n<p>Requerimiento 2<\/p>\n<p>Contar con los servidores a los cuales de preferencia, se les debe instalar GNU\/Linux y el software de proxy inverso, yo uso SQUID, se configuran de forma similar, seg\u00fan el caso en el archivo squid.conf<\/p>\n<p>http_port 80 accel defaultsite=www.lastdragon.net vhost<br \/>\nforwarded_for on<\/p>\n<blockquote><p>cache_peer 189.204.51.51 parent 85 0 no-query no-digest originserver name=apache login=PASS<br \/>\nacl sites_apache dstdomain www.lastdragon.net lastdragon.net<br \/>\nacl our_sites dstdomain www.lastdragon.net lastdragon.net<br \/>\ncache_peer_access apache allow sites_apache<\/p>\n<p>acl all src 0.0.0.0\/0.0.0.0<br \/>\nacl manager proto cache_object<br \/>\nacl localhost src 127.0.0.1\/255.255.255.255<br \/>\nacl to_localhost dst 127.0.0.0\/8<br \/>\nacl SSL_ports port 443<br \/>\nacl Safe_ports port 80          # http<br \/>\nacl CONNECT method CONNECT<\/p>\n<p>http_access allow our_sites<\/p>\n<p>http_access allow manager all<br \/>\nhttp_access allow manager<br \/>\nhttp_access deny !Safe_ports<br \/>\nhttp_access deny CONNECT !SSL_ports<br \/>\nhttp_access deny all<\/p>\n<p>access_log \/var\/log\/squid\/access.<br \/>\ncache_mgr david@lastdragon.net<\/p><\/blockquote>\n<p>Repites la configuraci\u00f3n que de hecho ser\u00e1 id\u00e9ntica en cada servidor que vayas sumando para distribuir la carga, desde 2 hasta N cantidad<\/p>\n<p>Requerimiento 3<\/p>\n<p>Configuraci\u00f3n de tu DNS como round robin para que resuelva en cada vez una de las ips del arreglo, cada ip es uno de los servidores distribuidos<\/p>\n<p>Para este articulo la configuraci\u00f3n es de 3 servidores para distribuir la carga<\/p>\n<blockquote><p>Non-authoritative answer:<br \/>\nName:   www.lastdragon.net<br \/>\nAddress: 189.204.51.51<br \/>\nName:   www.lastdragon.net<br \/>\nAddress: 75.125.15.77<br \/>\nName:   www.lastdragon.net<br \/>\nAddress: 174.123.118.202<\/p><\/blockquote>\n<p>Video demostrando la situaci\u00f3n.<\/p>\n<p><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"\/\/www.youtube.com\/embed\/surcB2fV1pY\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Otros beneficios que ocurren al usar proxy inverso en sitios distribuidos, cada Proxy almacena un cache de la pagina WEB que despacha, incluso si es un proxy inverso, esto significa que el Squid no va a molestar al servidor WEB, mientras la pagina no cambie, cada vez que haga un cliente una consulta, ser\u00e1 despachada directamente por el proxy dejando fresco al servidor WEB, si recibe un ataque SYNCOOKIE, ser\u00e1 el servidor WEB quien reciba de frente el golpe lo mismo con conexiones TCP, si estas no son validas para un servidor WEB, el Proxy no las transfiere al servidor WEB, por lo que se mantiene muy fresco y sin estr\u00e9s el servidor WEB, esta protecci\u00f3n es exponencial, mientras mas proxys inversos est\u00e9n arreglados para un sitio, este sitio soportara mejor los ataques DDoS<\/p>\n<p>Durante unos d\u00edas estar\u00e1 funcionando el Proxy Inverso en la cueva del drag\u00f3n con carga distribuida.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el articulo anterior de el fracaso de Anonymous contra Iniciativa M\u00e9xico, un comentario proveniente de Armando, me pregunta si la cueva esta preparada para un ataque de Anonymous. Es muy dif\u00edcil prepararse para millones de conexiones, no se trata de no saber como defender la cueva, se trata de infraestructura y dinero, el conocimiento&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,4],"tags":[],"class_list":["post-585","post","type-post","status-publish","format-standard","hentry","category-consultoria-y-manuales","category-hackers-and-tools"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=585"}],"version-history":[{"count":1,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/585\/revisions"}],"predecessor-version":[{"id":1228,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/585\/revisions\/1228"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}