[LinuxFocus-icon]
Hogar  |  Mapa  |  Indice  |  Busqueda

Noticias | Arca | Enlaces | Sobre LF
This article is available in: English  Castellano  Deutsch  Francais  Portugues  Russian  Turkce  
convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
por Georges Tarbouriech
<georges.t(at)linuxfocus.org>

Sobre el autor:

Georges es un viejo usuario de Unix. El piensa que la seguridad informática es el principal desafío en este siglo.



Taducido al español por:
Leo Trujillo Gomez <aleogom(at)prodigy.net.mx>

Contenidos:

 

Nessus : Otro tabique en el muro de seguridad.

[illustration]

Resumen:

Nessus es un escáner de seguridad libre disponible en http://www.nessus.org. El proyecto fue iniciado y es mantenido por Renaud Deraison. La versión estable, al momento de escribir este artículo es la 1.09 y la versión experimental la 1.14. El software es liberado bajo GPL y mucha gente contribuye en el proyecto, especialmente para plugins... En tanto que muchas personas se benefician del trabajo de nessus sin siquiera mencionar el nombre (más de esto al final del artículo). Nessus trabaja en muchos sabores de Unix, ya sea como cliente o servidor, y en Win32 como un cliente. Demos un vistazo a esta gran herramienta.



 

Obteniendo e instalando nessus

Visitando http://www.nessus.org, puede obtener esta estupenda pieza de software. Dado que nessus está disponible como cliente para Win32, obviamente consideraremos la versión Posix en este artículo.
Para usar nessus, necesita al menos nmap y Gtk (juego de herramientas de Gimp). Los enlaces para esas herramientas son proporcionados en el sitio web de nessus. Sin embargo, puesto que puede usar nessus desde la línea de comandos, Gtk no es obligatorio.
Puede obtener nessus en tres diferentes formas: la buena, la mala y la fea.
La buena, es la forma estándar, esa en la que descarga los archivos del sitio ftp que tenga más cercano. Tendrá cuatro archivos: las librerías nessus, librerías nasl, el núcleo de nessus y los plugins. Una vez desempacados, los tendrá que compilar e instalar como es usual: ./configure, make, make install, siguiendo el orden de los archivos citados anteriormente.. Si tiene una versión de nessus previa instalada en su máquina, tendrá que removerla. Para hacer esto, nessus proporciona un archivo de comandos (script) de desinstalación que será usado después del primer "./configure", el que esta en las librerías nessus. Ejecute este script antes de escribir "make". Haga lo mismo para cada paquete (excepto ejecutar otra vez el script de desinstalación), y habrá terminado. La forma mala, consiste en ejecutar un script descargable llamado nessus-installer.sh. Entonces escriba "sh nessus-installer.sh" para autoinstalar el paquete. Los cuatro paquetes viene en uno solo.
La forma fea : tan pronto como lynx este instalado en su máquina y usted conectado a internet, solo escriba "lynx-source http://install.nessus.org | sh" y eso es todo. Usted NO necesita ser root para hacer esto.
Obviamente, la forma recomendada es la "buena"... bien, si usted descargo nessus, ¡ suponemos que la seguridad es una preocupación ! Dado que hablamos de la preocupación, no olvide descargar la suma de verificación (cheksum) MD5.
Nessus viene con diferentes utilidades (nasl, un lenguaje de script, nessus-adduser, nessus-build...). Cada una de estas utilidades tiene su propia página de manual (man), tanto para el cliente como el servidor. Más documentación está disponible dentro de la distribución (README, INSTALL,...) o en el sitio web de nessus.

 

Configurando y ejecutando nessus

Vamos a hacer las cosas sencillas para entender, usaremos ejemplos de la versión de nessus para X11, que es la que usa Gtk.

El servidor nessusd

