Showing posts with label sistemas. Show all posts
Showing posts with label sistemas. Show all posts

Sunday, August 10, 2008

Supervisión de procesos en UNIX

No sé si existe algo parecido para servidores windows, si lo hay, irremediablemente conllevará su paso por caja, aunque este no es el tema de hoy.

Me imagino que muchos de vosotros habréis sufrido la caída de servicios o procesos en vuestras máquinas Unix, ya sea en el trabajo o en vuestra casa, y hasta pasado un buen tiempo no os habréis dado cuenta, con lo que eso supone: usuarios enfadados, la peli que te estabas copiando por rsync parada, tu sistema de seguridad caído, tu mythtv parado obligándote a levantarte del sofá, un dns que administras parado, tu web caída....
Pues bien, daemontools se encarga de monitorizar los procesos que le indiques y los levantará automáticamente si estos han caído por algún motivo.

Si quieres aumentar la productividad de tus aplicaciones, es recomendable que utilices daemontools , este paquete, que no he conseguido encontrar en los repositorios de Ubuntu es tu salvación.

A continuación expongo los pasos a seguir para hacerlo funcionar en Ubuntu Hardy 8.04, aunque también puedes instalarlo en tu distribución preferida. Yo por ahora sólo lo he probado en Gentoo y Ubuntu.

apt-get install build-essential
mkdir -p /package
chmod 1755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
gunzip daemontools-0.76.tar
tar -xpf daemontools-0.76.tar
rm daemontools-0.76.tar
cd admin/daemontools-0.76
touch /etc/inittab
package/install

Aquí seguramente te dará un error del tipo "/lib/libc.so.6: could not read symbols: Bad value"
para solucionarlo y poder compilar sin problemas sólo tienes que editar el fichero "error.h" y eliminar la línea "extern int errno;" sustituyéndola por "#include <errno.h>" Después de ésto ya podrás ejecutar sin errores package/install. Una vez instalado dentro del directorio /service/ deberás crear un directorio por cada proceso que necesites supervisar y dentro del mismo crear un fichero ./run donde indicar el proceso a ejecutar. Puedes incluir también variables de entorno creando un subdirectorio ./env y también generar logs.

Para ver todas las posibilidades de este paquete lo mejor es que vayas a tu frigorífico cojas una cerveza bien fría y te des un paseo por la web del autor.
http://cr.yp.to/daemontools.html

Wednesday, August 22, 2007

Cómo llevar tu música siempre contigo

y además que no te pese...
hoy se me ocurrió no utilizar las redes p2p para descargar música, recordé que en España tenía una buena colección de temas y bien o no era viable copiarlos a mi portátil de UK o no me apetecía buscar todas las canciones y ponerlas otra vez a bajar.
De nuevo me encontraba con mi servidor windows en Alicante y mi Ubuntu en Londres.
Me puse a buscar alguna herramienta de código abierto que realizara algún tipo de streaming para comprobar su calidad en esta situación, así llegué hasta Firefly Media Server antes llamado mt-daapd, según cuentan en su web, el propósito de este proyecto es crear el mejor software servidor de música digital para Roku Soundbridge e iTunes; ser capaz de servir la más amplia variedad de música sobre el rango más amplio de dispositivos.
Para ello utiliza el protocolo daap, protocolo introducido por Apple en el software iTunes que proporciona una manera para compartir contenidos a través de una red de área local.
El software de Firefly está más optimizado para Linux, y la versión disponible para Windows es una beta (nightly snapshots) , era esta versión la que necesitaba, así que había que arriesgarse. Además de esto, es necesaria la instalación de Bonjour for Windows, software de Apple que permite el descubrimiento automático de dispositivos o PCs.

Desde Firefly configuraremos la ruta donde se encuentra la música, así como el puerto del servidor que vamos a utilizar.




Hasta aquí ya estaría todo montado si quisieramos acceder a la biblioteca musical desde una red de area local. Para poder "anunciar" el servicio de streaming daap a través de subredes es necesario instalar también RendezvousProxy, esta aplicación nos preguntará por la dirección IP del servidor de música, el nombre con el que queremos anunciar la biblioteca y el protocolo que queremos utilizar, en nuestro caso utilizaremos _daap._tcp.local. Así nuestro servidor Firefly media server estará sirviendo contenidos desde la IP 192.168.1.22 (por ejemplo) y por el puerto 3689 a toda nuestra red de area local. Además estará anunciando el servicio vía daap en esa misma IP.



Bien, una vez terminada la parte del servidor tenía que conectar mi portátil constipado por la lluvia de Londres en pleno agosto.
Para ello establezco una conexión ssh de la siguiente manera:

ssh -L 3689:localhost:3689 usuario@maquina.dominio -N -f


tunelizando el puerto donde se anuncia el servicio del servidor.

Desde la parte de cliente he utilizado el reproductor de música Amarok, seguramente se podrá realizar con alguno más, pero en este caso a parte de ser un excepcional reproductor, es compatible con el protocolo daap. Para poder conectarnos al servidor desde Amarok, entraremos en la pestaña devices y desde allí pulsaremos la opción de List music from a remote host, nos pedirá dirección IP y puerto, aquí deberemos introducir como IP la 127.0.0.1 y puerto el 3689.
Una vez hecho esto, ya tendremos acceso a toda nuestra biblioteca de música a distancia.



Aún no me ha dado tiempo a investigar configuraciones del montaje, tal cual funciona bastante bien y desde Londres se escucha perfectamente con un caudal de unos 20 kbytes por segundo.
Me queda por probar una conexión parecida desde la PDA...

Thursday, May 31, 2007

Streaming multiplataforma en redes de area local y redes de area extensa

Tomando la definición de la wikipedia, la palabra Streaming es un término que se refiere a ver u oír un archivo directamente sin necesidad de descargarlo antes al ordenador o computador. Se podría describir como hacer click y obtener. En términos más complejos podría decirse que describe una estrategia sobre demanda para la distribución de contenido multimedia a través de Internet.

En términos más prácticos podemos aplicarlo a situaciones en las que por ejemplo estás en la cama con el portátil y te apetece ver esa película que tienes en el ordenador que utilizas como servidor p2p. Pero claro, piensas en que tienes que copiar el pedazo de archivo a tu ordenador con la pérdida de tiempo y disco duro que eso supone.
También puede que en vez del ordenador tengas la pda en el salón y te apetezca escuchar la radio o ver una película en ella..., pues también puedes acceder a tu servidor central de contenidos vía wifi y recibir el stream que éste genera.

Si además sumamos que te encuentras en otro país distinto a dónde se encuentra tu servidor, pues también puedes acceder a esos contenidos multimedia en tiempo real y sin tener que copiar el fichero previamente.
Para realizar todo esto yo he utilizado VLC media player , un conocidísimo visor de videos open source que además integra un avanzado sistema de streaming para audio y vídeo. Nos permite realizar volcados tanto unicast, como multicast, VOD, IPv4 e IPv6. Aquí el how to.

Para aquellos que puedan acceder a un servidor con conexión a Internet y quieran ver sus vídeos preferidos al modo you-tube pero sin restricciones e incluso con mayor calidad, deben instalar el VLC tanto en servidor como en el cliente, abrir el puerto de streaming utilizado en el router del servidor (si existe). En este ejemplo yo he utilizado el puerto 8080 (por defecto) y el streaming HTTP desde servidor.
Para ello primero desde el server abrir el VLC y pinchar en File, Open network stream, en la pestaña File, elegiremos el fichero que queramos reproducir remótamente.

Tener en cuenta que también podríamos elegir como fuente de datos otro medio como un CD/DVD, otro streaming de Internet, una webcam o incluso canales digitales terrestres o por satélite que estemos capturando mediante una tarjeta de televisión en nuestro ordenador. Posibilidades todas.



