Actualizar llaves GPG de Debian

http://security.debian.org lenny/updates Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA

En agosto del 2010 hubo un cambio de llaves en el repositorio de seguridad, esto se aplica cada 3 años, y la solución fácil, rápida e insegura es actualizar el keyring que no está verificado:

sudo aptitude install debian-archive-keyring

Anuncio original de Debian sobre el cambio de llaves:
http://www.debian.org/News/2011/20110209

hacer un dist-upgrade a Debian de forma segura

debianPara actualizar Debian de Lenny a Squeeze decidí hacerlo de forma segura, tomando todos los recaudos necesarios. Acá los dejo para recordarlos la proxima vez, ya que sirven para actualizar cualquier version de la distribución con apt-get.

Como primer medida, arrancar con screen para evitar tener que dejar la consola/terminal abierta mientras se realiza la actualización.

screen

Luego nos aseguramos que nuestro sistema este al día:

apt-get update
apt-get upgrade

Luego, actualizamos los paquetes que han quedado retenidos (on hold) por alguna razon:

apt-get dist-upgrade

Con esto ya estamos actualizados a las ultimas versiones de todos los paquetes de la distribución actual.
Si apt-get dist-upgrade nos dijo que tenemos cero paquetes para actualizar, podemos seguir adelante:

Modificamos el archivo /etc/apt/sources.list y reemplazamos el nombre de lenny por squeeze.

El archivo antes del cambio, debería ser algo similar a esto:

deb http://ftp.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

Y el sources.list luego del cambio debería ser algo así:

deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib
deb-src http://security.debian.org/ squeeze/updates main
deb http://ftp.debian.org/debian squeeze-updates main contrib non-free
deb-src http://ftp.debian.org/debian squeeze-updates main contrib non-free

Prestar especial atención en este caso ya que volatil dejo de existir en Squeeze, y paso a ser squeeze-updates.
Squeeze en versiones 6.0.3 y posteriores tiene resuelto los temas de udev, el kernel y grub2, con lo cual es seguro proceder con los pasos tradicionales:

apt-get update
apt-get upgrade
apt-get dist-upgrade

Luego de algunas preguntas, todo dependiendo de los servicios que tengamos corriendo, debería estar todo listo para un reboot.

reboot

sudo con demoras en Debian

Usando sudo me encontre con largas demoras (delay) para ejecutar comandos, revise el archivo:

/etc/hosts

Y resulta que no tenia el hostname del equipo en la linea de 127.0.1.1

Debería quedar algo así:

127.0.1.1 localhost.localdomain localhost

Donde localhost es el nombre del equipo y localdomain el dominio.

Para averiguar el localhost:

hostname

Y para el localhost.localdomain:

hostname -fqdn

Esto también aplica para problemas de Gnome, GTK y KDE.

El caos de los gov.ar y los gob.ar

Algo que me parecio bueno cuando lo vi / escuche / pense, resulta que es mucho mas complejo de lo que uno creí­a… y feo, feo, feo.

No solo por el hecho de que muchisimas (y cuando digo muchisimas, digo Muchisimas, con M mayuscula) aplicaciones se ven complicadas al markitiniar (“argentinización” de marketing) el grandioso gob.ar, sino que ademas de las posibles incompatibilidades con aplicaciones actualmente en producción, se suma el laburo de mantener los miserables DNS que junto a los virtualhost de Apache, paso de molesto a volverse directamente tedioso.

Un ejemplito para que observen:

DOMINIO.gob.ar            IN    A   1YY.2YY.3YY.4YY
DOMINIO.gov.ar            IN    A   1YY.2YY.3YY.4YY
www.DOMINIO.gob.ar       CNAME   DOMINIO.gob.ar
www.DOMINIO.gov.ar       CNAME   DOMINIO.gob.ar
mail.DOMINIO.gob.ar       IN    A   1XX.2XX.3XX.4XX
mail.DOMINIO.gov.ar       CNAME  mail.DOMINIO.gob.ar
DOMINIO.gob.ar            MX       mail.DOMINIO.gob.ar
DOMINIO.gov.ar            MX       mail.DOMINIO.gob.ar

Y esto es luego de pensarlo un poco. Es más, si algún admin del Estado lo esta mirando, aproveche y si se le ocurre una mejora, avise! :D

Un detalle: Para el 2do registro, tambien tengo que usar un registro tipo A, ya que al tener que hacer uno del tipo MX luego, no podemos usar un CNAME, dado que no se debe aplicar un registro MX a un CNAME.

Ahora hay que agregar en Apache todas las entradas del dominio en la configuración de los virtual host que tengan:

ServerName     DOMINIO.gob.ar
ServerAlias      DOMINIO.gov.ar
ServerAlias      www.DOMINIO.gov.ar
ServerAlias      www.DOMINIO.gov.ar

Obviamente que si no fuera por que los buscadores tienen todos indexados los dominios con gov.ar, yo lo daria de baja en 3′. Y aún así­, me tienta bastante!

Más adelante cuento la historia de por que se puso goV.ar de entrada. Es interesante.

Recuperar GRUB en Ubuntu luego de re-instalar Windows

Bueno, si tenes una laptop es muy probable que te haya venido con Windows Vista (de aquí­ en más tal vez Seven) y aunque tenes Ubuntu instalado, si usas Windows, tarde o temprano lo vas a tener que reinstalar. Es su naturaleza y nada vas a poder hacer para evitarlo. Cuando ese dí­a llegue, te va a borrar GRUB… por que es el tipico brabucon del barrio, al que no le gusta compartir :D

Ahora, sea cual fuere tu caso, si queres volver a reinstalar grub, y esto aplica para cualquier distribución — pongo Ubuntu por que es la más común y suele ser la que más ayuda necesita hoy dí­a –, ahora ya no hacen falta todos esos pasos de antes, y se reduce a 4 lineas.

Arrancamos con un LiveCD (puede ser Ubuntu 9.04 o 9.10 o cualquier otra distribución, siempre y cuando sea la misma que tenemos instalada).

Luego, una vez que arranco todo ejecutamos:

sudo grub

Y una vez dentro de la shell de Grub:

> root (hd0,0)
> setup (hd0)
> exit

Ojo, aquí­ es donde esta el truco:
Los comandos root y setup se deben ejecutar teniendo en cuenta el disco donde esta Windows. Normalmente las laptop tienen uno solo, con lo cual siempre sera hd0, pero no es el caso de los pc de escritorio y la particion de Windows no siempre es la 0.

Para saber donde esta Windows, deben ejecutar:
sudo fdisk -l

Verán algo como esto:

Disk /dev/sda: 160.0 GB, 160041885XXX bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x04XXXXXX                     

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2444    196313XX+   7  HPFS/NTFS
/dev/sda2            2445       18431   1284155XX+   5  Extended
/dev/sda3           18432       19452     82011XX+  1c  Hidden W95 FAT32 (LBA)
/dev/sda4           19453       19457       401XX+  ef  EFI (FAT-12/16/32)
/dev/sda5            2445        2456       963XX+  83  Linux
/dev/sda6            2457        2578      9799XX+  83  Linux
/dev/sda7            2579        5010    19535XXX+  83  Linux
/dev/sda8            5011       15882    87323XXX   83  Linux
/dev/sda9           15883       18431    20474XXX   83  Linux

Allí­ la primera partición NTFS en aparcer, muy probablemente sea la que tiene Windows instalado. Va a tener la forma de /dev/sdaX donde X es un numero. En Grub, deben ingresar ese numero menos uno. Entonces, yo tengo Windows en mi primer disco “sda” y la primer particion “sda1″. Osea, en mi caso es /dev/sda1 entonces en Grub utilizo (hd0,0).

Fuente:

http://www.howtogeek.com/howto/ubuntu/reinstall-ubuntu-grub-bootloader-after-windows-wipes-it-out/

Debian Lenny 5.0 actualiza phpMyAdmin y te sobre-escribe config.inc.php

Vaya dios a saber que paso, pero el mantenedor se olvido de omitir config.inc.php al actualizar el paquete.
Este es el error:

"#1045 – Access denied for user "˜root'@'localhost' (using password: NO)"

Para solucionarlo, pasarse por:

/etc/phpmyadmin/config/config.inc.php

Y corregir la linea que dice:

$cfg['Servers'][$i]['auth_type'] = “˜config’;

Cambiarla por http o cookie, dependiendo de lo que prefieran:

$cfg['Servers'][$i]['auth_type'] = “˜http’;

Si tienen caracteres raros en la linea de host, entonces es probable que alguien haya explotado una vulnerabilidad en su servidor.

Actualización: Al final parece que no es un problema del desarrollador que mantiene el paquete de phpmyadmin, sino que es una vulnerabilidad de Debian en dicho paquete. Tengo que revisar un poco más, pero si es el caso, hay que tener especial cuidado!

WRT54GL v1.1 flasheado con DD-WRT v24 SP1

Actualización: Luego de instalar DD-WRT v24 SP1, deben actualizar hacia la v24 preSP2 debido a un fallo de seguridad en el server httpd.

Finalmente me decidí­ y lo hice.

De repente mi conexión wireless dejo de responder, por alguna razón knetworkmanager al momento de asignar la IP, luego de unos cuantos segundos, reportaba un error. Justo ayer me habí­a pasado dos horas (por teléfono! me sentí­ un bot de call center…) ayudando unos amigos a configurar su modem/router Zyxel P600 de telefónica/speedy más un Linksys WRT54G (v8) en modo router + wifi, y como para acceder al mio (un WRT54GL) tengo deshabilitada la administración ví­a wifi, tuve que ponerme un cable. Como ya lo tenia ahí­, supuse que habrí­a tocado algo mientras los guiaba, y me conecte a la interfaz web del router para ver si encontraba el problema.

Resulta que mirando, mirando… no notaba nada raro, y en una de esas, me encontré jugando con la opción de DDNS (“Dynamic DNS” para el q no sabe), que siempre lo configure en la PC (es más, cree un par de scripts para actualizar la IP y todo, un dí­a deberí­a subirlos), por que el servicio que utilizo no lo soportaban mis routers previos. Cuestión que en este Linksys habí­an dos disponibles, uno era DynDNS.org y el otro era TOZ.net o algo así­. Como ya dije, no son los que yo utilizo… pero dije, ya fue, me creo una cuenta en dyndns, total, que le hace una clave mancha más al tigre (el tigre? el tigre tiene rayas! el leopardo es el de las manchas! por que se dice al tigre?).

Cuestión que recuerdo fugazmente que en algún momento tuve un dyndns, y que lo reemplace por mi actual proveedor por no brindarme el servicio de dominios propios. Cuando intento reflotar mi cuenta me aparece algo así­ como “Su cuenta violo las Polí­ticas de Uso Aceptable y ha sido bloqueada”, en ingles y sin mucho mas detalle que eso. Nunca supe ni sabre que polí­tica de uso aceptable habré violado, ya que no utilizaba la cuenta hace ¿años?. Aparte de darme bastante bronca el no tener una razón hace tiempo que venia leyendo sobre OpenWRT, DD-WRT, Tomato y tantos otros firmwares libres para routers. Es más, me compre este mismo router por que sabia que si querí­a, podrí­a aplicarle estas versiones embebidas de Linux. Me tente con la idea nuevamente, me puse a leer, vi lo fácil que era, las ventajas que ganaba… y no dude más. Lo hice.

Algunas ventajas puntuales al convertirme a DD-WRT:

  • Puedo asignar DHCP estático (algo que me molestaba de sobremanera que no tuviera la firmware original ya que lo utilizo para poder forwardear puertos especí­ficos a PCs especificas)
  • Puedo utilizar como 10 servicios de DNS dinámico, incluyendo EveryDNS.
  • Puedo hacer calidad de servicio y controlar al descontrolado de mi hermano y sus descargas (un QoS que anda!).
  • Puedo hacer ssh a mi router!
  • Tengo soporte para OpenVPN! (y no que “pase” nomas, sino conectarme ví­a VPN)
  • Estadí­sticas de verdad! Con gráficos y todo.
  • Incrementar la potencia de la wifi
  • Puedo poner un web server, si quiero.
  • Montar un Samba
  • Usar Iptables como firewall

Por otro lado, habí­a algo que hace tiempo venia molestándome y es que la conexión wireless de una de las PC se caia seguido, por lo que vi, parece ser bastante recurrente en ese modelo de placa  (la ironí­a de que sea una Linksys no me deja de sorprender), y me preguntaba si no tendrí­a algo que ver con el router… aunque las laptops anduvieran sin inconvenientes. Bueno, está confirmado y no era el router. Ni el soft del router. Es la placa. Recomendación para todos los que quieren adquirir una placa inalambrica para su PC: compren un dongle USB <-> Wifi. Después dejo la marca y modelo de uno que funciona muy, pero muy bien en Linux.

Llegamos a la parte practica.

Como se instala DD-WRT en un Linksys WRT54GL v1.1?

  1. Descargamos las firmwares que queremos aplicar
    1. URL: http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html
    2. dd-wrt.v24_mini_generic.bin (md5: 51cb0315084c292b79988821bfeee738)
    3. dd-wrt.v24_vpn_generic.bin  (md5: de2aa2fb41e75562b8a350ae493ecce0)
  2. Nos conectamos via cable al Linksys.
  3. Guardamos la configuración actual por las moscas, en la parte de administración hay un submenu que permite hacer un backup de está. Opcional.
  4. Reseteamos el router a los valores de fabrica ví­a la interfaz administrativa web.
  5. Nos logueamos nuevamente, y vamos a la parte de Upgrade Firmware
    1. Le damos a Browse y buscamos el 1er archivo que descargamos: dd-wrt.v24_mini_generic.bin
    2. Es obligratorio utilizar la firmware mini, ya que Linksys limito el tamaño de la firmware a subir ví­a la interfaz.
    3. Una vez que le damos al upgrade. No tocar nada ni cerrar el navegador hasta que termine. Pueden pasar un par de minutos, lo ideal es irse a tomar algo, estirar los pies, o si tienen; acariciar al perro.
    4. Una vez que aparece la pagina con el boton de Continue, esperamos un par de minutos y le damos click.
    5. Vamos hasta el router y, durante 30 segundos, mantenemos apretado el boton de resetear que se encuentra detras.
  6. Nos volvemos a loguear, y voila! Tenemos DD-WRT en nuestro router. Ahora vamos nuevamente a actualizar el firmware, esta vez para cargar la version mas completita con unas cuantas caracteristicas extra, en este caso las de VPN, aunque existen alternativas como la standard o la de voip. Pueden consultar las diferencias aquí­
  7. Una vez logueados nuevamente procedemos (a traves de menus mucho mas bonitos y ajaxiados) hasta la opción de Upgrade Firmware.
  8. Una vez allí­, le damos a Browse nuevamente y está vez cargamos la firmware mas grande (std, vpn o voip). Tengan en cuenta que este router no soporta la mega.
  9. Seleccionamos que vuelva a los valores de fabrica al terminar y le damos aceptar.
  10. Nuevamente, vayan a acariciar al perro, vuelvan y sean mas felices. ;)

Lo que se viene: Como destriparlo y agregarle una memoria SD/MMC!

Despues de la caida…

Tuve una pequeña caí­da temporal (2 dí­as?) debido a que hubo una actualización grande de Arch, con la cual migramos el sitio y ya corre sobre Apache 2.2.2!!
Hubo que toquetear algunas configuraciones y cosillas, ya que cambio mucho de la 2.0 a la 2.2

Editado: Al final fueron como …. varios, por q me olvide de actualizar el enlace de everydns y no estaba enlazando contra mi ip actual… jeje