SSL en apache2, bug apache2-ssl-certificate

January 11th, 2008

Tiempo sin escribir…

En esta ocasión estaba intentando generar un Certificado Digital SSL (Secure Socket Layer) para algunas partes de un sitio web que administro con Joomla CMS.

Lo primero que me sorprendió es que el script apache2-ssl-certificate que debería venir por defecto con apache2 no se encontraba en el sistema y al ejecutar el comando:

#apache2-ssl-certificate

bash: apache2-ssl-certificate: command not found

Es decir, el script no se encuentra. Comencé a investigar y resulta que es un Bug de apache2 que ya ha sido reportado en Ubuntu y en Debian. Lo más extraño es que fue descubierto hace ya algún tiempo y aún continúa, a pesar de que ya algunos colaboradores han publicado parches personales.

La forma actual más sencilla de generar el certificado saltando el bug es de la siguiente manera:

Primero creamos el directorio /etc/apache2/ssl

#mkdir /etc/apache2/ssl

luego generamos el certificado con el comando make-ssl-cert

#/usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

y allí comenzará el proceso respectivo de preguntas para generar el certificado.

Espero que sirva de guía y ayuda para quienes anden por aqui…

Luego escribiré un poco más sobre SSL.
Éxitos!

Bash Completion, Tip para Sysadmins…

August 5th, 2007

Excelente tip, que puede fácilmente volverse inprescindible.

Viene por defecto con el Shell BASH, por lo menos en Debian y Ubuntu.

Gracias a él puedes hacer:

$ cd /bo [TAB]

y se completará el directorio /boot/

Si existe más de una posibilidad de un directorio o archivo que empiece así, listará las opciones disponibles, sino lo completará automágicamente.

Grandioso, no?

Pero aún hay más, es posible usar un comando y luego pulsar [TAB] para ver las opciones disponibles para ese comando en especíifico.

Si no disfrutas aún de esta maravillosa característica del bash puedes activarla de la siguiente manera:

$ . /etc/bash_completion

y listo. Inténtalo!

Esta funcionalidad del bash es mu potente y se puede llegar a hacer mucho más…:

$ ~[TAB]

y verás todos los usuarios del sistema.

$echo $[TAB]

y se despliega una lista de todas las variables.

Si quieren más pueden hacer sus propias definiciones de autocompletado y colocarlas en /etc/bash_completion.d/ para luego usarlas.

Espero les sea útil.

Sonido en Iceweasel / Firefox

June 15th, 2007

Ajá, no se escuchan los videos y sonidos de algunos sitios web en tu navegador Iceweasel o Firefox?

Instala estos paquetes:

alsa-oss
libesd-alsa0

Si te gusta la consola, como root:

aptitude install alsa-oss libesd-alsa0

Luego debes editar el archivo /etc/iceweasel/iceweaselrc

Puedes usar cualquier editor, en este caso uso vi:

vi /etc/iceweasel/iceweaselrc

# which /dev/dsp wrapper to use
#ICEWEASEL_DSP="none"
ICEWEASEL_DSP="esddsp"

y dejarlo de este modo.

Luego reiniciamos la interfaz gráfica.

Como root:

/etc/init.d/gdm restart

en el caso de gnome, si es KDE, entonces es kdm.

Entras en la sesión y luego ejecutas una sóla vez en consola como usuario normal:

esddsp iceweasel

Y prueba escuchar tus videos, luego podrás abrir normalmente el firefox y escuchar.

Espero sirva de ayuda.

No space left on device

May 10th, 2007

Es la segunda vez (en equipos diferentes) que esto me sucede, y es que de repente al iniciar el Debian normalmente como siempre, aparece un extraño error de Xsession…

La primera vez me volví loco investigando, porque una de las cosas que me indicaba es que mi antigua sesión había durado menos de 10 segundos (cosa que no es verdad), el error sigue diciendo en su última linea: No space left on device.

Sólo hay que saber leer… te has quedado sin espacio en el disco! (bueno, por lo menos en la raiz “/” ).

Algunas cosas que hice para solucionar rápidamente.

ctrl+alt+f1, inicio sesión y….

1) Para comprobar lo del espacio hice un df -ah y efectivamente la raiz estaba al 10% de uso. =(

2) Empiezo a listar archivos y a borrar unos cuantos innecesarios, que han pasado de moda o ya no me son útiles.

comando ls para listar y rm para borrar.

3) Algunos documentos personales (por una razón u otra) los tenía en /root, los pasé a /home/usuario/ que es donde deben estar ( Además es una partición independiente).

4) Hace muy poco había actualizado a Lenny/Sid y el directorio /var/cache/apt/archives estaba minado de .debs, la manera más elegante de borrarlos:

aptitude clean && aptitude autoclean

5) Luego recordé una utilidad para eliminar todas las locales innecesarias en tu sistema y así ahorrar espacio, se llama localepurge:

aptitude install localepurge

Para configurarlo te pedirá que selecciones los idiomas que necesitas tener, para no borrarlos.

6) Existe otra utilidad buena que te ayuda no sólo a ahorrar espacio en el disco duro sino a mantener limpio y sano tu sistema. Se llama deborphan, y lo que hace es buscar librerias huérfanas y listarlas. Luego puedes hacer:

aptitude purge paquetes_huerfanos

o más elegante:

deborphan|xargs aptitude purge -y

7) Luego hice nuevamente df -ah  y… uff ya habia liberado más del 20%. Me fui a la interfaz gráfica (ctrl+alt+f7) e inicié sesión normalmente y sin ningún inconveniente!

8) Vacié la papelera y aproveché para hacer un poco de orden entre los documentos.

Espero que les sirva.

Éxitos!

500 - Internal Server Error

March 5th, 2007

El famoso error 500, Internal Server Error.

Este conocido amigo puede hacer acto de aparición muchas veces y por distintos motivos, en este caso, me pasó lo siguiente.

Tengo instalado phpmyadmin, para facilitar un poco el trabajo de administración de la Base de Datos (MySQL). Un día decidí actualizar mi PC con un aptitude upgrade…

Todo de maravilla, software nuevo y fresco, llegado el momento de tener que usar phpmyadmin… abro el navegador, http://localhost/phpmyadmin… PUM!

500 - Internal Server Error, seguido de una chorrera de palabras; En resumen pues que te comunicaras con el admin (¿quién mas?) para que revisara el asunto o el error log…

En ese instante necesitaba urgentemente administrar la BD de una manera que no fuera sólo consola. Instalé el mysql query browser y resolví…

Luego con calma revisando logs encontré:

[Mon Mar 05 19:10:27 2007] [alert] [client 127.0.0.1] /var/www/phpmyadmin/.htaccess: Option FollowSymLinks not a llowed here, referer: http://localhost/

Fuí al archivo en cuestión comenté la línea del lío, reinicié el apache y santo remedio, el phpmyadmin ha vuelto.

Espero les sirva,

éxitos!

¿Aún no firmas o cifras tus mensajes? (I)

February 27th, 2007

Seguramente alguna vez has recibido un mensaje con una serie de letras y numeros aparentemente sin sentido.

Alguno comienza con algo como:

—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1

terminando como:

—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFF4Rgen5LZJxZymGMRAun7AJ

0Wyof1zQ6nIi/byXlxEQUDW3nwlgCfWDMl
r24pL6b/z4h0lWPxldNTO80=
=wecA
—–END PGP SIGNATURE—–
O quizás alguno como:
—–BEGIN PGP MESSAGE—–
Charset: ISO-8859-1
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.orghQIOA1geZBU7QPO6EAf9F7ul5Z9b9h

CJ+kvm4HiSeZUsQaCEtpXXLH6QW4pcFIZK
OaMnZ/6wpq5gSrJZ3+2Siy+R93IzbKzsEJJBWH7Sxd5oVdFzfCMKFT/agiiJMkAe
5LiHk1pMrJQ6h4IwfGy/bhSDdaSZnbyDwMsrACdmj7tY/bFddNlHtSE+t/HJ1PFk
JSqNxfOU4TfbhjrVKFPsDGeSKsDqDF3Dp+CNU72CY/RYdHuukWltXuns5ADELRuz
322+LwjjG696AUUUG0T+dKSu5SOagjMpEB/APxxK5k6chRelJx3+L6OCrFSyATTI
1QNUoW224KscHwI6PfOFtIC9J6HCZzdKunAGgnFGywgA2iEqFe8aLqs5lfUZpP/c
TZJxrenbIb5wTQkTXjXL/hC93CXuLN27aRy8LhT7Qk5uD1vDdfZz2Hb3cx2aZ38X
UfxPlE7dSxQcQ/IUIZkYt6OJ9gPo67s2e2PO2X4ayOlYhNVvGBUWs1YCh60jJJeL
rnWm8na2UzYEME3egQFiXKA3HqzueL5y1mBRq5m++F2TxwwK0×3ANfeOERK3GsPi
1NGEIkGY7PdITjlwHURPGTZbsy4D84QJJEJoK0H8Z+2rXr+XYbVvz4U+x9XbU71t
GRC8lF8uD5QRKJAu+QWzNgfL99×4yGZLu9iyAfCMMDXGY47GrOJ7XWontcGfSqV8
HdKrAfpcvE6EmdOEaoTQ9fNoosr+5UrKuVuRR0+H1wruoOKMW7c4zobSWjgjSW3x
oEbjindWZKHlvwBo5g4qP7UKmMaKujFlV7UJYFRUW6i7CxgKB6J4X8D8cAxMP/nv
GV5zepx2uowgNdo/464NfXdKH7urZkFNIGbR76m8lOXYrciYcjQ/y6WTOvovUHLq
nJXrIU3w4z3nNQvyy5ZUWc6MJc9XhGY+CqEqBR+l
=uFus
—–END PGP MESSAGE—–
Bueno, trataré de explicar un poco mi experiencia. Lo primero y lo segundo es un mensaje firmado, lo último un mensaje cifrado.
Lo primero que debes hacer es crearte tu par de llaves, una publica y otra privada. Para eso existe GnuPg, una suite de programas para firmar/cifrar mensajes. Empecemos…
#aptitude install gnupg
Una vez instalado esto, vamos a crear un par de llaves,
#gpg –gen-key
Sigue las instrucciones y responde las preguntas que te aparecen.
¿Qué tipo de algoritmo usar?
DSA & Elgamal son algoritmos un poco mas nuevos que el antiguo RSA, aunque el RSA ha mejorado muchisimo desde sus inicios y ahora DSA como RSA son muy buenos, pero quizás aquí lo mas cumbre es que puedas usar DSA & Elgamal conjuntamente(opcion 1).
¿Tamaño de la llave?
Bueno, mientras más grande mejor no? 1024 es lo mínimo aceptable, 2048 aconsejable.
¿Tiempo de expiración?
Yo he puesto 0 para que no expire nunca.
En Real Name trata de colocar tu nombre verdadero y no un nick, la idea es justamente crear una red de confianza y que la gente que reciba tus correos pueda saber si realmente eres tu.
En el Comentario puedes obviarlo o colocar cualquier cosa.
Luego te pedirá una Frase para proteger tu llave privada, trata de que sea segura, no tan corta y que puedas recordarla, ah, y que no sean datos personales!
Luego generará tus llaves, trata de hacer cosas que impliquen esfuerzo y procesamiento a tu maquina, puedes abrir otra consola y hacer updatedb o lo que se te ocurra…
Al cabo de unos minutos tendrás tus llaves creadas…aparecerá un mensaje mostrando tu Key fingerprint o Huella Digital de la LLave. Que no es más que un hash de tu llave pública. Los últimos 8 dígitos de tu Huella Digital son tu KEYID.
Ahora puedes crear un certificado de revocación por si en algún momento pierdes u olvidas la clave.
#gpg -o revocacion.asc –armor –gen-revoke KEYID
imprime el archivo revocacion.asc y guardalo.
Ah! Felicidades! ya tienes creado tu par de llaves!
Seguimos, envia tu llave pública a un servidor de llaves públicas para que luego los demás la puedan verificar.
gpg –keyserver pgp.mit.edu –send-keys KEYID
donde KEYID pues ya sabes, son los 8 ultimos digitos del fingerprint.
Bueno, hasta aqué llego por hoy, luego explicaré como usar tu par de llaves para cifrar y descifrar correos usando enigmail e IceDove. también cómo firmar llaves de otras personas, como en una Keysigning Party o Fiesta de Firmado de Llaves.
Mientras tanto, man gpg.
Éxitos!

Convertir PDF a ODT, por ejemplo…

February 17th, 2007

Saludos!

En este momento ella me pregunta que si no sé cómo pasar un documento .pdf a .odt para poder editarlo, arreglarlo e imprimirlo.

Bien, esto nos puede ser bastante útil en muchos casos…

Necesitamos el paquete xpdf, si estamos en Debian o alguna de las distribuciones basadas en ella:

#aptitude install xpdf

aptitude hará lo suyo recomendando otros paquetes y algún caso eliminando alguno innecesario.

Luego de terminada la instalación,

#xpdftotext documento.pdf

Eso nos genera un documento.txt

Luego lo abrimos con OpenOffice y listo!

- Podemos editarlo y guardarlo en el formato de nuestra preferencia.

Espero sea de utilidad.

Ponga su Vista en el Software Libre

February 4th, 2007
Norberto Fernández - Netcaster
Rebelión
Y al final salió Vista, entonces se me ocurrió bajar de la web de Microsoft el Windows Vista Upgrade Advisor para ver si tal vez funcionaría en mi Notebook Sony que dispone de una configuración con procesador Pentium IV (real) corriendo a 3GHz, con 1M RAM y video ATI con 64M - no es lo último, pero tampoco es un cacharro.

Después de unos minutos de espera, me generó un informe en el que como primer aviso me informaba que tendría que cambiar la placa de video -cosa imposible de hacer en una Notebook-, o en su defecto usar Vista sin las ventajas del nuevo entorno gráfico Aero, es decir que Vista funcionaría con el mismo entorno gráfico de mi actual XP, es decir que no dispondría de lo único realmente nuevo del nuevo sistema operativo.

En cuanto al resto del hardware me informó que estaba todo bien, salvo que me sugería cambiar el disco rígido en el cual dispongo de 30GB libres, por alguno un poco más grande -no entendí en base a qué sacaría esa conclusión.

Hasta acá todo bien, era cuestión de cambiar la Notebook (nada accesible desde ya, pero que en algún momento tendría que hacer) y ya estaba todo?. No, lo mejor estuvo a continuación.

Como desarrollador tengo instalados varios paquetes de software de Microsoft, como ser, Visual Studio 2003, Visual Studio 2005, Office 2003, SQL Server MSDE y SQL 2005 Express, y algunos otros de otras firmas y Open Source que no tiene sentido que enuncie, porque me voy a referir solo a los de Microsoft.

En otras palabras, salvo por algunos paquetes Open Source, varios miles de dólares en software, que para Bill Gates pasaban a ser mágicamente incompatibles con su nuevo Windows. Si quería correr bajo el nuevo Vista alguno de esos paquetes, indefectiblemente tendría que comprar las versiones nuevas de los mismos –Office incluido-, varias de las cuales, no solo que no salieron a la venta sino que están en sus primeros pasos de desarrollo y en consecuencia aún no existen.

Me pregunto cuantas personas en el mundo corrieron el Windows Vista Upgrade Advisor antes de pensar en comprar Vista. Si no lo hicieron, por favor háganlo, porque ni cambiando el hardware van a disponer de algo mejor.

Del mismo modo que hice esta prueba, investigué un poco y me encontré con cosas que dan para seguir maldiciendo a Microsoft. Por ejemplo, si se hace una actualización del XP a Vista, y después –cuando por ejemplo se descubran las incompatibilidades- se decide volver atrás…, no, no hay vuelta atrás, porque a partir de instalar Vista, el Key –licencia- de XP ya no es más válido, y a partir de ese momento, Ud. que siempre fue respetuoso del software legítimo y de la propiedad intelectual, tendrá un XP… ilegal. Actualizar XP con Vista es como un intento de suicidio, no se va a morir, pero seguro que a partir de eso su vida ya no es igual.

Otro tema interesante es el de la seguridad y el compromiso ético corporativo del que habla Microsoft, y de como lucra Microsoft con esto. Como todos saben, su nuevo sistema sufrió varios atrasos, y se postergó el lanzamiento para que el usuario disponga del sistema “más seguro del mundo”. Lamentablemente el mismo día del lanzamiento ya le encontraron vulnerabilidades de seguridad importante que les obligó a parchearlo, aún  antes de la salida.

Existe una vulnerabilidad basada en conceptos que deben estar en el primer párrafo del manual de la seguridad informática y que por lo simpática paso a relatar.

Es sabido, y así lo promocionó Microsoft y Bill Gates en el lanzamiento como un avance extraordinario, decretando hasta la muerte del mouse, que Vista puede ser por defecto operado por la voz, es decir, uno instala Vista y a partir de ese momento adiós Mouse y por medio de la voz, puede empezar a dar ordenes al procesador para que realice determinadas acciones. Que bueno. Bueno, ahora imaginen que alguien en su sitio web detecte que ingresó un usuario con Windows Vista y que al ingresar le lance un archivo de audio que diga algo así como “En este sitio Web no queremos usuarios de Windows Vista… Borrar todos los archivos de Mis Documentos”. Instantáneamente perdemos todo.

Resulta que Microsoft, mintiendo descaradamente dice que su software es “el más seguro del mundo” y en consecuencia por eso cobran lo que cobran. Pero por otro lado, lanzan un desafío a través de una firma denominada iDefense, subsidiaria de VeriSign cuyo dueño es… Microsoft, es decir ellos mismos. El desafío tiene premios de varios miles de dólares para quienes encuentren agujeros de seguridad en Vista. iDefense (indirectamente Microsoft) venderá los resultados como consultoría de seguridad a las firmas que adopten el software con fallas –Vista- que ellos mismos les vendieron.

Resumiendo, lucran con un producto que saben que tiene fallas de seguridad, para después lucrar con los parches necesarios para solucionarle los problemas que les generaron a los idiotas corporativos que compraron su producto. ¿Eso es la ética corporativa que merece ser declamada?

Conclusión, ponga su Vista en el software libre, no gaste dinero y como ya empecé a hacer yo, instálese alguna distribución de Linux –en mi concepto la mejor es Ubuntu o su hermano menor Xubuntu-, que con su cacharro va a poder hacer más cosas de las que puede hacer incluso hasta con XP.

http://bloggy.com.ar/tech

Descargar un directorio completo desde un ftp

January 19th, 2007

Uff, esto me parece digno de un post-tip, porque me costó un poco hacerlo desde el ftp por consola, golpeando el get, mget, mdir en modos binary, ascii, etc, etc, etc…

Hasta que recordé la maravilla del wget, antes lo había usado para descargarme un sitio web completo a mi maquina y poder navegarlo offline, ahora me puse a “desmenuzarlo” un poco más y logré lo que quería, descargarme un directorio completo desde un ftp.

#wget -cr ftp//:elsitio.com/directorio/ –user usuario –password clave

la opcion -c es para que puedas pausar la descarga y continuarla luego, maravilloso no? y la opción -r es para navegar entre los directorios.

Espero sea de utilidad para alguien.

W: There are no public key available for the following key IDs:

January 17th, 2007

Seguramente alguna vez te has topado con este inconveniente actualizando tus repositorios en Debian Gnu/Linux, al hacer por ejemplo: #aptitude update

Te sale algo como:

……
Fetched 5562B in 13s (421B/s)
Reading package lists… Done
W: There are no public key available for the following key IDs:
A70DAF536070D3A1
W: You may want to run apt-get update to correct these problems

O algo parecido. Esto significa que no posees algunas llaves públicas para poder descifrar y descargar paquetes de algún repositorio. Todo esto debido a que en Debian están usando una fuerte politica de cifrado para validar las descargas de paquetes. Comunmente llamado SecureApt.

¿Qué hacer?

Sencillo. Lo que tienes que hacer es descargar la llave pública y guardarla en tu equipo para que aptitude o apt puedan encontrarla.

pgp es la manera mas usual y estándar de distribuir llaves públicas, usando un servidor de llaves públicas desde donde pgp pueda descargarselas, como wwwkeys.eu.pgp.net o pgpkeys.mit.edu.

El procedimiento sería algo como:

#gpg –keyserver pgpkeys.mit.edu –recv-key xxxxxx

donde xxxxxx es la llave pública que necesitas. Hacer esto tantas veces como llaves necesites. Luego puedes comprobar nuevamente con un aptitude update.

Bien, ahora la forma más sencilla. - Si, hay una forma más sencilla de hacerlo.

#apt-key update

y él descargará todas las llaves públicas que necesites. Sino funciona lo más posible es que necesites instalar el paquete debian-archive-keyring y listo!

¡Pruébalo!