A Django site.
November 4, 2008

Rodolfo Pilas
pilas
Rodolfo Pilas
» Correo POP3 por telnet

Esto no es nada nuevo ni “rocket science“, solo es un apunte personal, ya que esto lo requiero de vez en cuando y al final termino buscando entre documentos y documentos hasta que veo lo que quiero.

Es simplemente cómo hacer telnet al servidor de correo (POP3) y ver los mensajes.

Iniciar sesión en el servidor

$ telnet servidor.correo.com 110

Cuando conecte con el servidor, aparece como lo siguiente:

+OK POP3 Ready

El protocolo POP3 es muy sencillo. Cuando hacemos algo bien el servidor nos contesta con “+OK” y cuando lo hacemos mal nos devuelve un “-ERR”. En ambos casos se añadirá un texto descriptivo.

Ahora el servidor espera nuestra validación:

USER usuario@correo.com

El servidor le responderá con el mensaje de OK:

+OK USER

Significa que ha aceptado el nombre de usuario y que esta esperando por su contraseña. Escriba:

PASS contraseña

empleando la contraseña de su buzón de correo. Si todo ha ido bien el servidor nos responde con lo siguiente

+OK Logged in.

Comandos al servidor

Una vez conectados disponemos de varios comandos que podemos utilizar:

STAT (status) solicita el estado de tu buzón de correos. El servidor responderá informando de cuantos mensajes hay a la espera, en el siguiente formato: +OK mm bb, donde mm es el numero de mensajes, y bb el numero de bytes del total.

LIST te lista todos los mensajes. El primer número es el identificador del mensaje (que se requiere para otros comandos y el segundo número es el tamaño.

LIST
+OK 2 messages (320 octets)
1 120
2 200
.

LIST 2
+OK 2 200

LIST 3
-ERR no such message, only 2 messages in maildrop

TOP nn nl para ver las cabeceras y primeras lineas del mensaje (nn sería el numero del mensaje que quieras ver, nl el numero de lineas de la cabecera, p ej: TOP 1 ALL)

RETR # para ver un mensaje, debe especificarse su numero identificados del mensaje.

+OK XXXX octets follow.
Cabecera del mensaje
Cuerpo del mensaje
.

Donde XXXX es el tamaño del mensaje en bytes. Seguido de esta linea se mostrará la cabecera del mensaje y el cuerpo del mismo. Si el mensaje está codificado en HTML o tiene datos adjuntos es más que probable que entienda poco del mismo.

DELE # borra el mensaje elegido. El borrado no es al enviar el comando, sino al terminar la sesión (se debe desconectar con QUIT o los mensajes no serán borrados)

RSET recupera los mensajes marcados para borrado

NOOP (No Operation) instruye al servidor para que no ejecute ninguna acción, salvo responder con un mensaje de confirmación (+OK).

UIDL (Unique Identifier List) sirve para asignar un identificador unico a todos los mensajes o a uno especifico.

APOP (Authenticate Post Office Protocol) Este comando puede ser usado como sustituto del binomio USER - PASS para identificar y validar un usuario. Su utilidad es evitar que el password del usuario viaje por la red de forma no encriptada. La sintaxis es: APOP (nombre) (codigo).

Desconectar y cerrar sesión

Para desconectar correctamente del servidor escriba:

QUIT

El servidor nos responde con:

+OK Logging out.

Y se cierra el telnet: Connection closed by foreign host.

Fuentes:

September 4, 2008

Rodolfo Pilas
pilas
Rodolfo Pilas
» Truecrypt contenedor de datos cifrados

Durante bastante tiempo fui usuario de EncFS para guardar mis datos personales cifrados y poderlos transportar. La verdad que EncFS funciona de maravillas con fuse y es muy práctico, aunque el resultado es un directorio con datos (cifrados) y a mi siempre me atrajo la idea de armar mi sistemas encriptados en un archivo (contenedor), que yo pueda montar y ya hace tiempo que uso Truecypt para esto.

Truecrypt permite crear un archivo y luego montarlo en el filesystem y copiarle cosas adentro o trabajar con él, como si fuera un filesystem común, salvo que está encriptado.

Para instalarlo en sistemas *ubuntu, es tan fácil cómo descargar de aqui:

$ wget http://www.truecrypt.org/downloads/truecrypt-6.0a-ubuntu-x86.tar.gz
$ tar xf truecrypt-6.0a-ubuntu-x86.tar.gz
$ ./truecrypt-6.0a-setup-ubuntu-x86

y se siguen los pasos que se indican en la interfaz, lo mejor es instalar el .deb que sugiere y se va a encargar de colocar lo que haga falta (libfuse y fuse-utils).

Su uso por línea de comandos es muy simple:

Para crear un volúmen:

$ truecrypt -t -c archivo.tc
Volume type:
1) Normal
2) Hidden
Select [1]:

Enter volume size (sizeK/size[M]/sizeG): 10M

Encryption algorithm:
1) AES
2) Serpent
3) Twofish
4) AES-Twofish
5) AES-Twofish-Serpent
6) Serpent-AES
7) Serpent-Twofish-AES
8 ) Twofish-Serpent
Select [1]: 1

Hash algorithm:
1) RIPEMD-160
2) SHA-512
3) Whirlpool
Select [1]: 1

Filesystem:
1) FAT
2) None
Select [1]: 1

Enter password:
Re-enter password:

Enter keyfile path [none]:

Please type at least 320 randomly chosen characters and then press Enter:
asdlkfjdsalkfjasdlkfjasdl;kfjasd;lkfjasdl;kjf[...]

Done: 100,000% Speed: 13,8 MB/s Left: 0 s
The TrueCrypt volume has been successfully created.

$ ls -al archivo.tc
-rw——- 1 rodolfo rodolfo 10485760 2008-09-04 15:45 archivo.tc

y ahi está mi contenedor

Para montar el volumen encriptado en el filesystem es asi:

$ truecrypt -t -v archivo.tc /mnt
Enter password for /home/rodolfo/archivo.tc:
Enter keyfile [none]:
Protect hidden volume? (y=Yes/n=No) [No]:
Volume “/home/rodolfo/archivo.tc” has been mounted.

$ df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/loop0 10M 0 10M 0% /mnt

$ truecrypt -t –list
1: /home/rodolfo/archivo.tc /dev/loop0 /mnt

y alli ya se puede usar copiando cosas para el /mnt

Para desmontarlo se pueden usar diferentes etiquetas, pero yo suelo usar el punto de montado:

$ truecrypt -t -d /mnt

Hay dos cosas que me gustan mucho de Truecrypt, la primera es que tiene una simple interfaz gráfica que funciona sola (al no usar el modificador -t):

la segunda cosa que me gusta es el hecho que es multi-plataforma, asi que mis contenedores truecrypt los abro transparentemente desde MacOSX también… y bueno, si algun día tengo que compartir algo con un usuario Windows, pues también! Así que en mi pendrive tengo una carpeta truecrypt con los ejecutables e instaladores para todas las plataformas.

February 20, 2008

Rodolfo Pilas
pilas
Rodolfo Pilas
» PowerTOP

Es muy común entre los que tenemos Mac comentar que en con MacOSX la batería mantiene la energía mucho más que cuando estamos corriendo Linux, y es también mi experiencia personal. En la búsqueda de razones para la optimización de energía de la batería me encuentro con PowerTOP, una aplicación que muestra qué está consumiendo energía en el notebook.

Lo que hace PowerTOP es monitorear la máquina durante períodos de 5 a 10 segundos y luego mostrar quién ha estado consumiendo recursos, tanto a nivel de kernel como de espacio de usuario. Así se ve la consola de PowerTOP:

PowerTOP

Una de las cosas interesantes de PowerTOP es que sugiere cómo lograr una mejor utilización del hardware, esto lo hace indicando simples tips de configuración para que queden permanentes y ofreciendo, a la vez, una hotkey para hacerlo en caliente.

Bueno, sigo peleando con mi MacBook y Linux.

January 2, 2008

Rodolfo Pilas
pilas
Rodolfo Pilas
» Revisar Open Relay del servidor de correo

open relaySiempre que instalo un servidor de correo pruebo cómo quedo la configuración, aunque sea en sus características de seguridad más basicas y para esto siempre me ha sido útil el servicio de MAPS que hace unos testeos bastante exaustivos del servidor.

Para probar si el servidor es un open-relay, desde el servidor que se desea probar se hace un telnet:

telnet relay-test.mail-abuse.org

Y como resultado se obtiene:

steve@skx:~$ telnet relay-test.mail-abuse.org

Trying 168.61.4.13…

Connected to Cygnus.Mail-Abuse.ORG.

Escape character is ‘^]’.

Connecting to 212.13.199.210 …

< << 220 skx.vm.bytemark.co.uk ESMTP Exim 3.35 #1 Mon, 08 Nov 2004 12:52:47 +0000

>>> HELO cygnus.mail-abuse.org

< << 250 skx.vm.bytemark.co.uk Hello cygnus.mail-abuse.org [168.61.4.13]

:Relay test: #Quote test

>>> mail from:

< << 250 is syntactically correct

>>> rcpt to: < 'nobody@mail-abuse.org'>

< << 501 <'nobody@mail-abuse.org'>: recipient address must contain a domain

>>> rset

< << 250 Reset OK

:Relay test: #Test 1

...

...

...

System appeared to reject relay attempts

Connection closed by foreign host.

La ventaja de este telnet, ante otros servicios que hay de prueba es que no tiene efectos secundarios (abuse.com coloca al servidor en blacklist en caso de open-relay) y además es instantáneo, pues las pruebas son en tiempo real.

Este artículo está basado en “Is your mail server an open relay?”.

June 28, 2007

Rodolfo Pilas
pilas
Rodolfo Pilas
» DokuWiki: aniversario y análisis de desarrollo

DokuWiki Logo Andreas Gohr, líder del proyecto DokuWiki, acaba de publicar en la lista de correo de dokuwiki un mensaje avisando de la nueva versión, con un relevamiento de su desarrollo con motivo de cumplir sus tres años desde su primer versión disponible.

En estos tres años unas 180 personas son mencionadas en los fuentes de Dokuwiki con contribuciones al desarrollo.

DokuWiki está disponible en 41 diferentes lenguajes.

DokuWiki está en el lugar 15 de los proyectos más consultados en freshmeat.net y en lugar 75 en popularidad.

Existen más de 2:430.000 referencias en Google para la búsqueda del término “DokuWiki”.

La página de Wikipedia relativa a DokuWiki está disponible en 12 diferentes idiomas.

Se resolvieron 690 reportes de problemas (número de problemas reportados en el bug tracker), desde el primer problema reportado el 2004-02-18.

DokuWiki tiene más de 70,000 líneas de código (sin contar línes en blanco ni comentarios), con estos datos generados por CLOC:

1774 text files.
1762 unique files.
1325 files ignored.

http://cloc.sourceforge.net v 0.80 T=2.0 s (222.5 files/s, 48964.5 lines/s)
----------------------------------------------------------------------------
Language files blank comment code scale 3rd gen. equiv
----------------------------------------------------------------------------
PHP 361 8633 16475 67809 x 3.50 = 237331.50
Javascript 45 277 732 1464 x 1.48 = 2166.72
CSS 14 293 129 1433 x 1.00 = 1433.00
HTML 23 87 19 427 x 1.90 = 811.30
XSLT 1 8 3 99 x 1.90 = 188.10
Bourne Shell 1 4 15 22 x 3.81 = 83.82
----------------------------------------------------------------------------
SUM: 445 9302 17373 71254 x 3.40 = 242014.44
----------------------------------------------------------------------------

DokuWiki también es el software sobre el que está corriendo Pi.LasTr.us el wiki en el que preparo documentación.

Es, sin dudas, un proyecto representativo de éxito en Software Libre.

Feliz cumpleaños DokuWiki!



Wikipedia:  CSS  HTML  PHP  XSLT  

June 23, 2007

Rodolfo Pilas
pilas
Rodolfo Pilas
» ZZ, que grande!

