{"id":7936,"date":"2012-03-04T21:43:34","date_gmt":"2012-03-04T20:43:34","guid":{"rendered":"http:\/\/www.sahw.com\/wp\/?p=7936"},"modified":"2012-03-04T21:43:34","modified_gmt":"2012-03-04T20:43:34","slug":"snort-en-un-router-dd-wrt-instalacion-configuracion-y-operacion-basica-en-10-pasos","status":"publish","type":"post","link":"https:\/\/www.sahw.com\/wp\/2012\/03\/04\/snort-en-un-router-dd-wrt-instalacion-configuracion-y-operacion-basica-en-10-pasos\/","title":{"rendered":"Snort en un router DD-WRT: Instalaci?n, configuraci?n y operaci?n b?sica en 10 pasos"},"content":{"rendered":"<p>Buenas,<\/p>\n<p>Os dejo unas notas sobre un experimento reciente que he estado realizado con una instalaci?n peculiar de Snort, en este caso en el propio <em>router<\/em>, por si fueran de vuestro inter?s. <\/p>\n<p>Necesitamos:<\/p>\n<ul>\n<li>Un <em>router<\/em> con DD-WRT. En mi caso <a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/Asus_RT-N16\">es un Asus RT-N16<\/a><\/li>\n<li>Preparar el <em>router<\/em> para <em>optware<\/em>, y aqu? la recomendaci?n es seguir <a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/Optware%2C_the_Right_Way\">los pasos descritos en el wiki<\/a><\/li>\n<li>El <em>router<\/em> debe tener entrada USB, porque lo aconsejable es instalar <em>optware<\/em> en un dispositivo externo, en este caso una llave o disco USB, para no agotar el escaso espacio disponible en el <em>router<\/em>. Es recomendable emplear ext2 (cosa que yo no he hecho, por cierto), ya que ext3 como sab?is es un sistema de ficheros con <em>journaling<\/em> y por tanto, con ext2 podemos acelerar el acceso al disco al no tener que efectuar dicho <em>journaling<\/em>. Recomendaci?n: <a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/How_to_-_Format_and_Partition_External_Storage_Device\">Leer el wiki<\/a>.<\/li>\n<li><a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/JFFS\">Habilitar en el <em>router<\/em> JFFS<\/a> (Journalling Flash File System). JFFS\/JFFS2 proporciona un area de reescritura en el <em>router<\/em> que es necesario para instalar paquetes v?a <em>ipkg<\/em>, as? que hay que habilitarlo. Es una opci?n dentro de la administraci?n de DD-WRT:\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/jffs.png\" alt=\"snort ddwrt\" \/><\/li>\n<\/ul>\n<p><strong>Paso 1. Conectamos el medio externo y verificamos que monta adecuadamente<\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/usb.png\" alt=\"snort ddwrt\" \/><\/p>\n<p>Los incr?dulos pueden tirar de la <em>shell<\/em> para verificar, lo cual nos vendr? bien para verificar tambi?n que tenemos soporte JFFS. Es f?cil observar parte de la estructura <em>flash <\/em> de almacenamiento montada en \/jffs en la l?nea <em>\/dev\/mtdblock\/4 on \/jffs type jffs2 (rw)<\/em><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/mount.png\" alt=\"snort ddwrt\" \/><\/p>\n<p><strong>Paso 2. Lanzamos la preparaci?n de optware<\/strong><\/p>\n<p>Esto se hace v?a consola en dos c?modos pasos:<\/p>\n<blockquote><p>1. Descarga wget -O \/tmp\/prep_optware http:\/\/wd.mirmana.com\/prep_optware<br \/>\n2. Ejecuci?n del script de preparaci?n sh \/tmp\/prep_optware<\/p><\/blockquote>\n<p><strong>Paso 3. Una vez finalizada la instalaci?n de optware, lanzamos una consulta de disponibilidad de Snort<\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/ipkginfo.png\" alt=\"snort ddwrt\" \/><br \/>\n<strong><br \/>\nPaso 4. Instalamos, siendo recomendable forzar la instalaci?n de dependencias<\/strong><\/p>\n<blockquote><p>ipkg -force-depends install snort <\/p><\/blockquote>\n<p><strong>Paso 5. Verificamos la instalaci?n<\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/snortverify.png\" alt=\"snort ddwrt\" \/><\/p>\n<p><strong>Paso 6. Nos fabricamos un fichero de configuraci?n de snort al uso para nuestras pruebas<\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/snortconf.png\" alt=\"snort ddwrt\" \/><\/p>\n<p>Si alguien quiere copiar y pegar, <a href=\"http:\/\/www.sahw.com\/images\/snort\/test.conf\">el fichero est? disponible aqu?<\/a>. Es un ejemplo muy sencillo en el que emplearemos el <a href=\"http:\/\/svn.dd-wrt.com\/browser\/src\/router\/snort\/doc\/README.stream5?rev=17490\">preprocesador stream5<\/a> para generar dos tipos de alerta: una para cualquier tr?fico externo hacia nuestra red, y cualquier tr?fico puramente interno, tal y como se muestra en el fichero de configuraci?n. <\/p>\n<p><strong>Paso 7. Lanzamos Snort<\/strong><\/p>\n<p>Para ello indicamos el fichero de configuraci?n reci?n creado y una ruta donde escribir las alertas y los logs. En mi caso por comodidad, las he ubicado tambi?n dentro de \/opc para evitar el colapso por agotamiento de almacenamiento:<\/p>\n<blockquote><p>snort -i vlan1 -c \/opt\/etc\/snort\/test.conf -l \/opt\/etc\/snort\/snortlog<\/p><\/blockquote>\n<p>N?tese que lanzo sobre la primera vlan (vlan1) que tengo definida en el <em>router<\/em> y que corresponde al primer puerto LAN del dispositivo. Cada cual que escoja la que desee.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/vlan.png\" alt=\"snort ddwrt\" \/><\/p>\n<p><strong>Paso 8. Observamos si el invento funciona<\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/snortlog.png\" alt=\"snort ddwrt\" \/><\/p>\n<p>Aprovechando que SSH est? activo, nos asomamos con un cliente gr?fico, o bien lanzamos un <em>ls<\/em> por la consola. El caso es comprobar que se est?n generando logs y alertas.<\/p>\n<p><strong>Paso 9. Nos damos una vuelta<\/strong> <\/p>\n<p>Pues eso, dejamos que corra el aire un poquito antes de ir impacientes a ver las alertas :)<\/p>\n<p><strong>Paso 10. A investigar<\/strong><\/p>\n<p>Pues en ausencia de procedimientos de asignaci?n de prioridad, escalada y notificaci?n, y habida cuenta de que nuestras reglas disparar?n m?tiples veces antes numerosos eventos, inspeccionamos el fichero de alertas a mano. En mi caso he detectado a un impresentable haciendo un ataque de fuerza bruta sobre el servidor SSH de otra m?quina de la infraestructura:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/snort\/bruteforce.png\" alt=\"snort ddwrt\" \/><\/p>\n<p>Mmmm. Espera. 192.168.1.120. Esa es la IP de mi port?til &#8230; y la m?quina destino es una m?quina virtual del laboratorio que tambi?n reconozco. Y la propia alerta me dice que es un evento ocurrido en la red interna. Oh wait&#8230;. :)<\/p>\n<p>Saludos,<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Buenas, Os dejo unas notas sobre un experimento reciente que he estado realizado con una instalaci?n peculiar de Snort, en este caso en el propio router, por si fueran de vuestro inter?s. Necesitamos: Un router con DD-WRT. En mi caso es un Asus RT-N16 Preparar el router para optware, y <a href=\"https:\/\/www.sahw.com\/wp\/2012\/03\/04\/snort-en-un-router-dd-wrt-instalacion-configuracion-y-operacion-basica-en-10-pasos\/\" class=\"btn btn-link continue-link\">Leer texto completo<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-7936","post","type-post","status-publish","format-standard","hentry","category-seguridad"],"_links":{"self":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts\/7936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/comments?post=7936"}],"version-history":[{"count":0,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts\/7936\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/media?parent=7936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/categories?post=7936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/tags?post=7936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}