Para iniciar nessus, necesitará obviamente ejecutar el demonio del servidor, nessusd. Cuando se inicia el demonio por primera vez, usted tendrá que declarar un nombre de usuario y contraseña, usando el comando nessus-adduser. Si el paquete de las librerías ha sido compilado con la opción "--enable-cipher" (que es recomendada, ¡ mas no obligatoria !), una llave secreta será generada. Esta llave puede ser protegida con una contraseña. Muchas opciones están disponibles cuando se inicia el servidor y usted las encontrará a todas en la página man de nessusd.
De allí puede crear la base de datos de usuarios y las reglas correspondientes. Es decir, quién está autorizado para ejecutar el demonio del servidor. quién está autorizado para escanear (una máquina, una red...). Las reglas son de la forma "aceptar" (accept) o "denegar" (deny) seguido por la dirección de red IP, con su correspondiente máscara de red.
Por ejemplo : accept 192.168.1.0/24, permite que el usuario pruebe la red 192.168.1 completa.
También es posible solamente definir un único usuario sin ninguna regla en absoluto. Si desea permitir a varios usuarios ejecutar nessusd tendrá que ser cuidadoso sobre lo que les permite hacer a ellos. No puede dejar que todo mundo haga cualquier cosa en su red, ¿Puede hacerlo?
Por último, nessus cuenta con un archivo de configuración que (usualmente) se encuentra en /usr/local/etc/nessus/nessusd.conf. Puede cambiar el contenido de este archivo manualmente, tan pronto como usted sepa que es lo que está haciendo.

El cliente nessus

Usted puede, entonces, iniciar el cliente nessus para conectarse al servidor nessusd. Para ejecutar el cliente, basta con escribir "nessus &" en un intérprete de comandos. Entonces se abre la ventana de configuración, después se le pregunta la contraseñá mencionada anteriormente. Esta ventana le proporciona a usted siete pestañas.
La primera de ellas es llamada "nessusd host". Desde la que puede conectarse al anfitrión nessusd dando clic en el botón "Log in". Naturalmente, esto supone que usted esta autorizado para conectarse como tal usuario, en otras palabras, su nombre de usuario esta declarado en la base de datos de usuario.

nessusd host


La segunda pestaña concierne a los plugins. Esta es donde usted seleciona o deselecciona los plugins que serán usados para el escaneo. Por ejemplo, usted puede desactivar los plugins peligrosos (¡ Los que son capaces de colgar una máquina !). Haciendo clic en un plugin se mostrará alguna información acerca del mismo en la parte inferior de la ventana.

plugins plugin detail


La tercer pestaña le permite definir las preferencias de los plugins. Esto concernientes a ping, TCP, FTP,... Aquí muy bien puede afinar la manera en que usará nessus para escanear el anfitrión(es) destino o red.

preferences


La cuarta pestaña le permite definir las opciones del escáner y los puertos que el escaneador usará. Usualmente, nmap es uno de ellos. Más sobre nmap allí.

scan options


La quinta pestaña es donde le dirá a nessus los destinos de su exploración. En el campo target usted puede escribir el nombre de un anfitrión, el nombre de diferentes anfitriones separados por comas, una o más direciones IP, de nuevo separadas por comas, o una dirección de red con su máscara de red (por ejemplo 192.168.1.0/24). Existe también una caja de comprobación para ejecutar una zona de tranferencia DNS. Esto es, conectándose a un servidor DNS, nessus tratará de obtener la lista de hosts en este dominio.

target selection


La sexta pestaña permite al usuario cambiar su contraseña, borrar su llave secreta o agregar reglas.

user


La última, pero no menos importante. La séptima pestaña abre la ventana de créditos conteniendo también el número de la versión. Esa es toda la información que se debe proporcionar cuando se está usando nessus para un proyecto distinto... Bueno, ¡ eso tendría que ser así !

credits