vim De la misma forma que me emociono cuando logro algo que a primera vista era difícil, también lo hago cuando descubro una simpleza de la tapa del libro. Y este fue el caso de ZZ del vim… así nomás: zeta mayúscula seguida de zeta mayúscula tiene la particularidad de guardar y salir en vim.

Toda una vida escribiendo “escape dos puntos equis” (como gran cosa, contra los “escape dos puntos doble ve cu“) y era tan simple como ZZ.

Algun día tendré un uso avanzado de vim, como el amigo Gonzalo Saavedra, mientras tanto, me emociono al descubrir como  hacer mucho mas simple lo que hago varias veces al día. Y voy a poner empeño en leer la famosa Cartilla de VI, con los comandos del editor VI (el estandar en UNIX), realizada por los socios del UYLUG Andres Tarallo y Enrique Verdes.



Wikipedia:  UYLUG  

June 13, 2007

Rodolfo Pilas
pilas
Rodolfo Pilas
» Encriptando sistemas de archivos: EncFS

Crypto KeyAnteriormente solía utilizar cfs (Cryptographic File System) para tener datos encriptados en mi disco, pero una de las grandes contras que siempre le encontré fue la necesidad de disponer un servidor nfs (Network File System) para poder montar el sistema de archivos encriptado.

EncFS presenta una solución a nivel de usuario, utilizando fuse (Filesystem in Userspace), que vino a estar en el Kernel 2.6.14 en adelante, lo que lo hace muy simple de instalar y usar, disponible en cualquier distribución moderna de Linux.


EncFS encripta todo el contenido que se coloque en un determinado directorio, que solo puede ser accedido cuando es montado mediante una frase de acceso. Una de las ventajas de tener un sistema encriptado en un directorio es contar con todo el espacio libre en la partición para colocar datos (encriptados) dentro. Además los datos son encriptados/desencriptados en tiempo real, es decir que si por algun motivo el computador se apaga abrutamente, los datos que han sido guardados ya quedan encriptados. Y todo esto es transparente para el usuario.

Instalación

Para instalar EncFS en un sistema Debian, se usa con:

aptitude install encfs fuse-utils libfuse2

Fuse va a ser cargado como módulo, asi que si algo no funciona, se puede revisar que el módulo esté activo con el comando lsmod.

Usando EncFS

Se debe crear un directorio que tendrá los archivos encriptados, o el directorio de datos encriptados, o como quiera llamarlo:

mkdir ~/.crypt-dir

y se sugiere un directorio vacío, para que sea el punto de montaje del directorio encriptado (puede usar cualquier punto de montaje):

mkdir ~/encriptado

Luego utilizamos EncFS para montar el directorio ~/.crypt-dir en el punto de montaje.

encfs ~/.crypt-dir ~/encriptado

Es necesario pasarle al encfs el path completo de los directorios (si no lo hace, la ayuda contextual se lo indicará).

Obviamente EncFS se dará cuenta que es la primera vez que utiliza el directorio encriptado y le pedira los datos de encriptación:

Creando nuevo volumen cifrado.
Por favor, seleccione una de las siguientes opciones:
introduzca "x" para modo de configuración para expertos,
introduzca "p" para el modo preconfigurado paranoico,
cualquier otra cosa o una línea vacía seleccionarán el modo estándar.
?>

Para no hacernos problema seleccionamos p y usamos el modo pre-configurado, asi le pide la clave:

A continuación se le pedirá una contraseña para el sistema de ficheros.
Debe recordar esta contraseña, ya que no existe absolutamente ningún mecanismo
de recuperación. No obstante, la contraseña puede cambiarse después con encfsctl.
Nueva contraseña EncFS:

… y ya está! Ahora es posible usar el comando mount para como está montado, df para ver el espacio libre y, por supuesto cp o mv para copiar cosas dentro del directorio ~/encriptado, con el que se trabaja normalmente, igual que con cualquier otro directorio común.

A medida que tenga archivos en ~/encriptado, sus datos estarán realmente en ~/.crypt-dir donde siempre permanecen encriptados (como dije en tiempo real).

Para desmontar simplemente utilziar el comando:

fusermount -u ~/encriptado

Y es así de fácil.

Se pueden tener distintos directorios con datos encriptados para distintos usos, se puede respaldar los datos encriptados, bajarlos a otro computador y volverlos a montar con la correspondiente frase de acceso, etc.

Una de las pruebas que hice fue montar un directorio encriptado como rodolfo y luego, desde otra consola, tratar de accederlo como root y, como debía ser, ni root ni nadie más que rodolfo puede acceder.

Referencia
Probé EncFS y obtuve los datos aquí descriptos siguiendo el documento del artículo publicado en Viva O Linux por Brivaldo Alves da Silva Jr.

Aclaracion
Soy conciente que algunos lectores tendrán que hacer el esfuerzo intelectual de s/encriptado/cifrado/g, pero suelo expresarme así de mal.

June 1, 2007

Rodolfo Pilas
pilas
Rodolfo Pilas
» Tutoriales DokuWiki

DokuWiki es, luego de probar varios, mi wiki preferido, de hecho, mi sitio Pi.LasTr.Us está realizado utilizando DokuWiki.

Ahora he encontrado varios videos tutoriales, que si bien están en inglés, son muy visuales y claros a la hora de aprender las cosas báscias de DokuWiki:

Generalidades:

Crear nuevas páginas:

Agregar imágenes:

Enlaces internos y externos.

No he encontrado quién es el autor de estos videos, para darle el correspondiente crédito, así que posiblemente pondré un comentario al respecto.

May 19, 2007

Rodolfo Pilas
pilas
Rodolfo Pilas
» Mi sabros.us

sabros.usHace ya tiempo habí­a querido instalar sabros.us pero se día de patadas con el Cherokee con el que servía mis páginas web, pero el otro día decidí­ volver a probarlo y me encantó el sabros.us, asi que ahora tengo MI SABROS.US.


Como dice su sitio web: sabros.us es un sistema para organizar los bookmarks o enlaces favoritos que insertas en tu sitio web. Al igual que con el servicio del.icio.us puedes gestionar bookmarks, pero a través de páginas alojadas en otro servidor, con sabros.us haces lo mismo pero las páginas están en tu propio sitio web. El proyecto sabros.us es ‘opensource’ (puedes utilizar y modificar el código libremente) y funciona con PHP y MySQL. El proyecto fue iniciado por Estanislao Vizcarra y por Pedro Santana en 2005.

SopaSabrosa

También existe un sitio llamado SopaSabrosa, que semejante a lo que es un Planeta a un blog, Sopasabrosa junta los nuevos enlaces de muchos sitios sabros.us.



Wikipedia:  PHP  

March 5, 2007

Rodolfo Pilas
pilas
Rodolfo Pilas
» De apt-get hacia aptitude

DebianYo soy de los usuarios que siempre utilizaron el comando apt-get para instalar sus aplicaciones en Debian. Pero recientemente me han insistido mucho en usar aptitude, asi que decidí hacer una pequeña investigación.

En el sitio de Badopi me encuentro un artículo del 2004 que dice:

Aptitude tiene diferencias y similitudes con apt-get. Ambos hacen uso de apt, pero aptitude tiene mejor reputación que apt-get en actualizaciones complicadas, en que algunos paquetes entren en conflicto, o se desee actualizar tan sólo una parte del sistema, para que no queden paquetes con sus dependencias rotas. No es sólo que el algoritmo de actualización pueda ser mejor o no, sino que con aptitude se trabaja de otra manera, marcando primero las acciones a realizar, y luego haciendo la actualización, lo que permite un gran control.


Un ejemplo muy claro de este manejo avanzado de aptitude frente a apt-get, lo encontré en el sitio de Ubuntu Linux Resources en un artículo que los compara. Alli se muestra como al desinstalar kword con apt-get se desintala solo este paquete, mientras que con aptitude, al desintalar kword, se desintalan los paquetes kspread kword-data libwv2-1c2 también.

También leo en el foro de LinuxQuestions.org un post al respecto, donde se comenta que aptitude deja un log de lo que hace en /var/log/aptitude, lo cual es muy bueno a la hora de revisar qué se ha instalado.

Así que de ahora en adelante tendré aptitude por comando, y si algun usuario experiente de aptitude quiere dejar un comentario, será bienvenido.