You are on page 1of 45

1

1- NFDump
1.1- NFDump resumen de herramientas: Todas las herramientas soportan NetFlow v5, v7 y v9. nfcapd Demonio de captura datos. Lee los datos de NetFlow de la red y los almacena en archivos. Rotar automticamente los archivos de cada n minutos. (Por lo general cada 5 min), nfcapd lee NetFlow v5, v7 y los flujos v9 sin ninguna clase de distincin. Se necesita un proceso nfcapd para cada flujo de NetFlow. NFDump Presentador de datos netflow. Lee los datos de NetFlow de los archivos almacenados por nfcapd. Su sintaxis es similar a tcpdump. Puede crear muchos tipos de estadsticas considerando N flujos de direcciones IP, puertos, entre otros parmetros, ordenados por el de la forma que se desee. nfprofile - Perfiles netflow. Lee los datos de NetFlow de los archivos almacenados por nfcapd. Filtra los datos de acuerdo con los conjuntos de filtros especificados (perfiles) y almacena los datos filtrados en archivos para su uso posterior. Utilizado sobre todo por NFSen. nfreplay Permite reutilizar datos netflow. Lee los datos de NetFlow de los archivos almacenados por nfcapd y lo enva a travs de la red a otro host. nfclean.pl - limpieza de datos antiguos Ejemplo de secuencia de comandos para la limpieza de datos antiguos. ft2NFDump - binario Opcional: Lee y convierte las herramientas de flujo de datos. Lee herramientas de flujo de datos a partir de archivos o de la entrada estndar de una cadena de herramientas de flujo y convierte los datos en formato NFDump para ser procesado por NFDump.

2 1.2 Principio de funcionamiento: El objetivo del diseo es para ser capaz de analizar los datos de NetFlow desde el pasado, as como para realizar un seguimiento a interesantes patrones de trfico de forma continua. La cantidad de tiempo atrs a la que se puede acceder slo est limitado por el espacio de disco disponible para todos los datos de NetFlow. Las herramientas estn optimizadas para una velocidad de filtrado eficiente.

Todos los datos se almacenan en el disco, antes de analizar. Esto separa el proceso de almacenamiento y anlisis de los datos. Los datos se organizan basados en el tiempo. Cada n minutos nfcapd gira y cambia el nombre del archivo de salida con el nfcapd.YYYYMMddhhmm y marca de tiempo del intervalo de por ejemplo nfcapd.201302220845 contiene datos del 22 de Febrero de 2013 en adelante las 08:45. Basado en un tiempo de 5 minutos intervalo, esto resulta en 288 archivos por da. El anlisis de los datos se puede realizar para un nico archivo, o mediante la concatenacin de varios archivos para una nica prueba. La salida de este texto ASCII o datos binarios, se puede guardar en un archivo, listo para ser procesado de nuevo con las mismas herramientas. Usted puede tener varias fuentes netflow - vamos a decir 'router2' 'router1' y as sucesivamente. Los datos se organizan como sigue:

3 /flow_base_dir/router1 /flow_base_dir/router2 Lo que significa router1 y router2 son subdirectorios del flow_base_dir. Para cada una de las fuentes netflow usted tiene que comenzar un proceso nfcpad: nfcapd -w -D -l /flow_base_dir/router1 -p 23456 nfcapd -w -D -l /flow_base_dir/router2 -p 23457 Una nota sobre la seguridad: Ninguna de las herramientas requiere privilegios de root, a menos que tenga un puerto <1024. Sin embargo, no existe un mecanismo de control de acceso en nfcapd. Se supone que el nivel de seguridad de host est en su lugar para filtrar las direcciones IP adecuadas. Consulte las pginas de manual o utilizar la opcin-h para obtener ms informacin sobre el uso de cada uno de los programas. 1.3 Configuracin: Es necesario configurar el router para exportar datos NetFlow. Consulte la documentacin pertinente para su modelo. Una muestra genrica de un router CISCO para que Netflow pudiera ser empleado en una interfaz seria: interface fastethernet 0/0 ip route-cache flow Para decirle al router dnde enviar los datos de NetFlow, introduzca el siguiente comando de configuracin global: ip flow-export ip flow-export version 5 ip flow-cache timeout active 5

4 Este ltimo acorta la vida del segmento de flujo a 5 minutos. Usted puede elegir cualquier nmero de minutos entre 1 y 60, pero debe ser igual o menor que el periodo de rotacin de archivos tpicamente 5 minutos. En el 6500/7600, debe asegurarse de habilitar "ECM", adems de la exportacin Netflow normal. ECM (Netflow exportacin de datos) es el tipo de equipo de exportacin Netflow en el Catalyst 6500 / OSR 7600. He aqu un ejemplo de configuracin: mls flow ip interface-full mls flow ipv6 interface-full mls nde sender version 5 En un router que presente un alto consumo de recursos, tenga en cuenta el tiempo de espera, y logre flujos considerablemente pequeos mediante: mls aging fast time 4 threshold 2 mls aging normal 32 mls aging long 900 Si todava quiere la configuracin "tradicional" de Netflow, incluyendo "la entrada de flujo ip" o "flujo ip route-cache" en cada interfaz para que vea los flujos como los que van al router. Consulte la documentacin pertinente para una descripcin completa de los comandos de NetFlow. Nota: Netflow v5 versin v7 y cuentan con 32 valores del contador de bits. El nmero de paquetes o bytes puede sobrepasar este valor, en el caso de tiempos de espera de cach de flujos en routers muy congestionados. Para evitar el desbordamiento, es posible considerar reducir el tiempo de espera de flujo cach a valores ms bajos. Todas las herramientas NFDump utilizar contadores de 64 bits internamente, es decir, todos los valores agregados se presentan correctamente.

1.4 Procesamiento de Netflow:


Por favor, eche un vistazo a la pgina del manual de NFDump para una explicacin detallada de todas las opciones disponibles. Lectura de los datos de flujo: Los flujos se leen desde un archivo nico o de una secuencia de archivos:

Escritura de datos de los flujos: Los flujos procesados pueden ser, ya sea impreso en ASCII, en la salida estndar o escritos en un archivo, se puede leer de nuevo por NFDump para su posterior procesamiento. Los siguientes diagramas muestran en cuales punto las diversas opciones afectar el procesamiento netflow para flujo normal, ordenados fecha y los resultados estadsticos.

1.5 Formatos de salida: NFDump tiene cuatro formatos de salida fija: raw, line, long y extended. Sin embargo, el usuario puede especificar cualquier formato de salida deseado usando el formato fmt salida personalizado. El formato por defecto es la lnea, a menos que se especifique lo contrario. Formato Raw: El formato RAW muestra cada registro de varias lneas, e imprime toda la informacin disponible en el registro. El registro impreso es independiente de la versin NetFlow, pero puede contener diferentes campos adicionales dependiendo de la fuente: Flow Record: Flags = 0x00000000 size = 52 mark = 0 srcaddr = 36.249.80.226 dstaddr = 92.98.219.116 First = 1125377992 [2005-08-30 06:59:52] Last = 1125377992 [2005-08-30 06:59:52] msec_first = 338

7 msec_last = 338 dir = 0 tcp_flags = 0 prot = 17 tos = 0 input = 5 output = 3 srcas = 1299 dstas = 0 srcport = 3040 dstport = 1434 dPkts = 1 dOctets = 404 Este formato se utiliza muy poco, pero contiene toda la informacin disponible para este registro. Formato de lnea: -o line Este es el formato por defecto y muestra un registro netflow por lnea:

La fecha y la duracin del flujo se dan en la resolucin de milisegundos. El nmero de flujos es siempre 1 a menos que los flujos se agregen. Formato largo: -o long Este formato contiene informacin adicional como indicadores TCP, tipo de servicio (TOS) etc: Formato extendido: -o extended

Este formato contiene informacin adicional para dar formato largo: pps (paquetes por segundo) bps (bits por segundo) y bps (bytes por paquete) se calcula y se muestra para cada registro. Para la visualizacin, la hora de inicio ha sido suprimida para encajar el flujo en una lnea:

Formato de salida personalizado:-o fmt Este es el formato ms flexible, ya que usted puede especificar la forma en que desea que la salida se presente. El formato de salida se define mediante etiquetas de elementos, as como texto plano ASCII. Etiquetas predefinidas elementos: Ejemplo:

El formato-o largo puede ser descrito como:

Generalmente, se usan formatos de salida que pueden ser compilados en NFDump para facilitar el acceso. Ver el archivo fuente para NFDump.c para definir ms formatos de salida.

9 Impresin de registros IPv6: Las direcciones IPv6 necesitan mucho ms espacio para mostrar que las direcciones IPv4. Con el fin de mantener la salida clara disposicin, las direcciones IPv6 se redujo la produccin normal.

La parte media de cada direccin IPv6 se corta, pero debera permitir identificar las direcciones, sin embargo, la longitud de las direcciones IPv6 es necesario, aadir el dgito '6 'para el formato de salida (por ejemplo-o LINE6,-o long6,-O extended6) o aadir la opcin -6 (por ejemplo -o extended -6).

La agregacin de los flujos:-a [-A <scheme>]. Los flujos pueden ser agregados al especificar-a. De forma predeterminada, los flujos con origen y protocolo idnticos y la direccin IP de destino y de origen idnticas y los puertos de destino idnticos se agregan. Sin embargo, este comportamiento puede ser cambiado mediante la especificacin de un esquema de agregacin diferente con-A. La opcin-A acepta cualquier combinacin srcip, dstip, srcport, dstport. Ejemplos: Agregacin por defecto: 10 flujos agregados.

Fuente agregada direccin IP y el puerto de destino:-A srcip, dstport

Todos los dems elementos agregados, no se pone a '0 '. Agregacin de subred.

10 Tambin es posible que los flujos agregados en un nivel de subred. Con el fin de crear mscaras apropiadas para agregacin, la versin del protocolo se requiere con el campo de direccin: Ejemplo:-un-A srcip4/24, agrega flujos sobre un /24 IPv4 basados en puerto de destino.

1.6 Sintaxis de filtros


NFDump tiene un motor potente y rpido para realizar filtros. Todos los flujos se filtran antes de que se procesan adicionalmente. Si ningn filtro est dado, cualquier flujo ser procesada. El filtro est bien dado en la lnea de comandos como ltimo argumento encerrado , o en un archivo. Cualquier lnea en el archivo que comienza con un # se trata como un comentario. Cualquier filtro consta de una o ms expresiones (expr). Cualquier nmero de expr pueden ser unidos entre s: expr y expr, expr expr o, no expr, (expr). expr puede ser una de los filtros primitivos: versin del protocolo inet o ipv4 o IPv4 o IPv6 o inet6 para IPv6, es solo para ese tipo de flujo. protocolo TCP, UDP, ICMP, GRE, ESP, AH, RSVP, etc. o PROTO <num> donde num es el nmero del protocolo. direccin IP [SourceDestination] a.b.c.d IP o [SourceDestination] HOST a.b.c.d, donde a.b.c.d es cualquier direccin IP vlida y la direccin fuente puede ser omitida. SourceDestination define la direccin IP para ser seleccionados y puede ser SRC, DST o cualquier combinacin de SRC y/o DST. Omitiendo el destino-origen es equivalente a SRC o DST. red [ SourceDestination] Red a.b.c.d m.n.r.s

11 [SourceDestination] NET a.b.c.d, donde a.b.c.d/XX es el nmero de red y el numero maximo de host, o como la mscara de red o m.n.r.s XX como mascara de red respectivamente. La red puede ser dado como a.b, a.b.c, donde son clase B o C respectivamente. puerto [SourceDestination] PORT [num] nmero de puerto vlido. Si se omite el borrador, '=' Se supone. Inout define la interfaz para ser seleccionados y pueden ser de entrada o salida. Banderas banderas tcpflags con tcpflags como una combinacin de: Un ACK. S SYN. F FIN. R Restablecer. P Empuje. U Urgente. X Todos los indicadores en. El orden de las banderas no es relevante. Las banderas no mencionadas son tratadas como poco importantes. Para conseguir esos flujos con slo el bandera SYN, utilice la sintaxis banderas ' flags S and not flags AFRPU '. TOS Tipo de servicio tos valor con el valor 0 .. 255. paquetes packets [comp] num [escala] para especificar la cantidad de paquetes en el registro de NetFlow. Bytes bytes [comp] num [escala] para especificar el nmero de bytes en el registro de NetFlow. Los paquetes por segundo pps [comp] num [escala] para especificar los pps del flujo. Duracin duration [comp] num para especificar la duracin en milisegundos de la corriente.

12 Bits por segundo bps [comp] num [escala] para especificar los bps del flujo. Bytes por paquete bpp [comp] num [escala] para especificar el bpp del flujo. AS [SourceDestination] AS num, un numero vlido de sistema autnomo Factor de escala Scale k m g. Factor es 1024. Los comparadores [comp], los siguientes son compatibles: =, ==, >, <, EQ, LT, GT . si omite el comparador, se aume '='. Ejemplos:

Estadsticas Top N: [-n <num>]-s type [/ orderby] NFDump proporciona una serie de estadsticas. Estos pueden ser consultados como el suministro de uno o ms argumentos: -s type [/ orderby] en la que el tipo puede ser: rcord Estadstica sobre expedientes netflow agregados. srcip Estadsticas sobre las direcciones IP de origen dstip Estadsticas sobre las direcciones IP de destino ip Estadsticas sobre IP las direcciones IP (origen o destino) srcport Estadstica sobre los puertos de origen dstport Estadstica sobre los puertos de destino port Estadstica sobre algn puerto (origen o destino)

13 srcas Estadstica sobre la fuente de AS dstas Estadstica sobre el destino de AS as cualquier estadstica sobre (origen o destino) de AS inif Estadsticas sobre los nmeros de entrada de la interfaz outif Estadsticas sobre los nmeros de salida de la interfaz orderby es opcional y especifica el orden en el que las estadsticas se ordena y se puede ordenar flujos, paquetes, bytes, PPS, bps o bpp. Puede especificar ms de un orderby que da lugar a la misma estadstica, pero con orden diferente. Si no se da orderby, las estadsticas estn clasificadas por flujos y puede especificar muchos argumentos -s en la lnea de comandos para el mismo recorrido. Las estadsticas de registro puede ser formateada de acuerdo con los formatos de salida disponibles dadas por -o. Los mejores valores por defecto se obtienen con N igual a 10 a menos que se especifique lo contrario, suministrando -n <num>. -n 0 significa nmero ilimitado, a menos de -s rcord, que es n limitado a 1000. Ejemplo:

14

1.7 Otras Opciones


Flujos de anonimato: -K <key> Las direcciones IP de los flujos puede usar de forma annima mediante el suministro de K<key>. NFDump utiliza el Crypto-PAN que es un mdulo a anonimizar direcciones IP. Conversin de herramientas de flujo de datos NetFlow: El convertidor de flujos lee las herramientas de flujo de datos ya sea desde la entrada estndar o desde un archivo determinado (-r) y convierte los datos en formato NFDump y reescribe los registros NFDump en una salida estndar. Para un concierto del archivo: ft2NFDump-r <flow-tools-file> | NFDump-w <NFDump-file>. Por supuesto que puedes proporcionar cualquier lnea NFDump otro comando cambia al procesar directamente las herramientas de flujo de datos con NFDump.

15

2 NFSen - Sensor Netflow


NFSen es una interfaz grfica basada en web para las herramientas netflow NFDump. NFSen le permite: Visualizacin de los datos NetFlow: Flujos, paquetes y bytes que utilizan RRD (Round Robin Database). Fcil navegacin a travs de los datos NetFlow. Procesar los datos de NetFlow dentro del perodo de tiempo especificado. Creacin de la historia, as como perfiles continuos. Escriba sus propios plugins para datos de NetFlow en un intervalo regular. Tareas diferentes necesitan diferentes interfaces a los datos de NetFlow. NFSen le permite mantener toda la ventajas convenientes de la lnea de comandos mediante NFDump directamente y le da tambin un grfico visin general de los datos de NetFlow. Nota: Todas las direcciones IP en este documento son annimos. 2.1 Pantallas

NFSen - Pgina Visin General

16

NfSen Pgina de vista de flujos

NfSen Pgina de navegacin.

17

NFSen - Salida de Procesamiento Netflow

NFSen - Informacin de Perfil

18 2.2 Instalacin NFSen 2.2.1 Requisitos: PHP y Perl: NFSen est escrito en PHP y Perl y debera funcionar en cualquier sistema * NIX. Al menos Perl 5.6.0 y PHP> 4,1, que incluya la extensin Perl regex. RRD herramientas: Para los grficos netflow, nfsen requiere las herramientas de RRD, al menos el Mdulo Perl RRDs. NFDump herramientas: Las herramientas nfump son las herramientas de back-end para NFSen y recopilar y procesar los datos de NetFlow. Asegrese de tener al menos la versin 1.4. 2.2.2 Primera instalacin NFSen tiene una estructura de directorios muy flexible. Para simplificar las cosas, el diseo predeterminado almacena todo excepto las pginas HTML en BASEDIR. Sin embargo, puede configurar NFSen y satisfacer sus necesidades locales. La figura muestra el diseo por defecto con todos los directorios configurables. Todos los datos de NetFlow se almacenan bajo PROFILEDATADIR. As que asegrese de que tiene suficiente espacio en disco para este directorio.