Usted puede tener una octava pestaña si compila nessus con la opción de configuración "--enable-save-kb". Kb representa una "Base de Conocimiento". Esta es una característica experimental que permite usar los resultados de una prueba previa. Esta funcionalidad estará por defecto en nessus 1.1.0. Más acerca de kb en kb_saving. Una vez que ha "visitado" cada pestaña, puede ejecutar la "bestia". Basta con dar un clic en el botón "Start the scan". ¿Qué ocurre después?

 

Nessus en el trabajo

Cuando usted inicia el escáner, nessus abre una ventana desplegando el estado del barrido. Por ejemplo, supongamos que está probando una red completa, llamada 192.168.1.0/24. Ocho máquinas (anfitriones) serán desplegadas de inmediato, mostrando cual plugin está usando para cada máquina junto a un indicador de progreso. Aquí está como aparece :

scan status


Como puede ver la prueba completa puede detenerse en cualquier momento. Dando clic en el botón correspondiente.
Obviamente, si usted escanea una red completa con muchos anfitriones, la prueba se tomará más tiempo. Dependerá de los Sistemas Operativos, la rapidez de la red, el rol de las máquinas (más o menos puertos abiertos), el número de plugins activos, etc.
Usted también puede probar otras dos formas distintas: los escaneos separados o los escaneos diferenciales. Esto presupone que compiló nessus con la opción de configuración citada anteriormente "--enable-save-kb". El escaneo separado permite ejecutar pruebas en segundo plano mientras el escaneo diferencial, como su nombre lo indica, solamente muestra las diferencias entre dos escaneos. Encontrará más información acerca de estas características dirigiéndose a la documentación de nessus.
Lo más importante, es el resultado que obtiene al final de el escaneo. Una de las más estupendas características de nessus es la forma en que le proveé reportes.

report


Estos reportes son preferentemente detallados y a menudo sugieren una solución para vulnerabilidades encontradas. Aún más, ellos en realidad son fiables. Si una vulnerabilidad es encontrada no es precisamente que sea tal, nessus le informa que puede ser una falsa alarma. Esto puede ocurrir, por ejemplo, con versiones actualizadas de algunos demonios: una vulnerabilidad recientemente corregida puede ser detectada como un riesgo potencial. Sin embargo, para esta clase de cosas, los plugins son rápidamente actualizados.
Otro pequeño error puede venir de nmap (2.53) cuando identifica la versión del Sistema Operativo. Pero, esto es realmente de poco interés. Personalmente, no me importa si un NoTerminado 4.0 con SP6 es identificado como NoTerminado 4.0 con SP5, o si el kernel de Linux 2.2.19 es detectado como 2.2.14. Yo no me lamentaría sobre de si los "exótico" Sistemas Operativos tales como AmigaOS o BeOS son identificados como una impresora o un enrutador. Quiero decir, no puedo imaginarme enviando yo un correo a fyodor (autor de nmap) diciéndole tal cosa ¿Quién usa esos Sistemas Operativos en la red hoy día? Para la AmigaOS, yo podría decir que cinco personas... en todo el Mundo :-(
Algunos otros Sistemas operativos tampoco son perfectamente identificados. Pero ellos frecuentemente son más bien "nuevos" o no son realmente usados. Esto es verdad para MacOS X o QNX. Pero, una vez más, eso no es importante y esto puede ser ya resuelto en la nueva versión beta 2.54 de nmap. (y, a propósito, esta nueva versión proporciona un port para MacOS X).
De cualquier manera, el punto principal es que nessus le proporciona toneladas de información, permitiéndole corregir las vulnerabilidades de las máquinas o debilidades de su red local.
Estos reportes pueden ser guardados como texto, NSR, HTML, HTML con gráficas en forma de pastel... así como permitirle la comparación entre dos escaneos. Puede parecer obvio, pero el estado de una red en un tiempo dado puede ser muy diferente de lo que será 30 minutos después. ¿ Por qué ? ¡ Una red esta viva ! Esta en una las principales razones de por qué la seguridad de una red no es fácil : las cosas cambian todo el tiempo. Si usted se pregunta acerca de las necesidades de usar herramientas tales como nessus y nmap, aquí esta la respuesta.
Si ustedes son curiosos sobre la manera en que nessus trabaja, observen los registros del sistema o, si usan snort, observen los registros de snort. Otro lugar para encontrar información es en /usr/local/var/nessus.
A partir de aquí, usted probablemente tendrá algún trabajo por hacer para reducir la vulnerabilidad de muchas máquinas en su red. Cuanto más pueda endurecer cada host, es lo mejor. Para ayudarlo en esta gran tarea, nessus (y el mismo nmap) son las herramientas sin la que no puede vivir.

 

Plugins

Los plugins son el "corazón" de nessus. Ellos son las pruebas de seguridad, esto significa descubrir una vulnerabilidad determinada. NASL (Nessus Attack Sripting Language) es un leguaje recomendado para escribir pruebas de seguridad. Encontrará mucho sobre NASL dirigiéndose a este URL: NASL.
. Consecuentemente, si usted quiere contribuir al proyecto nessus escribiendo plugins, este es el sitio donde encontrará la información correcta. Al momento de escribir esto, ¡ existen 756 plugins en la base de datos de nessus !
Existen aproximadamente 20 familias de plugins : puertas traseras, denegación de servicio, lograr accesos root remotamente... Como ya lo mencionamos, cada plugin reporta información. Diciéndole qué esta incorrecto y que debería hacer usted para corregir el problema.
Nosotros no podemos hablar acerca de los plugins sin mencionar CVE (Common Vulnerabilities and Exposures - Riesgos y vulnerabilidades comunes). Es una enorme base de datos de información disponible en http://cve.mitre.org. Allí encontrará todo acerca de los riesgos de seguridad conocidos. Otro estupendo lugar de compartición de conocimiento. Tal sitio web es la referencia absoluta que usted debe visitar.
Por supuesto, hay mucho que decir acerca de los plugins de nessus, pero un libro podría no ser suficiente. Una buena manera de entender cómo ellos trabajan, y cómo están escritos es leerlos desde su directorio /usr/local/lib/nessus/plugins. Gracias de nuevo a Renaud Deraison y los colaboradores por este estupendo trabajo.

 

Y ahora, ¡ algo completamente diferente !

Aún si este título suena como el Monte Pyton, desafortunadamente, no hay humorismo en él. Las tres o cuatro personas que están leyendo mis artículos saben acerca de mis usuales frases fuera de tema : ¡ esta vez, esta es una sección entera ! Esto es realmente Fuera de Tema, esta es otra historia. Veamos.
Dado que yo estoy muy interesado en la seguridad de las computadoras, frecuentemente visito los sitios web dedicados a ella. Puede ser para aprender nuevas vulnerabilidades o descubrir nuevas herramientas de seguridad. Casualmente, encontré algunos productos basados en servicios de escaneo en Línea. De hecho, ellos se llaman a sí mismos (al menos por ahora) ASP (Application Service Provider - Provedor de servico de aplicación). Si usted va un poco más allá , rápidamente descubrirá que el motor que está detrás del servicio es nessus. Hasta el momento, todo bien. Sin embargo, cuando usted trata de encontrar la información explícita no puede ver la palabra "nessus". ¡ De tal manera que me siento herido !
Mucha gente trabajando para la comunidad del Software Libre, hacen este trabajo para que sea libre de cargo y no como sustento. El único pago que ellos obtienen es llamado : Crédito. nessus es liberado bajo GPL. Esto es, todo Mundo puede usar el producto, modificarlo, adaptarlo... con la condición de que el autor(es) original sea mencionado. Desde luego, esta licencia dice mucha más que eso. Si usted no sabe qué es la GPL, puede verla aquí.
Para mí, esto parece como un robo. Quiero decir, yo no necesito una licencia para acreditar el trabajo de otras personas. Tengo mucho respeto hacia aquellas personas que trabajan por la Libertad (casi siempre) y lo comparten con una comunidad. Ellos merecen el reconocimiento de esa comunidad. Esto es especialmente cierto cuando la gente trata de hacer dinero del trabajo de algún otro. Usted puede llamar a eso respeto, reconocimiento, o no importa como. El hecho es, que esas palabras parecen haber perdido su significado. Seguramente, podríamos decir que la GPL es la causa de tales comportamientos. Con ASP, usted no tiene en cuenta como vender el software. Según el país, la GPL puede que no tenga valor legal.
Una solución podría ser que los usuarios de los servicios ASPs soliciten el nombre del motor de escaneo que hace el verdadero trabajo. La respuesta dada sería al menos decir si la gente que proporciona el servicio es "honesta". Si no responden o si dicen que ellos "inventaron" el motor (en el cual usted identifica como nessus), ¡ sencillamente ya no lo use ! En lugar de eso instale nessus (el verdadero), en todo caso será mas seguro.
Pero, una vez más, ¿ nosotros necesitamos una licencia para decir "Gracias" a la gente que ha hecho posible este gran y estupendo trabajo ? Y, por cierto, Renaud Deraison no quiere cambiar la licencia de nessus : nessus seguirá estando bajo GPL.
Lo siento por esta larga disgresión, pero creo que esto debería ser dicho.

 

¡ Eso es todo !

A pesar de la última sección, lo que hay que recordar de este artículo es que nessus es un estándar de alta calidad. Es un software bastante impresionante. Usado en conjunción con nmap, se convierte en algo que debe tener cuando la seguridad es una preocupación. Es una herramienta muy responsable, que se mejora cada día. Gracias a Renaud y amigos por su constante actualización de plugins.
Hoy, un administrador de sistemas no puede trabajar sin nessus y nmap. Estas herramientas son capaces de encontrar vulnerabilidades que usted pensaba estaban resueltas. Esto es verdad para muchos de los Sistemas Operativos que se encuentran en su red. Y cuando usted sepa que algunos Sistemas Operativos son como cribas, nessus le permitirá a usted relajarse un poco.
Aún más, nessus puede ayudarle a entender la forma que una red (o una máquina) puede ser comprometida.
Si lee cuidadosamente los reportes que le proveé, tómelos en cuenta y haga las correcciones apropiadas. Usted mejorará mucho la seguridad de esa red (o máquina). De nuevo, yo dije "mejorar" : su red no puede ser 100% segura simplemente porque usted ejecute nessus. El camino de la seguridad es muy amplio y estamos lejos del final de él.
Una vez más, gracias a la comunidad del Software Libre por este trabajo acerca de la seguridad.
En cuanto a aquellas simpáticas personas que hacen dinero del trabajo de los miembros de esta comunidad de Software Libre, yo quisiera agregar algo. Decir "Gracias" no es una vergüenza. Ser honesto no es horrible ¿O sí? Si esta clase de comportamientos crece, el riesgo es el fín de la comunidad o un gran cambio en el licenciamiento (¡ y probablemente más y más patentes !). En ambos casos, se hará cargo de sí mismo y las cosas se volverán más difíciles para usted. Y desafortunadamente, nosotros no seremos capaces de usar software libre de ningún modo. Esto no significa que será capaz de vender el de usted. ¡ meditelo !
¿No vivimos en una época maravillosa?
 

Formulario de "talkback" para este artículo

Cada artículo tiene su propia página de "talkback". A través de esa página puedes enviar un comentario o consultar los comentarios de otros lectores
 Ir a la página de "talkback" 

Contactar con el equipo de LinuFocus
© Georges Tarbouriech, FDL
LinuxFocus.org

Pinchar aquí para informar de algún problema o enviar comentarios a LinuxFocus
Información sobre la traducción:
en --> -- : Georges Tarbouriech <georges.t(at)linuxfocus.org>
en --> es: Leo Trujillo Gomez <aleogom(at)prodigy.net.mx>

2001-11-05, generated by lfparser version 2.21