domingo, 31 de enero de 2010

HERRAMIENTAS PARA MONITORIZAR EL TRÁFICO (IV)

VIP (Vital Signs VisionNet) es un software para la monitorización proactica y en tiempo real de redes TCP/IP diseñado para un consumo mínimo de CPU. Detecta, alerta y diagnostica los problemas relativos al tráfico TCP/IP de este tipo de redes. Dispone de un avanzado interfaz de usuario basado en navegador.

Los agentes de VIP obtienen la mayor parte de la información necesaria para monitorizar el tráfico TCP/IP directamente mediante un interfaz cross-memory. Esto permita a VIP proporcionar información y alertas sobre rendimiento, tiempos de respueta, ... en tiempo real.

Puede mostrar mediante un navegador sistemas compuestos por varios mainframes.

Proporciona los tiempos de respuesta TN3270m según el standard RFC2562, información inmediata y global sobre las aplicaciones, interfaces, OSA, Enterprise Extender, FTP.



sábado, 30 de enero de 2010

HERRAMIENTAS PARA MONITORIZAR EL TRÁFICO (III))

Nagios, acrónimo de Nagios Ain’t Gonna Insist On Sainthood. Es una evolución del también muy conocido NetSaint. Se trata de una herramienta para monitorizar el estado de los hosts de nuestra red y los servicios que corren en ella: servicios web, SMTP, POP3, FTP, bases de datos de casi cualquier fabricante… y, en realidad una lista casi interminable gracias a las contribuciones de sus usuarios incondicionales. Envía alertas por mail o SMS (con el hardware adecuado) y su popularidad es tal que, incluso, existen dispositivos externos para medir temperatura, humedad, etc. concebidos para integrarse con él. La instalación es sencilla, tal vez un poco tedioso de configurar, no obstante existe Nagat, un asistente gráfico para la configuración de Nagios. Sólo existen versiones para sistemas UNIX o LINUX aunque puede monitorizar hosts y servicios de cualquier tipo.

Nagios distingue entre un host caido y un host inalcanzable en la red, ya que
puede definir la estructura de una red y decidir el estado real de los hosts en
función del estado de la red.

Toda la información y detalles de instalación se encuentran en la comunidad:

viernes, 29 de enero de 2010

HERRAMIENTAS PARA MONITORIZAR EL TRÁFICO (II)

WireShark es otro importante analizador de protocolos, antes conocido como Ethereal, es muy utilizado para realizar análisis y solucionar problemas en redes de comunicaciones.
La funcionalidad que provee es similar a la de tcpdump, pero añade una interfaz gráfica y muchas opciones de organización y filtrado de información. Así, permite ver todo el tráfico que pasa a través de una red, estableciendo la configuración en modo promiscuo.
También incluye una versión basada en texto llamada tshark.
Permite examinar datos de una red viva o de un archivo de captura salvado en disco.
Se puede analizar la información capturada, a través de los detalles y sumarios por cada paquete. Wireshark incluye un completo lenguaje para filtrar lo que queremos ver y la habilidad de mostrar el flujo reconstruido de una sesión de TCP.

Wireshark es software libre, y se ejecuta sobre la mayoría de sistemas operativos Unix y compatibles, incluyendo Linux, Solaris, FreeBSD, NetBSD, OpenBSD, y Mac OS X, así como en Microsoft Windows.

Seguridad en WireShark: Para capturar paquetes directamente de la interfaz de red, generalmente se necesitan permisos de ejecución especiales. Es por esta razón que Wireshark es ejecutado con permisos de SuperUsuario. Tomando en cuenta la gran cantidad de analizadores de protocolo que posee, los cuales son ejecutados cuando un paquete llega a la interfaz, el riesgo de un error en el código del analizador podría poner en riesgo la seguridad del sistema (como por ejemplo permitir la ejecución de código externo



miércoles, 27 de enero de 2010

HERRAMIENTAS PARA MONITORIZAR EL TRÁFICO (I)

TCPDUMP es una herramienta en línea de comandos que permite analizar el tráfico en la red, es decir, un sniffer.

Este programa utiliza la librería Libpcap y captura los paquetes que circulan por nuestra red mostrándolos en tiempo real. Este programa corre es sistemas operativas basados en Unix: MacOS, Linux, Solaris, BSD,... Existe una adaptación del programa para los sistemas Windows que se llama WinDump y hace uso de la biblioteca Winpcap.

Los usos más frecuentes son:

- Para capturar aplicaciones que utilizan la red para comunicar.

- Para depurar la red.

- Para capturar y leer datos enviados por otros usuarios u ordenadores. Algunos protocolos como Telnet o HTTP no cifran los datos que envían en la red. Un usuario que tiene el control de un router a través del cual circula tráfico no cifrado puede usar tcpdump para conseguir contraseñas u otras informaciones.

lunes, 25 de enero de 2010

Alternativas en el uso de SNMP

Una buena gestión de la red nos dará lugar a una serie de funcionalidades que enumeramos a continuación:
  • Gestión pro-activa de los componentes de la red, cuyos principales beneficios son:
  • Avisa de los problemas antes de que los usuarios empiecen a quejarse.
  • Resolución de problemas mucho más ágil.
  • Minimiza pérdidas económicas por caídas.

Información en tiempo real del estado de la red, así como estadísticas y gráficos históricos, cuyas ventajas serán:
  • Analizar y diagnosticar problemas de red.
  • Realizar previsiones de crecimiento para la planificación de capacidad en equipamiento y servicios.

Para la realización de dicha labor de gestión se puede utlizar un sistema software entre los muhcos existentes, o se puede uyilizar un servicio accesible vía web, el cual no requiere inversiones en Hardware, software ni integración.

Más adelante abordaremos dichas alternativas en profundidad.


jueves, 21 de enero de 2010

¿Qué nos tiene que proporcionar un entorno de gestión?

Un entorno de gestión es responsable de proporcionar:

- Autentificación: se refiere a como las entidades SNMP identifican sus mensajes.
- Privacidad: se refiere a como las entidades SNMP protegen sus mensajes.
- Autorización: se refiere a como una entidad SNMP determina los objetos que son accesibles a una entidad de aplicación de gestión dada y las operaciones que se pueden realizar en estos objetos.

AUTENTIFICACIÓN


Cuando una entidad comienza una comunicación, es configurada para suministrar credenciales de autentificación como una parte de la comunicación. Dependiendo de los mecanismos de autentificación serán válidas tres clases de servicios:

- Identificación origen, por la cual un mensaje puede ser asociado con una entidad.
- Integridad del mensaje, por la cual un mensaje alterado puede ser detectado con seguridad.
- Protección limitada de retransmisión, por la cual un mensaje que ha sido duplicado o retrasado por la red o una tercera parte puede ser detectado fuera del tiempo de vida esperado del mensaje.

No obstante para alcanzar seguridad con las anteriores funciones debemos usar:

- Encriptación con firma.
- Algoritmos.
- Relojes incrementados monótonamente.

PRIVACIDAD

Como las propiedades de autentificación estás asociadas con la entidad emisora, las propiedades de privacidad se pueden asociar con las entidades receptoras.

Para lograr privacidad con seguridad, debemos usar una algoritmo de encriptación y la clave asociada.

AUTORIZACIÓN

Cuando un agente ejecuta una operación, primero deberá identificar la colección de recursos de objetos de gestión a monitorizar. Si los recursos son accesibles mediante algún mecanismo local, se dice que la operación se desarrolla desde el punto de vista del MIB. En cambio, si los recursos son accesibles mediante el envío de mensajes SNMP a una entidad remota, entonces se dice que los objetos son válidos a través de una relación proxy.

Una vez que los recursos son identificados, sólo restar determinar las operaciones SNMP empleadas en ellos. A esto se denomina Política de Acceso, y es usada para el control del flujo de información entre la entidad agente SNMP y una entidad de aplicación de gestión dada.

sábado, 16 de enero de 2010

Vulnerabilidades en SNMP

El único mecanismo de autenticación que SNMP usa es un "nombre de comunidad" no cifrado. Si la falta de encriptación ya de por sí es mala, peor aún es que la mayor parte de los dispositivos SNMP utilicen como nombre de comunidad por omisión la palabra "public"; otros fabricantes de dispositivos de red, utilizan la palabra "private" para la información más sensible. Los posibles agresores pueden utilizar esta vulnerabilidad en SNMP para reconfigurar o incluso desactivar dispositivos remotamente. La captura del tráfico SNMP, por otra parte, puede revelar una gran cantidad de información sobre la estructura de la red, así como de los dispositivos y sistemas conectados a la misma. Toda esa información puede ser utilizada por parte de los intrusos para seleccionar blancos y planear ataques. SNMP no es exclusivo del mundo UNIX. Pero la mayor parte de los ataques de esta índole se producen contra sistemas UNIX debido a configuraciones SNMP deficientes. No se ha apreciado, sin embargo, que esto suponga un gran problema en los sistemas Windows.

Esta vulnerabilidad fue ya detectada en 2002 por Internet Security Systems (ISS), fabricante de soluciones de seguridad para Internet.

Dado que esta vulnerabilidad puede afectar a cientos de productos que trabajan sobre SNMP, como routers, switches, servidores modems cable oADSL, el equipo I+D de Internet Security Systems, conocido como X-Force, ha desarrollado y puesto a disposición del mercado un nuevo método de detección (FlexCheck) que se ha incorporado en su solución más vendida y utilizada: Internet Scanner.

FlexCheck detecta potenciales dispositivos vulnerables del SNMP y está disponible en: http://www.iss.net/cgi-bin/download/customer/download_product.cgi.

Al mismo tiempo, esta multinacional urge a seguir los siguientes pasos para contrarrestar los posibles efectos:

  • Cerrar los routers gestionados con listas de control de accesos y los firewalls con reglas que permitan el paso sólo a las direcciones IP autorizadas. Esto está hecho vía puertos SNMP tcp/udp 161 y 162.
  • Apagar el SNMP en todos los casos en que no sea usado.
  • Poner en marcha reglas anti-spoofing de tal forma que no puedan insertarse paquetes de fuera de la red corporativa.
  • Las pequeñas empresas y home offices conectadas a Internet vía ISP deben contactar con el fabricante de sus modems o routers para ver sus recomendaciones. También pueden considerar instalar defensas perimetrales en forma de un router con capacidades de filtrado ysoftware personal de firewall con capacidades de detección de intrusiones.
  • Cambiar los strings comunitarios.

viernes, 15 de enero de 2010

¿Cómo se explota SNMP?

El agente SNMP de Windows NT puede revelar muchos datos útiles para un hacker, especialmente si el servidor está ejecutando WINS y DHCP. Si estos servicios se ejecutan en el servidor NT, SNMP puede revelar la misma información que recibe de NBTSTAT o llamadas a procedimientos remotos, incluyendo un mapa de red y una dirección IP a las asignaciones de direcciones MAC.

Las bases de datos de información de gestión (MIB) incluyen una tabla de conexión TCP (lista de todos los puertos abiertos). A esta información se puede acceder de forma remota. Algunos proveedores ocultan automáticamente parte de la información SNMP pero otros no.

Se aceptan las solicitudes SNMP utilizando uno de los dos nombres estándar en la comunidad. La mayoría de los agentes SNMP utilizan los términos "público" y "privado" como la configuración predeterminada de estos nombres. Si no se cambia esta configuración predeterminada de la comunidad, estamos ayudando a los hackers que utilizarán los nombres por defecto al realizar su ataque.

La mayoría de la seguridad SNMP consta de dos subsistemas:
  • El módulo de seguridad aborda la cuestión de si un mensaje es auténtico y si se identifica el autor.
  • El módulo de control de acceso que identifica los objetos que se administran e indica si el remitente del mensaje de control tiene permiso para acceder a estos objetos.

miércoles, 13 de enero de 2010

Mensajes SNMP

Para realizar las operaciones básicas de administración anteriormente nombradas, el protocolo SNMP utiliza un servicio no orientado a la conexión (UDP) para enviar un pequeño grupo de mensajes (PDUs) entre los administradores y agentes. La utilización de un mecanismo de este tipo asegura que las tareas de administración de red no afectarán al rendimiento global de la misma, ya que se evita la utilización de mecanismos de control y recuperación como los de un servicio orientado a la conexión, por ejemplo tcp.
Los puertos comúnmente utilizados para SNMP son 161 (SNMP) Y 162 (SNMP Trap)

Los paquetes utilizados para enviar consultas y respuestas SNMP poseen el siguiente formato:

VersiónComunidad

SNMP PDU

  • Versión: Número de versión de protocolo que se está utilizando (por ejemplo 1 para SNMPv1);
  • Comunidad: Nombre o palabra clave que se usa para la autenticación. Generalmente existe una comunidad de lectura llamada "public" y una comunidad de escritura llamada "private";
  • SNMP PDU: Contenido de la unidad de datos del protocolo, el que depende de la operación que se ejecute.

Los mensajes GetRequest, GetNextRequest, SetRequest y GetResponse utilizan la siguiente estructura en el campo SNMP PDU:

TipoIdentificadorEstado de errorÍndice de errorEnlazado de variables
  • Identificador: Es un número utilizado por el NMS y el agente para enviar solicitudes y respuesta diferentes en forma simultánea;
  • Estado e índice de error: Sólo se usan en los mensajes GetResponse´(en las consultas siempre se utiliza cero). El campo "índice de error" sólo se usa cuando "estado de error" es distinto de 0 y posee el objetivo de proporcionar información adicional sobre la causa del problema. El campo "estado de error" puede tener los siguientes valores:
    • 0: No hay error;
    • 1: Demasiado grande;
    • 2: No existe esa variable;
    • 3: Valor incorrecto;
    • 4: El valor es de solo lectura;
    • 5: Error genérico.
  • Enlazado de variables: Es una serie de nombres de variables con sus valores correspondientes (codificados en ASN.1).

GetRequest

A través de este mensaje el NMS solicita al agente retornar el valor de un objeto de interés mediante su nombre. En respuesta el agente envía una respuesta indicando el éxito o fracaso de la petición. Si la petición fue correcta, el mensaje resultante también contendrá el valor del objeto solicitado. Este mensaje puede ser usado para recoger un valor de un objeto, o varios valores de varios objetos, a través del uso de listas.

GetNextRequest

Este mensaje es usado para recorrer una tabla de objetos. Una vez que se ha usado un mensaje GetRequest para recoger el valor de un objeto, puede ser utilizado el mensaje GetNextRequest para repetir la operación con el siguiente objeto de la tabla. Siempre el resultado de la operación anterior será utilizado para la nueva consulta. De esta forma un NMS puede recorrer una tabla de longitud variable hasta que haya extraído toda la información para cada fila existente.

SetRequest

Este tipo de mensaje es utilizado por el NMS para solicitar a un agente modificar valores de objetos. Para realizar esta operación el NMS envía al agente una lista de nombres de objetos con sus correspondientes valores.

GetResponse

Este mensaje es usado por el agente para responder un mensaje GetRequest, GetNextRequest, o SetRequest. En el campo "Identificador de Request" lleva el mismo identificador que el "request" al que está respondiendo.

Trap

Una trap es generado por el agente para reportar ciertas condiciones y cambios de estado a un proceso de administración. El formato de la PDU es diferente:

TipoEnterpriseDirección del agenteTipo genérico de trapTipo específico de trapTimestampEnlazado de variables
  • Enterprise: Identificación del subsistema de gestión que ha emitido el trap;
  • Dirección del agente: Dirección IP del agente que ha emitido el trap;
  • Tipo genérico de trap:
    • Cold start (0): Indica que el agente ha sido inicializado o reinicializado;
    • Warm start (1): Indica que la configuración del agente ha cambiado;
    • Link down (2): Indica que una interfaz de comunicación se encuentra fuera de servicio (inactiva);
    • Link up (3): Indica que una interfaz de comunicación se encuentra en servicio (activa);
    • Authentication failure (4): Indica que el agente ha recibido un requerimiento no autorizado (normalmente controlado por una comunidad);
    • EGP neighbor loss (5): Indica que en sistemas en que los routers están utilizando el protocolo EGP, un equipo colindante se encuentra fuera de servicio;
    • Enterprise (6): En esta categoría se encuentran todos los nuevos traps incluidos por los vendedores.
  • Tipo específico de trap: Es usado para traps privados (de fabricantes), así como para precisar la información de un determinado trap genérico;
  • Timestamp: Indica el tiempo que ha transcurrido entre la reinicialización del agente y la generación del trap;
  • Enlazado de variables: Se utiliza para proporcionar información adicional sobre la causa del mensaje.

GetBulkRequest

Este mensaje es usado típicamente cuando es requerida una larga transmisión de datos, tal como la recuperación de largas tablas. En este sentido es similar al mensaje GetNextRequest usado en la versión 1 del protocolo, sin embargo, GetBulkRequest es un mensaje que implica un método mucho más rápido y eficiente, ya que a través de un solo mensaje es posible solicitar la totalidad de la tabla.

InformRequest

Se utiliza este mensaje para notificar información sobre objetos administrados.

viernes, 8 de enero de 2010

Introducción. ¿Qué es SNMP? (II)

Network Management Station (NMS)

El gerente también denominado estación de administración de red o NMS incluye características de presentación de informes, la topología de la red de mapas y la documentación, las herrramientas que le permiten supervisar el tráfico de su red,... También proporcionan el volumen de recusos de procesamiento y memoria requeridos para la administración de red.

Management Information Base (MIB)

La base de datos controloda por el agente SNMP se denomina Management Information Base (MIB) y es un conjunto estándar de valores estadísticos y de control de estados. SNMP permite extensiones de esta MIB a agentes particulares para el uso de MIB privadas.

La MIB es una recopilación de información para la gestion de los elementos de red. La MIB se compone de objetos identificados por el nombre de identificador de objeto (Object ID o OID).

Cada OID está ordenado jerárquicamente en la MIB. La jerarquía MIB puede ser representada en una estructura de árbol con el identificador de variable individual.

Figura 1: Esquema de una red gestionada con SNMP.

SNMPv2 y SNMPv3


Es un hecho bien conocido que cualquier cosa que data antes de la creación de IPv6 tiene fallos de seguridad como las contraseñas enviadas en texto plano. SNMP en su forma original es muy susceptible a los ataques si no se protege adecuadamente. SNMP en su primera versión carecía de cifrado o mecanismos de autenticación.

Así que se comenzó a trabajar con SNMPv2 en 1994. SNMPv2 adopta mejoras en la eficacia y la compatibilidad. Para ello, se procede a expandir las descripciones en ASN.1 admitidas para SNMP por lo que aparecen nuevos tipos de datos y nuevas operaciones. Se añaden, además, dos PDUs nuevas: GetBulkRequest, que permite obtener una gran cantidad de datos de una sola petición e InformRequest, PDU para enviar entre gestores.

SNMPv3 es la mejora aportada para suplir los graves problemas de seguridad que no solucionan ninguna de las versiones anteriores. Estas nuevas capacidades permiten protegerse contra las amenazas de modificación de la información, enmascaramiento, modificación del flujo de mensajes y revelación de contenidos. Sin embargo, quedó pendiente una solución estándar para la defensa contra la denegación de servicio o el análisis de tráfico.


martes, 5 de enero de 2010

Introducción. ¿Qué es SNMP? (I)


SNMP es un protocolo muy utilizado para la gestión de la red. Se utiliza para recoger información y configurar dispositivos de red, tales como servidores, impresoras, hubs, switches y routers en un Protocolo de Internet (IP). SNMP puede recopilar informaciónes tales como el nivel de uso de CPU de un servidor , temperatura del chasis del servidor ... la lista de lo que puede hacer con SNMP es casi interminable, si se configura correctamente.

SNMP es un protocolo simple que se puede utilizar en casi cualquier dispositivo de red en uso hoy en día. En algunos entornos se utiliza en gran medida, en otros es escasa. Algunos lo ven como una amenaza a la seguridad, otros lo ven como una manera de gestionar eficazmente algunos de sus sistemas clave.
SNMP es un fácil de usar, fácil de instalar y no muy difícil de entender.

SNMP utiliza UDP

Protocolo de datagramas de usuario, rápido y fiable. Está definido en el RFC 768.
UDP es más fácil de implementar y usar que protocolos más complejas, como TCP. Sin embargo, proporciona gran cantidad de funcionalidad para permitir que un administrador de la estación central se comunique con un agente remoto que se encuentra en cualquier dispositivo administrado.

Operación de SNMP

El gerente y el agente. El gerente es la "estación central". El agente sería el software SNMP en ejecución en un sistema cliente que está tratando de controlar.
El administrador es generalmente un programa de software que se ejecuta en una estación de trabajo o computadora más grande que se comunica con los procesos de agente que está supervisando se ejecutan en cada dispositivo. Los agentes pueden encontrarse en switches, firewalls, servidores, puntos de acceso inalámbricos, enrutadores, concentradores, estaciones de trabajo, etc.