Marcamos además la casilla de Stream o volcado y pulsaremos en settings para adecuar el bit rate y los codecs utilizados tanto para audio como para video.


Otro parámetro a seleccionar sería el TTL (Time To Live) que hace referencia al número de routers por los que a de pasar el vídeo, yo utilicé un valor de 20. Las tasas, 256 kb/s para subir el vídeo y 32 kb/s para la subida del audio a 2 canales. Estos valores deberán ser ajustados a las conexiones de las que dispongamos. A mayores valores mayor calidad pero más requerimientos.

Finalmente pulsamos OK y volveremos a la ventana principal donde volveremos a pulsar OK, si además hemos activado la opción de "play locally" podremos empezar a ver en el servidor como se reproduce el vídeo, comienza el streaming y la escucha hasta que un cliente se conecte.

Desde el cliente
, abrimos VLC y seleccionamos open network stream y en la pestaña network ponemos la IP o nombre de nuestro servidor seguido de dos puntos y el puerto que hemos utilizado. Pulsamos OK y comenzará la recepción del stream mandado por el servidor.
Hay que tener en cuenta que es necesario la apertura del puerto que utilicemos en el firewall del servidor y/o hacer el NAT al router.


Y de está manera ya puedes montarte tu propio Youtube casero.

Sunday, March 11, 2007

Conectar linux a windows con vnc por ssh

Primero establecemos el túnel ssh entre los dos equipos para los que queremos establecer la conexión. En mi caso un linux de cliente y Windows XP de servidor separados miles de 1471.05 kilómetros.

ssh -L 5901:localhost:5900 -p 443 equipodestino

(sustituye equipodestino por la IP de tu servidor)

lo de establecer el ssh por el puerto 443 nos ayuda a saltarnos algún proxy de por medio, ésto nos obligará a configurar adecuadamente la parte de servidor y la redirección NAT.

Finalmente desde otra consola ejecutamos:

vncviewer localhost:1

Wednesday, March 07, 2007

Actualizando a Beryl 0.2.0

Añadiendo a las fuentes (sources.list) los repositorios de beryl "http://ubuntu.beryl-project.org" y realizando un update conseguimos actualizar la versión de beryl. En mi caso en un Ubuntu Edgy con gráfica Nvidia.
En el vídeo se puede observar el resultado, que aunque la captura del escritorio tiene alguna interferencia, en la práctica, el funcionamiento de beryl es perfecto, sin errores y con una buena velocidad.



Música: Dancoupe "Hoy a vuelto a suceder"

Wednesday, February 21, 2007

Cuídate de tu vecino (2)


Braveheart - Main theme


Dejé puesto el sniffer durante unas dos horas, mientras tanto iba paso a paso comprobando direcciones IPs y MACs. Observé la actividad que se realizaba tanto en red encriptada como en la red sin encriptar (pública). En la red encriptada no había ningún cliente conectado, pero en la pública aparecían dos! que exitazo de hotspot pensé yo, solamente hasta que miré un poco más allá y ví las direcciones MAC de los equipos allí presentes.
Por un lado teníamos la dirección (física e IP) de mi punto de acceso, luego otro cliente conectado, y por último un cliente con la misma dirección IP y MAC que la de mi punto de acceso. Habían envenenado el router, y también a cualquier equipo conectado a la red pública de la fonera.

"The implementation of the ARP protocol is so simple and straightforward that the receipt of an ARP reply at any time, even when there are no ARP requests outstanding, causes the receiving computer to add the newly received information to its ARP cache"

Así, mi cachondo vecino engañaba a los equipos que se conectaban a la red, les hacía creer que su propio ordenador era el router de acceso a Internet, y así todo el tráfico pasaría antes por él, con la posibilidad de analizar todo lo que enviara la víctima, y cuando digo todo es todo. Claves de correo, claves bancarias, conversaciones de messenger, telefonía IP... etc.,
En la actualidad, hay programas tanto para windows como para linux que permiten realizar éste ataque y dejar en bandeja toda intimidad de la victima, prefiero no enlazarlos pero los hay en buena medida.

