14
Aug
04

FlowScan: mini-howto (gentoo)

!http://josealberto.org/albums/blog_bass/JKGrapher.thumb.png(flowscan)!:http://josealberto.org/gallery/blog_bass/JKGrapher
Vale, esto son unas instrucciones básicas para saber por donde empezar. Hay mucha info al respecto en internet. Un par de conceptos, y de ayuda en al instalación.
If you want to read this little guide in english tell me :)

Bien primero un pequeño esquema para aclarar conceptos…

@router/sonda (port 2055)–>capturer –>flowscan –>module –>rrd –>graph@

Un flowscan como su nombre indica es un escaneo de flujos (de datos en este caso). Normalmente hace falta un router compatible. Hay varios estandares al respecto, el más extendido es el de Cisco. Lo normal es configurar la interfaz que nos interese en el router para que registre los flows. Bien, en este caso lo haremos con una sonda que registrará estos flujos en el estándar de Cisco (aunque se puede elegir otro tipo). Bueno vamos a necesitar lo siguiente:

* “Apache”:http://www.apache.org (emerge)
* “Perl5”:www.cpan.org (emerge)
** HTML::Table
** Net::Patricia
** Boulder::Stream
** ConfigReader::DirectiveStyle
* “rrdtool”:http://www.rddtool.com (emerge)
* “flow-tools”:http://www.splintered.net/sw/flow-tools (emerge)
* CFlow (included in the contrib dir of flow-tools)
* Korn Shell (emerge)
* “FProbe”:http://fprobe.sf.net
* “FlowScan”:http://net.doit.wisc.edu/~plonka/FlowScan
* “CUFlow”:http://www.columbia.edu/acis/networks/advanced/CUFlow (emerge)

Manos a la obra. Primero vamos a instalar todo lo que se pueda usando _emerge_:
@emerge apache perl rrdtool ksh fprobe flowscan@
El resto lo instalaremos en @/usr/local@ así que vamos a añadir el dir que contendrá los binarios al _path_ @export PATH=$PATH:/usr/local/netflows/bin@ para añadirlo al _path_ por defecto editad @/etc/profile@
Ahora los modulitos de perl, para ello lo más fácil es usar cpan para instalarlos, puede que el _ConfigReader_ tengamos que instalarlo a mano. El CFlow es también un módulo de perl, pero en gentoo es un poco más dificil de instalar, porque hay que hacerlo contra _flow-tools_ especificamente. Para ello:
@ebuild flow-tool-XX.ebuild compile@
@cd /var/tmp/portage/flow-tools/work/contrib@
@tar xvfz CFlow-XX.tar.gz@
@cd cflow@
@perl Makeconfig.pl ; make install@
__el Makeconfig debe soltar que ha detectado flow-tools, si no es que va mal.__

Ahora instalamos el _FlowScan_ y el _CFlow_ (por ese orden :P) simplmente descargamos, descomprimimos, leemos el _README_ o _INSTALL_ correspondiente y listo. No tienen nada especial que hacer, si acaso especificar el directorio de instalación @–prefix=/usr/local/netflow@ por ejemplo.

Vamos con lo interesante… primero lanzemos la sonda, en este caso _fprobe_. Le diremos que escuche en la interfaz que nos interese y listo:
@fprobe -i eth0 -l /var/log/fprobe 127.0.0.1:2055@
Ahora lanzamos el capturador que se conectará a la sonda:
@flow-capture -w /usr/local/netflows/flows 0/0/2055 -S5 -V5 -E1G -n 287 -N 0@
Le llega el turno al _FlowScan_. Copiamos el archivo de ejemplo _cf/flowscan.cf_ al direcotrio _bin/_ de la instalación, sí, flowscan búsca la configuración en el mismo sitio que los binarios. Pero hay que hacer algo más. Para que _FlowScan_ funcione con _flow-tools_ (esta diseñado para _cflowd_ necesitamos un _FlowScan.pm_ parcheado que podemos encontrar “aquí”:http://www.linuxgeek.org/netflow/FlowScan.pm lo descargamos y copiamos en el directorio _bin/_ de la instalación y le damos permiso de ejecución. También debemso copiar _CUFlow.pm_ (también con permisos de ejecución) y _CUFlow.cf_ al mismo directorio. Para generar los gráficos por una interfaz web copiaremos _CUGrapher.pl_ al directorio _cgi-bin_ de nuestro servidor web y le daremos permisos de ejecución.
Para que _FlowScan_ funcione con _CUFlow_ editaremos _flowscan.cf_ y sustituiremos el _ReporClasses_ actual por @ReportClasses CUFlow@ y definiremos @FlowFileGlob /usr/local/netflows/flows/ft-v05.*@
Ahora llega lo complejo, configurar _CUFlow.cf_. Primero definimos la red local por ej @Subnet 192.168.0.0/24@ con @Network 192.168.0.0/24@ definimos las redes que queremos espiar. Definimos también el directorio de salida con @OutputDir /usr/local/netflows/rrds@. Una vez hecho esto ejecutamos @/usr/local/netflows/bin/flowscan@
Los gráficos… debemos editar _CUGrapher.pl_ para cambiar los parámetros que nos interese. El más importante ==$rrddir== que debe señalar a @/usr/local/netflows/rrds@ entonces podremos acceder a _http://servidor/cgi-bin/CUGrapher.pl_ y jugetear :)

Es fácil crear scripts de inicio para todo esto, y mandarlo todo a logs y qu estos roten con _logrotate_. También es muy adecuado usar un script que rote los archivos que genera _flow-capture_ y pasarselo con la opción @-R@

Algunos consejos:
* Asegurarse de que todos los directorios estan creados
* Comprobar que los archivos tienen los permisos adecuados
* Usar @ps ax@ para comprobar que esta todo funcionando
* Y revisar los logs

Advertisements

1 Response to “FlowScan: mini-howto (gentoo)”



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


del.icio.us

Flickr Photos


%d bloggers like this: