{"id":113,"date":"2018-01-16T12:46:06","date_gmt":"2018-01-16T17:46:06","guid":{"rendered":"http:\/\/blogs.gentoo.org\/chrisadr\/?p=113"},"modified":"2019-11-01T03:35:27","modified_gmt":"2019-11-01T08:35:27","slug":"como-proteger-tu-equipo-de-ataques","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/chrisadr\/2018\/01\/16\/como-proteger-tu-equipo-de-ataques\/","title":{"rendered":"c\u00f3mo proteger tu equipo de ataques"},"content":{"rendered":"<p>Muy buenas con todos, antes de entrar\u00a0al hardening de tu equipo, quiero contarles que el installador que estoy desarrollando para Gentoo ya est\u00e1 en su fase pre-alpha :D esto quiere decir que el prototipo es lo suficientemente robusto como para poder ser probado por otros usuarios, pero al mismo tiempo todav\u00eda falta mucho por recorrer, y el feedback de estas etapas (pre-alpha,alpha,beta) ayudar\u00e1 a definir rasgos importantes sobre el proceso :) Para los interesados&#8230;<\/p>\n<p><a href=\"https:\/\/github.com\/ChrisADR\/installer\">https:\/\/github.com\/ChrisADR\/installer<\/a><\/p>\n<p>PS. todav\u00eda tengo la versi\u00f3n exclusivamente en ingl\u00e9s, pero espero que para el beta ya tenga su traducci\u00f3n a espa\u00f1ol tambi\u00e9n (estoy aprendiendo esto de las traducciones en tiempo de ejecuci\u00f3n en python, as\u00ed que todav\u00eda hay mucho por descubrir)<\/p>\n<h2>Hardening<\/h2>\n<p>Cuando hablamos de\u00a0<em>hardening<\/em>, nos referimos a una gran variedad de acciones o procedimientos que dificultan el acceso a un sistema inform\u00e1tico, o red de sistemas. Precisamente por eso es que es un tema vasto y lleno de matices y detalles. En este art\u00edculo voy a listar algunas de las cosas m\u00e1s importantes o recomendables para tener en cuenta al momento de proteger un sistema, intentar\u00e9 ir de lo m\u00e1s cr\u00edtico a lo menos cr\u00edtico, pero sin ahondar mucho en el tema puesto que cada uno de estos puntos ser\u00eda motivo de un art\u00edculo propio.<\/p>\n<h3>Acceso f\u00edsico<\/h3>\n<p>Este es sin dudas el primer y m\u00e1s importante problema de los equipos, puesto que si el atacante cuenta con f\u00e1cil acceso f\u00edsico al equipo, ya puede contarse como un equipo perdido. Esto es verdad tanto en grandes centros de data como en laptops dentro de una empresa. Una de las principales medidas de protecci\u00f3n para este problema son las claves a nivel de BIOS, para todos aquellos a los que suene nuevo esto, es posible poner una clave al acceso f\u00edsico de la BIOS, de esta manera si alguien quiere modificar los par\u00e1metros de inicio de sesi\u00f3n y arrancar el equipo desde un sistema live, no ser\u00e1 trabajo sencillo.<\/p>\n<p>Ahora bien, esto es algo b\u00e1sico y ciertamente funciona si es realmente requerido, yo he estado en varias empresas en las que no importa esto, porque creen que el &#8220;guardia&#8221; de seguridad de la puerta es m\u00e1s que suficiente para poder evitar el acceso f\u00edsico. Pero vamos a un punto un poco m\u00e1s avanzado.<\/p>\n<h3>LUKS<\/h3>\n<p>Supongamos por un segundo que un &#8220;atacante&#8221; ya ha conseguido acceso f\u00edsico al equipo, el siguiente paso es cifrar cada disco duro y partici\u00f3n existente. LUKS (<i>Linux Unified Key Setup)\u00a0<\/i>es una especificaci\u00f3n de cifrado, entre otras cosas LUKS permite cifrar con clave una partici\u00f3n, de esta manera, al iniciar el sistema si no se conoce la clave, la partici\u00f3n no puede ser montada ni le\u00edda.<\/p>\n<h3>Paranoia<\/h3>\n<p>Ciertamente existe gente que necesita un nivel &#8220;m\u00e1ximo&#8221; de seguridad, y esto lleva a resguardar hasta el aspecto m\u00e1s m\u00ednimo del sistema, pues bien, este aspecto llega a su c\u00faspide en el kernel. El kernel de linux es la manera en la que tu software va a interactuar con el hardware, si tu evitas que tu software &#8220;vea&#8221; al hardware, este no podr\u00e1 hacer da\u00f1o al equipo. Para poner un ejemplo, todos conocemos lo &#8220;peligrosos&#8221; que son los USB con v\u00edrus cuando hablamos de Windows, pues ciertamente los usb pueden contener c\u00f3digo en linux que podr\u00eda o no ser perjudicial para un sistema, si hacemos que el kernel solo reconozca el tipo de usb (firmware) que deseamos, cualquier otro tipo de USB simplemente ser\u00eda obviado por nuestro equipo, algo ciertamente un poco extremo, pero podr\u00eda servir dependiendo de las circunstancias.<\/p>\n<h3>Servicios<\/h3>\n<p>Cuando hablamos de servicios, la primera palabra que me viene a la mente es &#8220;supervisi\u00f3n&#8221;, y esto es algo bastante importante, puesto que una de las primeras cosas que hace un atacante al entrar a un sistema es mantener la conexi\u00f3n. Realizar an\u00e1lisis peri\u00f3dicos de las conexiones entrantes y sobre todo salientes es algo muy importante en un sistema.<\/p>\n<h3>Iptables<\/h3>\n<p>Ahora bien, todos hemos o\u00eddo sobre iptables, es una herramienta que permite generar reglas de ingreso y salida de data a nivel de kernel, esto es ciertamente \u00fatil, pero tambi\u00e9n es un arma de doble filo. Muchas personas creen que por tener el &#8220;firewall&#8221; ya est\u00e1n libres de cualquier tipo de ingreso o salida del sistema, pero nada m\u00e1s alejado de la realidad, esto solo puede servir de efecto placebo en muchos casos. Es conocido que los firewalls funcionan a base de reglas, y estas ciertamente pueden ser evitadas o enga\u00f1adas para permitir transportar data por puertos y servicios por los cuales las reglas considerar\u00edan que es algo &#8220;permitido&#8221;, solo es cuesti\u00f3n de creatividad :)<\/p>\n<h3>Estabilidad vs rolling-release<\/h3>\n<p>Ahora este es un punto bastante pol\u00e9mico en muchos lugares o situaciones, pero perm\u00edtanme explicar mi punto de vista. Como miembro de un equipo de seguridad que vela por muchos de los problemas de la rama estable de nuestra distribuci\u00f3n, estoy al tanto de muchas, casi todas las vulnerabilidades existentes en los equipos Gentoo de nuestros usuarios. Ahora bien, distribuciones como Debian, RedHat, SUSE, Ubuntu y muchas otras pasan por lo mismo, y sus tiempos de reacci\u00f3n pueden variar dependiendo de muchas circunstancias.<\/p>\n<p>Vayamos a un ejemplo claro, seguro todos han o\u00eddo hablar de Meltdown, Spectre y toda una serie de noticias que han volado por internet en estos d\u00edas, pues bien, la rama m\u00e1s &#8220;rolling-release&#8221; del kernel ya est\u00e1 parchada, el problema radica en llevar esas correcciones a kernels anteriores, ciertamente el &#8220;backporting&#8221; es un trabajo pesado y dif\u00edcil. Ahora bien, despu\u00e9s de eso, todav\u00eda tienen que ser probados por los desarrolladores de la distribuci\u00f3n, y una vez que se han completado las pruebas, reci\u00e9n estar\u00e1 a disposici\u00f3n de los usuarios normales. \u00bfA qu\u00e9 quiero llegar con esto? A que el modelo rolling-release nos exige conocer m\u00e1s sobre el sistema y formas de rescatarlo si algo falla, pero eso es <strong>bueno<\/strong>, porque mantener la pasividad absoluta en el sistema tiene varios efectos negativos tanto para quien lo administra como para los usuarios.<\/p>\n<h4>Conoce tu software<\/h4>\n<p>Este es un adicional bastante valioso al momento de administrar, cosas tan simples como subscribirse a las noticias del software que utilizas puede ayudar a conocer de antemano los avisos de seguridad, de esta manera se puede generar un plan de reacci\u00f3n y al mismo tiempo ver cu\u00e1nto tiempo toma para cada distribuci\u00f3n resolver los problemas, siempre es mejor se proactivo en estos temas porque m\u00e1s del 70% de los ataques a empresas se llevan a cabo por software no actualizado.<\/p>\n<h2>Reflexi\u00f3n<\/h2>\n<p>Cuando la gente habla de hardening, muchas veces se cree que un equipo &#8220;resguardado&#8221; es a prueba de todo, y no hay nada m\u00e1s falso. Como su traducci\u00f3n literal lo indica,\u00a0<em>hardening<\/em> implica hacer las cosas m\u00e1s dif\u00edciles, NO imposibles&#8230; pero muchas veces mucha gente piensa que esto conlleva magia oscura y muchos trucos como los honeypots&#8230; esto es un adicional, pero si no se puede con lo m\u00e1s b\u00e1sico como mantener actualizado un software o un lenguaje de programaci\u00f3n&#8230; no existe necesidad de crear redes fantasma y equipos con contramedidas&#8230; lo digo porque he visto varias empresas donde preguntan por versiones de PHP 4 a 5 (evidentemente descontinuadas)&#8230; cosas que hoy por hoy son conocidas por tener cientos sino miles de fallas de seguridad, pero si la empresa no puede seguir el ritmo de la tecnolog\u00eda, pues de nada sirve que hagan lo dem\u00e1s.<\/p>\n<p>Adem\u00e1s, si todos estamos usando software libre o abierto, el tiempo de reacci\u00f3n para los errores de seguridad suele ser bastante corto, el problema viene cuando estamos tratando con software privativo, pero eso lo dejo para otro art\u00edculo que sigo esperando poder escribir pronto.<\/p>\n<p>Muchas gracias por llegar hasta aqu\u00ed :) saludos<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Muy buenas con todos, antes de entrar\u00a0al hardening de tu equipo, quiero contarles que el installador que estoy desarrollando para Gentoo ya est\u00e1 en su fase pre-alpha :D esto quiere decir que el prototipo es lo suficientemente robusto como para poder ser probado por otros usuarios, pero al mismo tiempo todav\u00eda falta mucho por recorrer, &hellip; <a href=\"https:\/\/blogs.gentoo.org\/chrisadr\/2018\/01\/16\/como-proteger-tu-equipo-de-ataques\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">c\u00f3mo proteger tu equipo de ataques<\/span><\/a><\/p>\n","protected":false},"author":169,"featured_media":114,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[22],"jetpack_featured_media_url":"https:\/\/blogs.gentoo.org\/chrisadr\/files\/2018\/01\/hardening.jpg","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts\/113"}],"collection":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":1,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts\/113\/revisions"}],"predecessor-version":[{"id":115,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts\/113\/revisions\/115"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/media\/114"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/media?parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/categories?post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/tags?post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}