¿Cómo reaccionaríais vosotros si os encontráis con esto? yo, después de repasar todos los insultos que me sabía, me calmé un poco y me puse a pensar qué datos habría podido enviar por la zona pública antes de darme cuenta del ataque. Pocos, muy pocos, pero importantes, como la contraseña del correo y la contraseña de acceso a Internet por Fon, algo más de tráfico pero sin importancia. Inmediatamente cambié las claves y resetee el router, por supuesto no apagué el ordenador y el modo monitor de mi tarjeta wireless seguía encendido...

Actualización: para los que les interese el tema he encontrado unos videos explicativos de ésta técnica de ataque, también llamada "Man in the middle", creados por Miggs.

Video1, Video2 y Video3

To be continued...

Tuesday, February 20, 2007

Cuídate de tu vecino (1)

Siéntense, cojan las palomitas y den al play, porque a continuación les voy a contar lo que me ha ocurrido ésta semana.




Hace unos días llegué a casa de trabajar y me dio por mirar las estadísticas de conexiones a mi punto de acceso FON, que hasta el momento sólo tenía conexiones mías.

Para que se entienda, un punto de acceso FON es un pequeño router inalambrico de un solo puerto que se conecta a alguno de los puertos libres del router con el que nos conectamos a Internet en nuestras casas. Así, este pequeño aparatito nos genera dos redes inalámbricas 802.11bg, una pública y otra privada con encriptación WPA, de manera que se puede utilizar la privada para que se conecte el dueño del router y otra pública para que se conecte la gente en general.

Pues bien, cuando ví las estadísticas, comprobé con alegría que alguien había comprado un bono y se estaba conectando gracias a mi conexión a Internet.
Los días siguientes comprobaba el uso que mi nuevo amigo hacía de la conexión de FON, miraba a qué horas se había conectado, cuánto tiempo, y qué cantidad de datos había descargado, todo ello indicado claramente desde la web de FON.

Sin pensar más allá, yo seguía haciendo un uso normal de mi conexión, seguía con mi portátil conectado por RJ45 y la pda conectándola a la señal pública de FON ya que la privada tiene encriptación WPA y no funcionaba del todo bien en la pocket pc. De buenas a primeras, empecé a observar cosas sospechosas. "Algo" había aumentado el ancho de banda disponible para la señal pública, estaba a "unlimited" cuando yo lo tengo siempre "a pachas" 50% para el público 50% para mí. También me fijé en que los niveles de señal de la fonera eran distintos para la parte pública y para la parte privada, cosa extraña, ya que éstas dos señales son generadas por la misma antena. Totalmente mosqueado probé a navegar desde la PDA por la señal pública de Fon, y joder, no funcionaba, ni siquiera había resolución DNS.
Al observar todas estas maravillas juntas supe que alguien estaba intentando algo con mi conexión.

Desenfundé portátil, cargue Linux, compilé drivers para mi adaptador ethernet en modo promiscuo, y puse en funcionamiento un sniffer para redes WIFI. En otras palabras, puse a mi ordenador en modo cotilla para que me dijera todo lo que se estaba haciendo en mi red de área local. Y allí estaba todo el pastel.

To be continued...

Sunday, February 11, 2007

Cómo utilizar emule de manera segura en Linux

Realmente este post puede servir para utilizar con una mayor seguridad cualquier tipo de programa p2p, además de proporcionar un firewall mucho más afinado que los que vienen por defecto instalados en cualquier sistema operativo.
En este mundo en el que vivimos, hay empresas que no tienen nada mejor que hacer, que espiarnos mientras nos dedicamos a navegar o compartir ficheros por Internet. A parte también, existe algún mal nacido que se dedica a escanear nuestras conexiones intentando meter mierda en nuestros ordenadores. Para evitar la mayor parte de éstas intrusiones existen programas que consiguen bloquear las direcciones IPs de ésta mala gente.
Muchos de vosotros conoceréis PeerGuardian, un programita para Windows que nos sirve para bloquear conexiones indeseadas y nos da una seguridad añadida a la hora de utilizar programas p2p (emule, kazaa, bittorrent...).
Para Linux no existe una versión de éste programa, pero podemos utilizar Moblock, el cual se alimenta de listas de IPs tipo ipfilter.dat o también tipo peerguardian:
Moblock resulta mucho más eficiente que peerguardian en la gestión de memoria, no satura la RAM tan a saco como lo hace peerguardian, y deja informes de todo su funcionamiento en el directorio /var/log/

