miércoles, noviembre 29, 2006

Algunos comentarios de la Fedora

Fedora es el nombre que da Redhat a su distribución gratuita. Según su propia página, la define como un sistema operativo libre que ofrece la mejor combinación entre software estable y al filo de la navaja que existe dentro del software libre.

Mi primera impresión tras usarla durante algún tiempo es que está poco madura para un entorno de producción. Simplemente considero bastante inaceptable que cada día haya actualizaciones, en algunos casos llegando a los 100MB. Es complicado montar un entorno de producción sobre ella. En cierta manera es lógico, puesto que Redhat tiene su propia distribución estable y soportada Redhat Enterprise Linux. Fedora sirve de prueba de todas las tecnologías que posteriormente introducirá en la versión comercial de la distribución. Es una distribución que para trabajo de preproducción o desarrollo no está mal, pero le falta la solidad de por ejemplo Debian para tenerla en un entorno de producción algo crítico (por ejemplo, no hace mucho, se cargaba una actualización de Fedora el soporte de apt-get que trae, la lentitud de yum). Otra cosa es probarla como escritorio, pero no se que tal va.

Hace no mucho leyendo los comentarios de esta historia de Slashdot, me llevé la misma impresión (comentarios sobre KDE como un ciudadano de segunda, sobre que nada más publicar la distribución salieran cerca de 100MB en parches, gente que al igual que yo estaba encantado con las Redhat 4.2, 5.2 o 6.2, pero que vio como a partir de la 8 la cosa cambió bastante).

Aunque sea un entorno de comunidad (por ejemplo ciertos paquetes están en la sección extra), desde mi punto de vista un poco más de control de calidad les vendría bien, a menos claro que sea un tipo de usuario que no le importe experimentar, y que sirva de realimentación para los programas que lleva la distribución. Sin embargo, no es mi caso actualmente, donde el ordenador es una herramienta de trabajo que necesito que funcione dentro de unos márgenes (escritorio) y desde luego, mucho menos en caso de que tenga que montar una máquina de producción que donde se quieren son los problemas mínimos.

Para quien le guste las distrisbuciones basadas en Redhat como a mi, siempre cabe la posibilidad de probar CentOS que no es más que una compilación de los fuentes de la Redhat Entreprise Linux quitando todo los logos y demás de Redhat. No sé que tal funcionará.

Desde mi punto de vista Fedora es una distro para gente que le guste cacharrear y que tenga tiempo para estar buscando problemas. Para producción buscaba algo más asentado.

Technorati Tags:

martes, noviembre 28, 2006

Stencils para OmniGraffle

Utilizo desde hace tiempo Omnigraffle, una aplicación de dibujo vectorial que corre sobre MacOS X. Siempre he echado de menos algo que pueda competir en MacOS con Visio, y la verdad esta pequeña aplicación se defiende bien, al menos a la hora de crear esquemas de red y dibujos simples que es para lo que la utilizo. Sin embargo siempre le he echado en falta la biblioteca de objetos tan buena que tiene Visio para estos temas. Buscando por Internet he dado con este con todos los ordenadores de Apple - aunque según dice un comentario parece ser una filtración de una versión interna -, la categoría de redes que es la que más me interesa porque trae toda la información de los Cisco o los Network 3D que solía usar con el Visio.

Aunque no tenga la capacidad de programación del Visio, reconozco que con estos gráficos la labor de dibujar en MacOS es mucho más sencilla :)

Technorati Tags:

MRTG: Y los contadores de tráfico snmp extendidos.

Uso mrtg para pintar las gráficas del tráfico que va por mi punto de acceso, un Airport Express. Normalmente, el programa cfgmaker suele medir las variables de la mib ifInOctets o ifOutOctets. Estos contadores son del tipo counter32. Este tipo de contador crece de uno en uno hasta el valor máximo (2^32-1). En este caso, se queda estancado, y por tanto, la gráfica que usa el mrtg queda plana, puesto que usa diferencias para calcular la gráfica.

Para ello debe de usarse otros dos contadores, ifHCInOctets e ifHCOutOctets, en este caso de tipo counter64 (desde 0 a 2^64-1) que si nos da el margen necesario para evitar el problema con el contador tradicional de la MIB.

Normalmente una entrada en el mrtg.cfg para el contador habitual es:

Targer[router] ifIndex:comunidad@ip
Donde ifIndex es el índice del interfaz, comunidad la comunidad snmp v1 e ip la dirección IP de la máquina que queremos gestionar.

Esta entrada de configuración la genera el cfgmaker (configurador del mrtg) por defecto, a menos que le digamos que use la versión 2 de SNMP, pasándole la opción --snmp-option=:::::2. Sin embargo, esto no vale con la Airport Extreme para generar automáticamente la configuración y que mire ifHCInOctects y ifHCOutOctects, porque devuelve un valor erróneo de la velocidad de las interfaces. Para ello hay que decirle que use la versión 2 de SNMP. Las líneas de configuración quedarían por tanto:

Targer[router] ifIndex:comunidad@ip:::::2

De esta manera, se consigue que use SNMP v2, y por tanto consulte los contadores de 64 bits

Technorati Tags: ,

lunes, noviembre 27, 2006

Checkpoint fw monitor (un sniffer dentro del Firewall)

Los módulos de inspección del Checkpoint Firewall-1 se instalan entre la tarjeta de red y la pila TCP/IP de la máquina que hace de host del sistema (Windows, Linux, IPSO, Solaris). Normalmente, estas máquinas tienen utilidades a nivel de red que permiten ver qué está llegando a los interfaces.Sin embargo, puede darse el caso que queramos ver como está tratanto el propio firewall los paquetes, y para ello, cabe la posibilidad de usar el fw monitor, un mecanismo incluido dentro del firewall que permite ver y filtrar paquetes.

Lo primero que hay que decir es que con esta utilidad no podemos ver problemas a nivel de enlace (por ejemplo, la falta de resoluciones arp), puesto que cuando el paquete llega al firewall, ya esta información ha desaparecido. Lo siguiente es que las expresiones de los filtros se escriben en INSPECT, el lenguaje que utiliza checkpoint para definir todas sus reglas e interpretarlas (aunque no estoy muy seguro, creo que Checkpoint lo que tiene es una máquina virtual en el kernel de los sistemas host que interpreta ciertos bytecodes que surgen de la compilación de INSPECT). Por último hay que tener los 4 puntos donde fw monitor captura el paquete: pre-inbound inspection (i), post-inbound inpection (I) que corresponde a mirar el paquete después de recibirse y pre-outbound inspection (o), post-outbound inspection (O) que mira el paquete justo antes de transmitirse por la red. Así un paquete que entre por una interfaz, esté autorizado a pasar con destino a otra máquina, imprime 4 líneas. También imprime en la salida la interfaz por la cual entra el paquete y la interfaz por la cual va a salir.

Las opciones del comando son:

  • -e expr Expresión en inspect de lo que queremos capturar
  • -o file para grabar la sesión de captura en formato pcap. Sin embargo, en esta captura no se guarda información sobre la cabecera de enlace (aunque por ejemplo el Ethereal puede leer sin problemas estos ficheros de capturas
  • -l len Longitud total del paquete a capturar
  • -m mask Mask puede ser iIoO, y viene determinando el punto de captura del paquete

Lo más complicado es ajustar las distintas expresiones de inspect para que funcione la captura. Normalmente, se hace un accept con los parámetros del filtro (y ojo con el ";" del final que hay que incluirlo). Por ejemplo para capturar todo el tráfico web (puerto 80) se utiliza una expresión del tipo:

-e "accept sport=80 or dport=80;"
Si queremos capturar todo el tráfico que vaya a una dirección IP
-e "accept src=192.168.1.1 or dst=192.168.1.1;"

Realmente el monitor carga una serie de macros (src, ip_d, dport,sport,etc) que nos permite gestionar de una manera eficiente los filtros (y las reglas si hay alguien lo suficientemente aburrido). DE esta manera nos evitamos estar poniendo offsets en las cabeceras.

Existen una serie de comandos relacinales como and o ,, or, not, = o is, != o is not, <,>,<= y >= que nos permite asociar expresiones y por supuesto agruparlas a través de paréntesis. Por ejemplo para capturar el tráfico que va a un host determinado al puerto 80

-e "accept (src=192.168.1.1 or dst=192.168.1.1) and (dport=80 or sport=80);"

Aunque para mi gusto la expresión de los filtros con el tcpdump es más cómoda (ver este tutorial sobre el tema que escribí hace tiempo - y que tengo ganas de actualizar -)

Technorati Tags: ,

miércoles, noviembre 22, 2006

Algunas extensiones para Firefox para auditar sitios web

He estado enredando con varías extensiones del Firefox para auditar páginas web. Para empezar empecé a buscar las posibles extensiones de Mozilla / Firefox que permite desarrolar páginas web. Lo primero a instalar es la Web Developer que permite, un control muy fino sobre todo el proceso de la zona web. Permite revelar los campos ocultos de los formularios, modificarlos a nuestro gusto, convertir los formularios de tipo get a post.

Urlparams instala una barra lateral que permite ver los post o get, alternarlos y modificar los parámetros - esta funcionalidad de todas maneras están incluidas en la barra anterior.

También existe Modify Headers que permite modificar las distintas cabeceras para mandar al servidor y probar posibles respuestas.

Technorati Tags: