linux

Linux hasta en la sopa

 Mié, 03/02/2010 - 09:14     Sandor

Ayer fue un día de esos en los que te das cuenta de que lo que empezó siendo la simbiosis entre un proyecto de sustitución de Minix por parte de un estudiante (Linus Torvals) de la Universidad de Helsinki, y el proyecto GNU iniciado por Richard Stallman, ha ido poco a poco copando nichos de mercado, hasta poderlo encontrar en las tripas de mucha de la cacharrería electrónica que invade nuestro mundo.

Digo que fue ayer porque, al descargarme por la mañana el manual de la tele LG 32LF pude leer un "Aviso de software de código abierto", advirtiendo que la tele incluye un kernel 2.6, busybox, lzo, uClibc y Nanox (The Nano X-Window System).

Algo más tarde me fuí al IKEA y al pagar en una de esas cajas rápidas se bloqueó el lector de tarjetas de crédito, por lo que tuvieron que resetear mi TPV. Al reiniciarlo, pude ver las familiares líneas de arranque de un sistema GNU/Linux (solo me faltó andar listo y hacerle una foto con el móvil).

Tal vez este año tampoco sea el año de Linux en sistemas de escritorio, pero parece que avanza a buen ritmo en otro tipo de entornos...

Etiquetas: 

Recuperando archivos de un backup de Plesk Parallels

 Mar, 05/01/2010 - 21:50     Sandor

Como os comenté hace unas entradas, he comenzado a trabajar con ConfigBox para poner en marcha Petra Por T. Habituado a los backups de Sync, en los que los recibo en un práctivo archivo ZIP, el nuevo formato de ConfigBox se me ha antojado un poco raro. ¿La diferencia? Sync utiliza cPanel como panel de administración para los alojamientos contratados, mientras que ConfigBox utiliza Plesk Parallels.

Con Plesk, te bajas un archivo .gz, pensado exclusivamente para poderlo subir tal cual si necesitamos restaurar la copia. Pero a mí me interesaba poder extraer el contenido, para poder trabajar en local con una copia del web. El problema es que al descomprimirlo se crea un fichero nuevo, sin extensión. Buscando en la red, he encontrado una solución para extraer su contenido desde linux:

Comprobar que tenemos instalado munpack (en Debian, un aptitude install mpack lo instalará).

		zcat archivo_backup.gz > archivo_backup
		cat archivo_backup | munpack

Con esto extraeremos los archivos del backup. En mi caso he tenido que agregar la extensión tar manualmente. En dominio.httpdocs.tar y dominio.httpsdocs.tar están los archivos de nuestro sitio web, mientras que los archivos de extensión .mysql contendrán un volcado SQL de las bases de datos que tenemos. Además, también tendremos los logs, y alguna otra cosa más (dump.xml) que no se muy bien para qué sirve :-?

 

Etiquetas: 

Cifrado de particiones en Linux con LUKS

 Mié, 09/12/2009 - 22:09     Sandor

Desde que me pillé el Dell Mini 10v he estado intentando encontrar un rato para cifrar la partición /home, no vaya a ser que me lo tomen prestado un día y mi información personal acabe en malas manos. He estado investigando un poco y parece que lo que se lleva es hacerlo con LUKS y dm-crypt. En este artículo se explica la manera de hacerlo: Partición cifrada con dm-crypt en Debian. Al parecer, según se puede leer en la página de la Wikipedia referente a LUKS, LUKS pretende convertirse en un formato estándar de cifrado, independiente de la plataforma. Para acceder a particiones LUKS bajo Windows, por ahora nos tendremos que conformar con FreeOTFE.

LUKS (de las siglas en inglés, Linux Unified Key Setup) es una especificación de cifrado de disco creado por Clemens Fruhwirth, originalmente destinado para Linux. Mientras la mayoría del software de cifrado de discos implementan diferentes e incompatibles formatos no documentados, LUKS especifica un formato estándar en disco, independiente de plataforma, para usar en varias herramientas.

Esto no sólo facilita la compatibilidad y la interoperabilidad entre los diferentes programas, sino que también garantiza que todas ellas implementen gestión de contraseñas en un lugar seguro y de manera documentada. La implementación de referencia funciona en Linux y se basa en una versión mejorada de cryptsetup, utilizando dm-crypt como la interfaz de cifrado de disco.

En Microsoft Windows, los discos cifrados con LUKS pueden ser utilizados con FreeOTFE. Ha sido diseñado para ajustarse a la clave de configuración TKS1 de sistema seguro.

 

Apache SSL y acceso por certificado

 Jue, 17/09/2009 - 23:40     Sandor

Por fin, tras tres días volviéndome loco configurando humildepc (el pequeño servidor que tengo en casa), he logrado configurar el servidor web Apache, de manera que sea posible acceder desde el exterior de manera segura, usando SSL y siendo necesaria la instalación previa de un certificado en el navegador cliente. Hay decenas de tutoriales en la red que tratan la configuración SSL de Apache, como la propia documentación de mod_ssl o este artículo de Linux para Todos. Pero de toda la documentación que he ojeado, los dos documentos que más me han ayudado han sido los siguientes:

  • Lo hice y lo entendí: Crear los certificados SSL para nuestro servidor web HTTPS con Apache, OpenSSL y Debian Lenny. Estupenda guia, muy en la línea de su indispensable blog, en la que explica de manera amena (bueno, todo lo ameno que puede ser un tema de estos :-D) los pasos más importantes para tener nuestro servidor https serviendo páginas en un pispás. En particular, explica de una manera muy clara qué pasos tenemos que dar para crear nuestra propia Entidad Certificadora (CA), y firmar con ella nuestros propios certificados digitales. De igual manera, señala donde se ubican y el nombre por defecto de los diferentes archivos que se crean en el proceso, y que eran mi particular talón de aquiles (siempre me terminaba liando con ellos).
  • Shadowsland: Certificados digitales con OpenSSL II. Si bien la guia anterior está genial, siguiendo solamente los pasos indicados en ella he sido incapaz de echar a andar el invento. Tras volverme loco, he llegado a la conclusión de que el error no estaba en la configuración del servidor apache, sino en la instalación de los certificados en los navegadores clientes. La forma que la guia de LHYLE propone a mi la verdad es que no me ha funcionado, ni en Firefox ni el Explorer (ambos en un sistema XP). Por el contrario, siguiendo los pasos de Shadowsland, he creado el certificado en formato pkcs12 y, tras importarlo en los navegadores, todo ha funcionado correctamente. Digamos que era la puntilla que necesitaba para echar todo a andar :)

Si estás interesado en montar un servidor seguro que requiera la instalación de certificados en los navegadores clientes, con estos dos recursos probablemente tengas más que suficiente.

Log de los mensajes de arranque en Debian

 Mar, 30/06/2009 - 08:54     Sandor

Esta mañana al compilar un nuevo kernel para el servidor de la oficina algo ha ido mal. Al reiniciar la máquina, he visto fugazmente un mensaje de error que rápidamente ha desaparecido de la pantalla. Tras esperar algunos segundos y realizar el login, no he podido encontrar el mensaje de error ni en /var/log/syslog, ni ejecutando dmesg, ni retrocediendo con shift+pgupo parando el torrente de información con ctrl+so la tecla ScrollLock. Y es que a veces el error aparece tan temprano en el arranque no que se hace dificiil verlo. Para poder ver los mensajes de arranque en Debian de una forma fácil, tenemos que activar bootlogd, simplemente editando el archivo /etc/default/bootlogdy habilitarlo. Bootlogd creará en el siguiente inicio de la máquina el archivo /var/log/boot. Por último, señalar que esta característica no está disponible para Debian Woody o anteriores. Un truquillo realmente útil para depurar kernels creados por nosotros o ver los mensajes de error de los scripts de arranque.

Etiquetas: 

Apache SSL. Quitar peticion de clave en el arranque

 Lun, 22/06/2009 - 10:02     Sandor

¿Cansado de tener que estar siempre tecleando la clave del certificado SSL en cada reinicio de Apache? Una de las maneras de hacerlo la he encontrado en la propia FAQ de apache.org, concretamente en How can I get rid of the pass-phrase dialog at Apache startup time?.

En resumen, se trata de quitar el cifrado a nuestra clave, de manera que Apache al arrancar, pueda hacerlo del tirón. Lo primero es encontrar el fichero de la clave a la que apunta nuestra configuración. Por ejemplo, en mi sistema es el siguiente: SSLCertificateKeyFile /etc/apache2/SSL/server.keycopiamos la clave para tener una copia de ella en caso de necesitarla: cp server.key server.key.orgy ahora quitamos el cifrado a la clave original, de la siguiente manera: openssl rsa -in server.key.org -out server.key

Es importantísimo proteger debidamente el acceso a esta clave, ya que como digo ya no se encuentra cifrada, por lo que un posible atacante podría, en caso de tener acceso a ella, hacerse pasar por nosotros. Para ello, haremos que la clave solo sea accesible para el superusuario: chmod 400 server.key

Ahora, si reiniciamos nuestro servidor Apache, veremos que ya no nos pide la clave y que arranca como de costumbre. Si en algún momento queremos volver al estado anterior, con modificar la configuración para que apunte a server.key.org volveríamos al escenario anterior.

Radio en tarjeta TV Kozumi KTV-01C

 Vie, 13/02/2009 - 11:08     Sandor

Compré ya hace algunos meses en ebay, por cuatro duros, una tarjeta de TV marca Kozumi KTV-01C. El caso es que tras leer un poco por la red conseguí configurarla para ver la televisión y capturar algunas viejas cintas de VHS que tenía por casa. Pero lo que no había podido hacer hasta ahora era poder escuchar la radio usando el sintonizador integrado que tiene la tarjeta. Hoy he debido de dar con las palabras correctas en Google :-), o mi mente ha estado más despejada de lo normal, porque por fin lo he conseguido. Dejo por aquí la línea mágica del /etc/modules, por si alguien se encuentra en mi misma situación: bttv pll=1 radio=1 bttv_verbose=1 card=151 tuner=69 gbuffers=4

Por cierto, este sábado día de los enamorados dos acontecimientos reseñables: nueva versión de Debian estable (Lenny) y la hora unix 1234567890 (más info en esta entrada de Barrapunto). Como muy bien dice uno de los comentarios del hilo en BP, 1234567890 cae justo en la madrugada entre un viernes 13 y un 14 de febrero. Entre el terror y el amor. Así es UNIX. En fin, sea como sea, que paseis un feliz día de los enamorados con vuestro ser querido, ya sea humano o digital ;-)

Categoria: 

Extraer direcciones de correo

 Jue, 05/02/2009 - 14:03     Sandor

Un pequeño apunte que dejo por aquí, por si a alguien le es de utilidad. Resulta que yo también soy humano, tengo mis debilidades, y he acabado participando en Facebook :) Para los que no conozcais la página, ésta tiene una opción en la que tú le subes una lista de direcciones de correo electrónico de tus amigos, y la comprueba contra su base de usuarios (muy útil para averiguar si alguno de tus amigos está también en Facebook).

Como no suelo tener la agenda de contactos del Thunderbird muy al día (más bien nada), lo que he hecho ha sido buscar alguna manera de extraer de mi carpeta de correos las direcciones de email. No ha podido ser más fácil. Consiste en ejecutar estos dos sencillos comandos en cada carpeta que contenga correo:

grep "^To: " * > emails.txt
cat emails.txt | sed 's,.* <*\([^ ]*@[^ >]*\).*,\1,' > emails-formateados.txt

Seguro que hay mil formas más completas o elegantes de hacerlo, pero esta es rápida y funciona. En sistemas Unix y derivados la cosa es fácil, ya que las utilidades vienen ya en el propio sistema operativo. Para otros sistemas como el de la ventana :), habría que instalar algún port de ellas.

Actualización: Para ordenar por email y eliminar correos duplicados, se podría ejecutar para finalizar, también hacer lo siguiente:

sort emails-formateados.txt | uniq -u > emails-sin-duplicados.txt

GNU/Linux en discos USB

 Vie, 01/08/2008 - 10:11     Sandor

Damm Small Linux

Ahora con el veranito he podido sacar un poco más de tiempo para cacharrear con GNU/Linux. Uno de mis proyectos en el cajón era instalar alguna distribución liviana de Linux en el disco duro portátil que llevo de aquí para allá y del que ya os he hablado en alguna otra ocasión, y el otro día me animé a hacerlo. Lo primero fue escoger la distribución adecuada, de los cientos que hay por la red disponibles. En mi caso, quería algo ligero, que se cargara totalmente en memoria, y que no me complicara excesivamente la vida, que las vacaciones son para descansar, no para pelearse con algo un poco más pulido que el Linux From Scrach :-) La distribución escogida ha sido Damm Small Linux, una fabulosa distribución que en apenas 50 MBs carga un linux completo (con las X incluidas) y muchas utilidades basicas para el trabajo como:

¿Qué contiene DSL?

XMMS (MP3, CDs de música y videos MPEG), Cliente FTP, Navegadores Dillo, links y FireFox, hoja de cálculo, gestor de correo Sylpheed, corrección ortográfica (de momento inglés), procesador de texto, editores de texto Beaver, Vim y Nano [clon de Pico], edición y visualizado de imágenes (Xpaint y xzgv), Xpdf (Visor de PDFs), emelFM (gestor de archivos), Naim (AIM, ICQ, IRC), VNCviewer, Rdesktop, servidor y cliente de SSH/SCP, cliente DHCP, PPP, PPPoE (ADSL), servidor web, calculadora, soporte de impresora genérica o GhostScript, NFS, manejador de ventanas FluxBox, juegos, herramientas de monitorización del sistema, utilidades de línea de comandos, soporte USB, PCMCIA y parcial inalámbrico.

También es extensible, pudiendo agregar muchísimos otros paquetes compilados por los usuarios y agrupados en un repositorio al que se accede de una manera fácil y rápida, una vez configurada la red (en el Wiki del proyecto encontrarás muchísima información disponible para hacer esto y mucho más). Por último, pero no menos importante, reseñar que tanto la configuración como los paquetes extra instalados pueden ser archivados en el propio disco USB, de manera que la próxima vez que ejecutemos DSL el sistema mantendrá la configuración previa, con todas las personalizaciones que hayamos realizado.

GRUB y el arranque de discos USB

Pero una de las cosas que más me ha llamado la atención es el soporte de GRUB para el arranque desde dispositivos USB. Supongo que esto que os voy a comentar llevará ya tiempo, pero ya os digo que hace mucho que no me ponía a trastear con Linux y para mí ha sido una cosa nueva. Resumiento, la raiz del problema venía a ser que si conectabas un dispositivo de almacenamiento USB al conector frontal, por ejemplo, podría ser reconocido como /dev/sdb, por ejemplo, mientras que si lo hacías en algún otro (de este u otro ordenador), el nombre de dispositivo cambiaba. Por eso, las cadenas de arranque del menu.lst del Grub, del tipo:

root   (hd0,0)
kernel /vmlinuz26 root=/dev/hda3 ro

eran usualmente inválidas (o solamente válidas para el ordenador y en los conectores sobre los que habíamos instalado Grub). La solución ha sido el uso de cadenas UUID (Universally Unique Identifier, o Identificador Universalmente Unico, según la lista de acrónimos de escomposlinux). En teoria (digo en teoria porque he leido por ahí que si clonas un disco, se clona también su UUID), cada partición de cada disco tiene debería tener un UUID única, por lo que si definimos el menu.lst del Grub de esta manera:

root   (hd0,0)
kernel /vmlinuz26 root=UUID=3ead8fbe-d3c0-45c6-9924-94e06e2654d1 ro

el sistema instalado en esa partición USB arrancará, independientemente de a qué boca USB lo conectemos o cuantos discos duros tenga el ordenador donde lo ejecutemos. Este mismo sistema se puede aplicar, de igual modo, a /etc/fstab y similares. Para conocer el UUID de nuestras particiones tenemos varias opciones:

  1. Con el comando blkid
  2. Con un ls -l /dev/disk/by-uuid/
  3. Con vol_id /dev/dispositivo
  4. O con un fdisk -l

Más lecturas sobre el tema:

  • http://dalealteclado.com/2007/11/uso-de-uuid-en-etcfstab-y-en-grub.html
  • http://manual.sidux.com/es/part-uuid-es.htm
Etiquetas: 

Mi nuevo cortafuegos

 Mié, 08/08/2007 - 14:52     Sandor

Aprovechando que ahora en agosto cerramos en el trabajo, llevo algunos días actualizando la red local de la empresa (nuevo hardware para el servidor y nuevo cortafuegos). Como el cambio de servidor no ha sido nada del otro mundo (cambio de placa, micro y memoria, reconfiguración del kernel y vuelta a andar), os voy a hablar de nuestro nuevo cortafuegos que, modestia aparte, creo que ha quedado genial :-) Hasta ahora teníamos un viejo IBM Pentium-100 que, ejecutando Leaf Bering ucLibc, cumplía relativamente bien su cometido. Pero como todo va cambiando y mejorando, también a este veterano ordenador le ha llegado la hora de la jubilación. A partir de hoy, será la nueva Epia-800, corriendo M0n0wall, quien se encargue de hacer de portero en nuestra pequeña red local:

Como se ve en la imagen (por cierto, las tengo subidas también en Flickr, por si las quereís ver en grande), el cortafuegos no lleva disco duro, sino que usando un convertidor IDE a Compact Flash, usa una tarjeta de este tipo para almacenar el software del cortafuegos, un increible M0n0wall, basado en FreeBSD que desde ahora no dudaré en recomendar. He tenido que tirar de Dremel para poder ubicar la segunda tarjeta de red del cortafuegos, ya que la raiser-card no me daba la altura necesaria, pero al final ha quedado más o menos apañado. Como se apreciar en la siguiente foto, a pesar de ser un ordenador considerablemente más potente, más silencioso, y con un consumo eléctrico mucho menor, también su tamaño es considerablemente más pequeño:

Para integrarlo, he visto que en la sección de cocina de IKEA venden un tipo de baldas, de nombre VARIERA (balda grande, balda pequeña). Como tienen la base enrejada, son ideales también para mejorar la ventilación de estos dispositivos, que están todo el día encendidos:

Al final, entre pitos y flautas, creo que he conseguido actualizar la red de una forma buena y barata (lo de bonito habrá que dejarlo para otra ocasión). Aprovechando el fervor del momento, la locura del cambio y esas cosas :-), he metido mano también en el cajón de los trastos y he hecho algo de limpieza:

Eso sí, ahora estoy seguro de que no tocaré un teclado, por trabajo, hasta septiembre ;-)

Páginas

Sobre PlanetaInopia

Sandor Inopia nació en Bilbao, un lunes cualquiera, justo 1904 años después de que Nerón se suicidara, diciendo ¡Qué artista muere conmigo!, y 192 años después de que Volta descubriera la pila eléctrica. Mientras celebraba su quinto cumpleaños, Elvis daba su último concierto, y celebrando los siete, Muhammad Ali se retiraba del boxeo.

Sobre PlanetaInoipa, blog personal de Sandor Inopia (Sandor Saiz Ortuondo)

Yo no tengo la ambición de Nerón, la inteligencia de Volta, la voz de Elvis, o la fuerza de Alí, pero a veces me gusta escribir y darme a conocer a los demás. Por eso este blog, que espero te guste.

Comentarios recientes