19 Si ha instalado todos los requisitos previos, cambie al directorio etc y copie la configuracin de plantilla NFSen, archivo nfsen-dist.conf a nfsen.conf. Editar nfsen.conf de acuerdo a sus necesidades y configuracin: Master Config File: ############################## # # NfSen master config file # # Configuration of NfSen: # Set all the values to fit your NfSen setup and run the 'install.pl' # script from the nfsen distribution directory. # # You should not need to changes anything after NfSen is installed, # besides the NfSen plugins at the bottom. # When you make any changes in the plugins section, run 'nfsen reload' # to make sure nfsen-run gets notified about your plugins. # # Do not change any other settings after NfSen is installed. # otherwise you must rerun the install.pl script. # # The syntax must conform to Perl syntax. # ############################## # # NfSen default layout: # Any scripts, modules or profiles are installed by default under $BASEDIR. # However, you may change any of these settings to fit your requested layout. # # Required for default layout

20 $BASEDIR = "/data/nfsen"; # # Where to install the NfSen binaries $BINDIR="${BASEDIR}/bin"; # # Where to install the NfSen Perl modules $LIBEXECDIR="${BASEDIR}/libexec"; # # Where to install the config files $CONFDIR="${BASEDIR}/etc"; # # NfSen html pages directory: # All php scripts will be installed here. # URL: Entry point for nfsen: http://<webserver>/nfsen/nfsen.php $HTMLDIR = "/var/www/nfsen/"; # # Where to install the docs $DOCDIR="${HTMLDIR}/doc"; # # Var space for NfSen $VARDIR="${BASEDIR}/var"; # # The Profiles stat directory, where all profile information # RRD DBs and gif pictures of the profile are stored $PROFILESTATDIR="${BASEDIR}/profiles"; # # The Profiles directory, where all netflow data is stored $PROFILEDATADIR="${BASEDIR}/profiles"; # # Where go all the backend plugins

21 $BACKEND_PLUGINDIR="${BASEDIR}/plugins"; # # Where go all the frontend plugins $FRONTEND_PLUGINDIR="${HTMLDIR}/plugins"; # # NFDump tools path $PREFIX = '/usr/local/bin'; # # BASEDIR unrelated vars: # # Run nfcapd as this user # This may be a different or the same uid than your web server. # Note: This user must be in group $WWWGROUP, otherwise nfcapd # is not able to write data files! $USER = "netflow"; # user and group of the web server process # All netflow processing will be done with this user $WWWUSER = "www"; $WWWGROUP = "www"; # Receive buffer size for nfcapd - see man page nfcapd(1) $BUFFLEN = 200000; # Netflow sources # Define an ident string, port and colour per netflow source # ident identifies this netflow source. e.g. the router name, # Upstream provider name etc. # port nfcapd listens on this port for netflow data for this source # col colour in nfsen graphs for this source # # Syntax: # 'ident' => { 'port' => '<portnum>', 'col' => '<colour>' }

22 # Ident strings must be 1 to 19 characters long only, containing characters [a-zA-Z0-9_]. %sources = ( 'upstream1' => { 'port' => '9995', 'col' => '#0000ff' }, 'peer1' => { 'port' => '9996', 'col' => '#ff0000' }, ); # # Low water mark: When expiring files, delete files until # size = max size * low water mark # typically 0.9 $low_water = 0.9; # # syslog facility for periodic jobs # nfsen uses level 'debug', 'info', 'warning' and 'err' # Note: nfsen is very chatty for level 'debug' and 'info' # For normal operation, you may set the logging level in syslog.conf # to warning or error unless you want to debug NfSen $syslog_facility = 'local3'; # # plugins # plugins are run for each timeslot, after the roll over of new data files. # A plugin may run for any profile or for a specific profile only. # Syntax: [ 'profile', 'module' ] # profile: ',' separated list of profiles, or "*' for any profile # module: Module name. # The module follows the standard Perl module conventions, with at least two # additional functions: Init() and run(). See demoplugin.pm for a simple template. # Plugins are installed under # # $BACKEND_PLUGINDIR and $FRONTEND_PLUGINDIR @plugins = (

23 # profile # module # [ '*', 'demoplugin' ], ); # # Notification module # The Notification module is an optional module. If you want your plugins to # notify any result by email, use this module. # Make sure you have installed Mail::Internet before using the module # # Use this from address $MAIL_FROM = 'your@from.example.net'; # Use these recipients $RCPT_TO = 'any@example.net, another@example.net'; # Use this SMTP server $SMTP_SERVER = 'localhost'; 1;

Cuando haya terminado con nfsen.conf, ejecute el script install.pl en el directorio de distribucin NFSen: ./install.pl etc/nfsen.conf La ejecucin de install.pl har lo siguiente: Crear el ambiente NFSen bajo BASEDIR Copiar los php / html archivos en la Htmldir Crear el perfil en directo. Prepara los DBs RRD para el perfil en directo. Crea y configura config.php

24 Despus de la instalacin, encontrar el archivo nfsen.conf en CONFDIR. La documentacin, est instalado en Docdir. Si desea que el documento est disponible como enlace Ayuda en la interfaz web, descomentar la lnea 18 en navigation.php: // print "<a href='doc/NfSen.html' target='_blank' >Help</a>\n"; 2.2.3 Importar datos existentes de netflow Si ya dispone de los datos de NetFlow de NFDump, siga estos pasos:

cd BASEDIR/profiles/live Copiar los datos ya existentes en el directorio correspondiente o asegrese de que tiene un enlace simblico desde el directorio de origen a sus flujos. cd BASEDIR/bin y reconstruir el perfil de live: ./nfsen r live El perfil live ahora se encuentra configurado con los datos existentes. Usted puede verificar el perfil con: /Nfsen-l live.

25 El estado del perfil se ajusta a 'reconstruir' que cambiar automticamente a 'OK' la primera vez que se realice esta tarea de gestin de nfsen, asegrese de desactivar el actual start/stop script, porque NFSen proporcionar su propio start/stop de secuencia de comandos para iniciar todos los procesos requeridos de nfcapd, as como el proceso de fondo nfsen-run. El script de limpieza de NFDump: nfclean.pl no hace falta tampoco, ya que terminar los datos NetFlow est totalmente integrado en NFSen. 2.2.4 Start-Stop NFSen NFSen ofrece un nfsen.rc, que es un guin de arranque y parada en BINDIR. Usted puede crear un enlace simblico desde su directorio rc.d apropiados para este archivo. Para iniciar NFSen: BINDIR/nfsen.rc start, As se inicia todos los procesos nfcapd para recoger los datos de NetFlow y el proceso de fondo nfsen de gestin actualizara sus perfiles, cuando se disponga de nuevos datos. Apunte su navegador web para nfsen.php. (Normalmente http://direccin_IP_del_servidor/nfsen/nfsen.php). La tarea de fondo nfsen se ejecutaran, as como log nfcapd a syslog. Nfsen-run realiza muchas preguntas, cuando se encuentre configurando 'info' establezca prioridad syslog al menos. Es posible que desee establecer la prioridad de syslog para "advertencia" para el normal funcionamiento. Para la depuracin utilice 'info' o 'debug'. 2.3 Trabajar con NFSen NFSen tiene dos interfaces de usuario diferentes: Interfaz Web Interfaz de lnea La mayora de las veces se desea utilizar la interfaz web. Sin embargo, usted puede hacer todo, desde la de lnea de comandos tambin.

26 2.3.1 Vistas NfSen ofrece diferentes vistas, cada una representa un punto de vista puede ser seleccionado usando las pestaas de la parte superior de la pgina. Al apuntar el navegador a la pgina nfsen.php, "home" es la vista predeterminada y muestra una visin general del modo seleccionado. Las tres columnas muestran los 'flujos', 'paquetes' y bytes. Para seleccionar un punto de vista diferente, se debe hacer clic en cualquier grfico o seleccione la vista de la que prefiera, por ejemplo, haciendo clic en la columna de la historia bytes, cambia a la vista bytes. Al hacer clic en cualquier grfico de los "flujos", "Paquetes" o la vista 'bytes' cambia a una vista detallada para un anlisis posterior de los datos NetFlow. Si el perfil seleccionado es un perfil continuo, las pginas de la historia se actualizan automticamente cada 5 minutos para renovar los grficos. Esto le permite tener una ventana del navegador en la pantalla, siempre al da con los grficos. La informacin detallada sobre el perfil seleccionado est disponible bajo la pestaa "Estadsticas".

2.3.2 perfiles Un perfil es un punto de vista especfico de los datos NetFlow. Un perfil se define por sus filtros, es decir, cualquier filtro vlido aceptado por NFDump. Por lo menos "en vivo" el perfil est siempre disponible y se utiliza para almacenar los datos de NetFlow entrantes sin filtrar. Puede alternar a cualquier perfil de uso el men desplegable en la esquina superior derecha de la pgina web.

Seleccin de perfiles

27 2.3.3 Tipos de perfiles Un perfil puede ser de tipo histrico o continuo. Un perfil histrico comienza y termina de nuevo en el pasado y permanece esttico. Esto no crece ni caduca. Un perfil continuo puede comenzar en el pasado y se actualiza continuamente mientras que los datos NetFlow estn disponibles. Los datos antiguos expira despus de un perodo de tiempo determinado o cuando el perfil alcanza un cierto tamao. 2.3.4 Creacin de perfiles Seleccione la opcin "Nuevo perfil". Completar el formulario 'New Profile" para empezar a crear el perfil. El tipo de perfil se detecta automticamente segn la 'Inicio' y 'Fin' de valores introducidos. El texto de ayuda deber guiar a travs del proceso de creacin del perfil. Como los perfiles son creados a partir de los datos de NetFlow "en vivo" de perfil, el inicio y el final del perfil debe caer en el intervalo de tiempo el perfil de "live".

28 La creacin con xito de nuevo perfil. Cuando el perfil se ha creado correctamente, el proceso de construccin se inicia. Dependiendo de cunto tiempo atrs en el pasado el perfil comienza, esto puede tomar un tiempo considerable. Usted puede seguir el proceso de compilacin, haga clic en 'Continuar' o en cualquier momento seleccionando la pestaa 'Stats' del nuevo perfil. En la parte superior de la informacin de estado, ver una barra de progreso, mostrando el avance del proyecto.

El progreso de la construccin del perfil

2.3.5 Gestin de Perfiles Una vez creado el perfil se puede cambiar la configuracin en la cual expirara un perfil continuo. Seleccione la opcin 'Stat' pestaa del perfil y haga clic en el icono de edicin del valor apropiado expirar. Un perfil continuo se puede terminar por la antigedad de los datos o el tamao de perfil utilizado en el disco. Su vencimiento comienza cuando uno de los dos lmites se alcanza. Termina en el valor configurado en el low_water $ nfsen.conf.

29

Para eliminar un perfil, haga clic en el bote de basura en la esquina superior derecha de la tabla de informacin de perfil. Lo hars que confirmar para borrar el perfil:

2.3.6 navegacin
La navegacin detallada y procesamiento netflow se realiza teniendo en cuenta los 'Detalles'. Al entrar en esta vista, ver la pantalla de navegacin.

30 La pgina est dividida en dos partes: La parte superior le permite navegar a travs de los datos NetFlow, as como la seleccin de un intervalo de tiempo o ventana de tiempo. La parte inferior contiene todos los controles para procesar los datos de NetFlow de la ranura de tiempo seleccionada o ventana de tiempo. Al hacer clic en cualquiera de los grficos de protocolo sustituir a los pequeos grficos principales con el protocolo seleccionado. Puede alternar y seleccionar el protocolo para la grfica principal, que es apropiado para la investigacin de su situacin actual. Al hacer clic en los grficos de tipo pequeo de la derecha sustituir a los grficos principales, as como los grficos de protocolo con el tipo seleccionado. Por lo tanto se puede cambiar a "Flujos", "paquetes" o "bytes de acuerdo a las necesidades. El lapso de tiempo de la grfica se puede cambiar usando el men desplegable.

2.3.7 Seleccin de una ranura de tiempo


Una ranura de tiempo se inicia en cada ciclo de 5 (0, 5, 10, 15, etc). Dado que la ventana consta de varios intervalos de tiempo. Al entrar en 'Ver detalles' se observara una ventana de escala de un da, para ver las ltimas 24 horas del perfil. El cursor de tiempo se coloca en el medio de donde comienzan y terminan las 24 horas, por lo tanto la ranura de tiempo de ventana se establece en una ranura de tiempo. Se observara el tiempo seleccionado en la ranura o ventana de tiempo en la ventana del navegador, as como en el ttulo del grfico principal. Seleccin de un intervalo de tiempo diferente se puede realizar de diferentes maneras: Al hacer clic en el grfico principal, por ejemplo, cuando usted ve un pico sospechoso. Uso de los controles de cursor de tiempo:

> Siguiente intervalo de tiempo: el tiempo anticipado por 5 minutos.

31 <Anterior tiempo: Volver 5 minutos. Avanzar >> Ranura de tiempo por un lapso de tiempo completo de la grfica. << Volver por un lapso de tiempo completo de la grfica. > | Ir al final del perfil. | Centro de cursor de tiempo en el grfico actual. ^ Coloque el cursor en el pico, que se encuentra dentro de + / - 1 hora lapso de tiempo de la posicin actual del cursor.

Entrando en el intervalo de tiempo de inters en el campo de entrada y pulse el tstart tecla enter. Los grficos se actualizan inmediatamente, al seleccionar un intervalo de tiempo diferente. A veces es conveniente para procesar ms de un segmento de tiempo nico de 5 min. El intervalo de tiempo de inters debe ser seleccionado mediante la ampliacin de la ventana de tiempo. En primer lugar, coloque el cursor tiempo en el borde izquierdo de la ventana de tiempo, usando los mtodos descritos anteriormente. A continuacin, seleccione el borde derecho del tiempo de la ventana por:

Seleccione Mark desde el men desplegable y haga clic en la principal grfico.

32 El grfico principal se actualiza inmediatamente con la ventana de tiempo seleccionada:

Ventana de tiempo seleccionado Nota: Una ventana de tiempo seleccionado puede ser cambiado mediante la seleccin de una frontera nueva. Para ajustar el tamao de la ventana, seleccione un nuevo lmite de la ventana.

Para restaurar la ventana al tamao predeterminado, utilice el botn situado debajo del tstart. Al mover el intervalo de tiempo hacia el inicio del perfil, una zona gris en el grfico principal aparece y muestra el final de los datos NetFlow disponibles. No existen datos en la zona gris. Esta frontera se mueve de forma dinmica, cuando los datos caduquen. El recorrido de los flujos, paquetes y bytes puede seguir siendo disponible, como estos datos se almacenan en la base de datos RRD.

2.3.8 Estadstica de resumen


El resumen estadstico se encuentra debajo del grfico principal y le da una visin general sobre los flujos, paquetes y trfico de la ranura de tiempo seleccionada o ventana de tiempo. El resumen se puede cambiar entre la suma total de la ventana de tiempo seleccionada, o los valores de frecuencia por segundo.

33

Cada lnea corresponde a una fuente netflow configurada. Si se est interesado slo en algunos de las fuentes, se puede quitar los otros haciendo clic en las casillas de verificacin. Esto deshabilita o habilita esta fuente en todos los grficos y en las estadsticas respectivamente.

2.3.9 Opciones de la pantalla grfica


Para ver los detalles, que solo interesen en un grfico a cada particular, puede aparecer con diferentes opciones: Escala: - Eje lineal

34 -Eje logartmico y. Tipo de grfico: - Stacked: Todas las fuentes se dibuja encima de la otra. -Lnea: Todas las fuentes se dibujan independiente. Ejemplo de un grfico de lnea:

2.3.10 Procesamiento de Netflow


Una vez que haya seleccionado la ventana de tiempo de inters, podr procesar y filtrar los datos de NetFlow de acuerdo a las necesidades que se requiere, utilizando el formulario de proceso.

Seleccionar las fuentes netflow para procesar. Puede seleccionar mltiples fuentes.

35 Introducir un filtro de NetFlow. La sintaxis se ajusta a la sintaxis del filtro NFDump. Seleccione las opciones. Haga clic en "proceso". Las fuentes seleccionadas, el filtro y todas las opciones de la forma de procesamiento se compilan en el NFDump con base en el comando apropiado. Por lo tanto, la sintaxis del filtro es exactamente como se describe en 1.6. La ranura de tiempo para el procesamiento se desva de la ventana de tiempo seleccionado en el grfico principal.

2.3.10.1 Opciones
La lista de las siguientes opciones se utiliza para elaborar el orden NFDump. Opciones de la lista -Primera Lista N Flujos: Lista de slo los flujos N primeros del intervalo de tiempo seleccionado NFDump opcin:-c N. -Agregado de los flujos: IP SRC, DST IP, SRC Puerto, Puerto Dst NFDump opcin:-a. -Ordena todos los flujos en funcin del tiempo visto por primera vez, al leer los datos NetFlow de mltiple fuentes. Importante cuando el seguimiento de un cierto perodo de tiempo. NFDump opcin:m. -salida larga Incluya indicadores TCP y el campo tos de la produccin NFDump opcin:-o long. Opciones de Estadstica - Stat Top N, Limita las estadsticas a la primera N, NFDump option: -n N - Limit Packets/Bytes, Despus de crear la estadstica solo muestra los flujos agregados ms o menos - paquetes/flujos especificados, NFDump option: +/-l num +/- L num - Packets/Bytes Crea estadsticas de Packets/Bytes, NFDump option: -S - Long output, Incluye banderas TCP y TOS en los campos de salida, NFDump option: -o long - SRC IP Addr. Crea estadsticas acerca de los parmetros seleccionados, NFDump option: -s <stat type>

36

Nota: Dependiendo del tamao de la red, el procesamiento netflow puede consumir una gran cantidad de tiempo y recursos, cuando se selecciona una ventana de tiempo grande y varios recursos.

2.3.10.2 filtros predeterminados


Frecuentemente se utilizan filtros de procesamiento que pueden ser almacenados en un fichero bajo BASEDIR/var/filters. Estos filtros se estar disponible en la forma de procesamiento. El nombre del filtro en el men corresponde al nombre de archivo. Los filtros utilizan la sintaxis estndar NFDump.

37

El filtro por defecto se combina con el filtro que introduzca en el cuadro de texto. Ambos filtros estn vinculadas con lgica y. Si un filtro nuevo instalado no es visible en el men despus de instalar usted puede actualizar la aplicacin por el cambio en las pestaa Stats.

2.4 Marcadores
Mientras trabajaba con NFSen, puede marcar la situacin actual para su uso posterior o para enviarlo como un enlace a un amigo. El vnculo de marcador en la parte superior derecha de la pgina, le permite hacer eso.

Al hacer clic en el enlace pone la URL marcador en el campo de entrada de URL del navegador, lo que le permite aadir este enlace a tu coleccin de favoritos. Muchos navegadores tambin permiten que usted haga clic derecho en un enlace para copiar el enlace ubicacin para pegarlo en otra aplicacin.

38

2.5 Lnea de comandos de NFSen


La lnea de comando herramienta nfsen 'en el directorio BASEDIR/bin trabaja mano a mano con el frontend. Se utiliza para crear y gestionar perfiles como se puede hacer con la interfaz en la pestaa 'Stat'. Utilice nfsen-h para ver todas las opciones disponibles para nfsen:

Si crea o elimina un perfil en la lnea de comandos, los cambios pueden no ser inmediatamente visibles en el perfil de men. El cambio a las actualizaciones de la pestaa 'Estadsticas' el cach de la aplicacin y el men de perfil.

39

3- Plugins
Incluso a pesar de que NFSen es muy flexible, puede tener necesidades diferentes o adicionales para procesar y mostrar datos NetFlow. Esto se puede hacer utilizando la funcin del complemento proporcionado por nfsen. Hay dos tipos de plugins: Plugins Backend y Frontend plugins. Los plugins de back-end se configuran y se instala como una extensin a 'nfsen-run', el demonio que opera en segundo plano es el que realiza un seguimiento de todas las actualizaciones de perfiles y datos de expirar. Los plugins son mdulos Perl que se cargan cuando se inicia o cuando NFSen vuelve a cargar y se ejecutan en cada intervalo de 5 minutos. Esto le permite a los datos de procesos netflow nuevas opciones a medida que est disponible y desencadena alguna accin de su inters. El complemento del servidor puede almacenar la salida de los datos procesados, que a su vez pueden ser visualizadas con el plugin frontend. Un plugin front.end es un plugin que se engancha a la interfaz web y puede mostrar cualquier resultado desde el servidor.

3.1 Instalacin de plugins


Plugins se guardan en la BACKEND_PLUGINDIR y FRONTEND_PLUGINDIR respectivamente y estn configurados en nfsen.conf. La seccin de configuracin se encuentra en la parte inferior de este archivo:
#

# plugins # plugins are run for each timeslot, after the roll over of new data files. # A plugin may run for any profile or for a specific profile only. # Syntax: [ 'profile', 'module' ] # profile: ',' separated list of profiles, or "*' for any profile # module : Module name. # The backend plugin is a Perl module and follows the standard # Perl module conventions, with at least two additional functions: Init() and run(). # See demoplugin.pm for a simple template.

40 # The frontend plugin is a PHP script with dedicated functions # <modulename>__ParseInput(), as well as <modulename_Run(); @plugins = ( # profile # module [ 'live', 'TrackStats' ], ); Una vez que los mdulos estn instalados y configurados, indicar el demonio 'nfsen-run' a integrar el nuevo plugin:
BASEDIR/bin/nfsen reload

Echa un vistazo a el archivo syslog por errores al cargar los plugins.

3.2 Escribir Backend Plugins


Escribir Backend plugins es tan fcil como escribir mdulos perl, la plantilla puede ser similar al siguiente ejemplo: # # package PluginName; use strict; use NfConf; sub run { my $profile = shift; my $timeslot = shift; # Format: yyyymmddHHMM

41 # Do whatever you want to do. } sub Init { return 1; } 1;

El mdulo tiene que proporcionar al menos dos funciones: init () y run (). Init () se llama cuando el complemento es cargado. Usted puede hacer cualquier trabajo de inicializacin del complemento especfico. Volver 1 para una inicializacin correcta y permitir que su plugin. Volviendo 0 desactiva el plugin y evita que el plugin se ejecute. La funcin run () se llama peridicamente cada 5 minutos, cuando se disponga de nuevos datos. El primer parmetro especifica el nombre del perfil, el segundo parmetro el intervalo de tiempo en el nuevo formato 'yyyymmddHHMM'. Informacin especfica del perfil que se pueden recuperar usando los mdulos NfSen.pm y NfConf.pm. Ejemplo de plugin de TrackStats.pm: El plugin del siguiente ejemplo hace unos 10 mejores estadsticas cada 5 minutos y almacena el resultado en un archivo para mostrarlo usando el plugin frontend. Opcionalmente, el resultado puede ser enviada por correo electrnico, si $ = 1 NOTIFICAR
# package TrackStats; use strict; use NfSen; use NfConf; # # The plugin may send any messages to syslog # Do not initialize syslog, as this is done by # the main process nfsen-run use Sys::Syslog; Sys::Syslog::setlogsock('unix'); # Use the optional Notification module

42
use Notification; my ( $NFDump, $PROFILEDATADIR, $LOGFILE, $NOTIFY ); # # Define a nice filter: # We like to see flows from our network only my $nf_filter = 'src net 172.16/16'; # # Periodic function # input: profile name # timeslot. Format yyyymmddHHMM e.g. 200503031200 sub run { my $profile = shift; my $timeslot = shift; syslog('debug',"TrackStats run: Profile: $profile, Time: $timeslot"); my %profileinfo = NfSen::ReadProfile($profile); my $netflow_sources ="$PROFILEDATADIR/$profile/$profileinfo{'sourcelist'}"; # # process all sources of this profile at once my @output = `$NFDump -M $netflow_sources -r nfcapd.$timeslot -s srcip '$nf_filter'`; # # Process the output and notify the duty team if (open (LOG, ">> $LOGFILE")){ ; print LOG @output ; close LOG ; } else { syslog('debug', "TrackStats: unable to open $LOGFILE") ; } if ( $NOTIFY ) { notify("TrackStats: Profile $profile, Timeslot $timeslot", \@output); syslog('debug', "TrackStats notify: "); } } # End of run sub Init { syslog("info", "TrackStats: Init"); # Init some vars $NFDump = "$NfConf::PREFIX/NFDump"; $PROFILEDATADIR = "$NfConf::PROFILEDATADIR"; $LOGFILE = "$NfConf::VARDIR/tmp/trackstats.log" ; $NOTIFY = 1 ; return 1; } # End of Init sub BEGIN { syslog("info", "TrackStats BEGIN"); # Standard BEGIN Perl function - See Perl documentation # not used here } sub END { syslog("info", "TrackStats END"); # Standard END Perl function - See Perl documentation # not used here } 1;

43

3.3 Pruebas de Plugins Backend


Antes de instalar, probar el plugin con el script testPlugin, disponible en BASEDIR/bin. Los scripts de prueba le permiten probar el plugin con cualquier perfil y horario:
./testPlugin -p <pluginname> -P <profile> -t <timeslot>

3.4 Escritura de Frontend Plugins


Un
<?php function <plugin_name>_ParseInput( $plugin_id ) { // Set possible warning or error message $_SESSION['warning'] = "Warning set by plugin!"; $_SESSION['error'] = "Error set by plugin!"; } function <plugin_name>_Run( $plugin_id ) { } ?>

plugin

es

una

interfaz

simple

de

script

PHP

es

almacenada

en

la

FRONTEND_PLUGINDIR.

El plugin_id es un nmero entero nico, asignado a su complemento, que puede ser utilizado para cualquier propsito. Ms a menudo, se utiliza para identificar las variables de entrada de formularios HTML, que pertenece a este plugin. Ejemplo de definicin de entrada de campo posible en un formulario html:
<input type='text' name='<? echo "${plugin_id}_port";?>' value='' size='5' maxlength='5' >

Esto permite distinguir entre diferentes plugins y evita enfrentamientos con los nombres de variables en las formas web. La funcin <NOMBRE_DE_PLUGIN> _ParseInput se llama, cuando el plugin se ejecuta, pero antes de ser enviado a la barra de navegacin. Esto le permite analizar todos los campos de entrada de formularios y ajuste el $ _SESSION ['Warning'] y $ _SESSION ['error'] variables, en caso de un error o una advertencia tiene que ser muestra. La funcin _Run <NOMBRE_DE_PLUGIN> se llama despus que la barra de navegacin ha sido enviado, y ahora el plug-in procede a enviar ms el contenido al cliente.

44 TrackStats.php Ejemplo de plugin: El plugin muestra el resultado desde el servidor correspondiente API TrackStats.pm descrito anteriormente.
<?php /* * TrackStats plugin */ // Required functions /* * This function is called prior to any output to the web browser and is intended * for the plugin to parse possible form data. This function is called only, if this * plugin is selected in the plugins tab */ function TrackStats_ParseInput( $plugin_id ) { /* * In TrackStats we have no input to parse, but this function must * exists anyway */ } // End of TrackStats_ParseInput /* * This function is called after the header with the navigation bar have been * sent to the browser. It's now up to this function what to display. * This function is called only, if this plugin is selected in the plugins tab */ function TrackStats_Run( $plugin_id ) { global $VARDIR; if ($_SESSION['profile'] == 'live') { print "<h3>TrackStats Logfile</h3>\n"; echo "<pre>"; $logfile = "$VARDIR/tmp/trackstats.log"; $lines = file($logfile) ; foreach ($lines as $line) { echo htmlspecialchars($line) ; } echo "</pre>"; } else { print "<h3>plugin not applicable for profile: " .$_SESSION['profile'] . "</h3>" ; } } // End of TrackStats_Run ?>

El plugin frontend es seleccionado por la pestaa correspondiente en la barra de herramientas:

45 Como un ejemplo ms complejo - El plugin que filtra trafico por puertos:

3.5 Mdulos opcionales


Los mdulos opcionales no estn obligados por NFSen. Sin embargo, hacen la vida ms fcil al escribir plugins.

3.5.1 Notification.pm
Los plugins pueden producir una salida que se enva a un equipo de guardia para el anlisis adicional o para solicitar algunas acciones. Este mdulo le permite enviar mensajes de correo electrnico con una sola lnea: notify (<asunto>, <BODY>), La parmetros de configuracin, como De, Para y el servidor SMTP se define en el archivo maestro nfsen.conf. Ejemplo:
nfsen.conf:
.... # # Notification module # The Notification module is an optional module. If you want your plugins to # notify any result by email, use this module. # Make sure you have installed Mail::Internet before using the module # # Use this from address $MAIL_FROM = 'your@from.example.net' ; # Use these recipients $RCPT_TO = 'any@example.net', another@example.net" ; # Use this SMTP server $SMTP_SERVER = 'localhost' ; Somewhere in your plugin: use Notification; ... @output = some command; notify("Suspicious Flows found", \@output);

You might also like