user@machine:~$ moblock

MoBlock 0.8 by Morpheus
Syntax: MoBlock -dnp [-b] [-q 0-65535]

-d blocklist is an ipfilter.dat file
-n blocklist is a peerguardian 2.x file (.p2b)
-p blocklist is a peerguardian file (.p2p)
-q 0-65535 NFQUEUE number (as specified in --queue-num with iptables)

Bien, ahora nos faltan las listas de IPs a bloquear, ¿de dónde las sacamos? pues bien, un programa muy bueno que dicen puede llegar a ser el sucesor de peerguardian es Blocklist Manager, disponible para Windows. BlocklistManager es un gestor de listas de IPs que estructura las listas de indeseados para que nosotros elijamos a quién queremos bloquear, si a los que hacen spam, si a robots, si a empresas contrarias al p2p...
Ajá, pero yo tengo Linux, ya me cansé de Microsoft... Entonces lo que hay que hacer para ejecutar Blocklist Manager en tu distribución, es usar Wine. Wine es una capa de programacion que le permite a Linux ejecutar programas diseñados para Windows y no viceversa.
Pero antes de poder ejecutar Blocklist Manager con Wine, deberemos instalar y configurar con cuidado Wine. Si tienes tiempo te recomiendo que leas la documentacion de Wine y lo configures poco a poco tu mismo. Si lo quieres hacer de manera rápida puedes instalar las Winetools junto con una versión anterior de Wine siguiendo éste "how to" de los foros ubuntu. Si te decides a seguir el "how to" te recomiendo no realizar el último paso dónde especifica actualizar la versión de wine, ya que por lo menos en mi caso, si actualizamos a la última versión de Wine, una vez ejecutemos Blocklist manager desde wine, no conseguiremos descargar las fuentes de IPs. En cambio si dejamos wine en la versión 0.9.5, si que podremos descargar las fuentes.
Finalmente podremos genererar con Blocklist manager un fichero de IPs de tipo peerguardian que será el que utilizaremos para que Moblock bloquee todos los accesos indebidos, para ello habrá que colocar el fichero generado por Blocklist manager en el directorio /etc/moblock y asegurarnos de estar ejecutando moblock.
Pues eso, ya podéis intercambiar vuestras cartas de manera más segura, sobre todo si os encontráis en algún país donde se dediquen a perseguir a los internautas.

Sunday, January 07, 2007

Ya soy FON

Hoy salía de casa para ir al centro y al abrir la puerta de casa me encuentro en el hall del portal un paquete a mi nombre, me extrañó bastante ya que los paquetes normalmente o te los entregan en mano o vuelven a la oficina postal para que vayas a firmar para recogerlo. Pero bueno, como hoy era el día de Reyes tampoco me extrañó mucho y pensé que igual habían pasado primero por Londres a dejarme algo, y claro, para que no los descubriera pues lo dejaron en la puerta... que cabroncetes.

El caso es que una vez abierto el paquete pude observar que acababa de llegarme "la fonera" el router social de Fon gracias a que mi amigo Vicent, me lo había regalado hacía unos días, muchas gracias Vicent!!
Después de abrirla corriendo, la conecté a mi router, la colgué del armario y empecé a compartir mi conexión de Internet.

Thursday, January 04, 2007

Instalando Ubuntu en VMWare sobre un XP Home

Después de recibir mi portátil con su disco duro nuevecito, hay que empezar a darle caña...