Tips: recibir mensajes SMS online
Desde hace tiempo, la mayoría de los sites requieren una dirección de email válida para poder registrar un usuario, a la cual envían un código de confirmación para terminar la validación. Si bien esto sigue siendo igual en la mayoría de los casos, cada vez más sitios empiezan a requerir algo más... un número de celular. Estos sites envían al número ingresado un código de confirmación, el cual hay que ingresar para validar al usuario.
En diferentes sites el número de celular es opcional y permite autenticación de dos vías, lo cual refuerza el sistema de autenticación, pero en otros es mandatorio colocar el número.

Los paranoicos como yo (o los usuarios que todavía desean poseer un mínimo de privacidad), no deseamos colocar el condenado número para que después la página pueda, como mínimo, enviarnos SPAM. Por ello me puse a buscar alguna alternativa que me permita recibir mensajes en un número online. Así fue como llegué al excelente artículo How to receive SMS online to bypass SMS verification? 
El artículo resume cuáles páginas permiten la recepción de SMSs online. Las mismas proveen una serie de números, controlados por ellos, los cuales están aptos para recibir SMSs internacionales. Cuando se recibe un mensaje, el mismo es agregado en la web para que pueda ser leído.
Las alternativas más simples de utilizar (digo simples porque no necesitan creación de usuario) son Receive-SMS-Online y ReceiveSMSOnline. De estas, la que a mi me funcionó es la primera, utilizando los números de Noruega. En el resto de los números no pude recibir mensajes. La ventaja adicional de la primera es que separa los SMS recibidos en cada número en páginas diferentes.
La tercer página citada en el artículo es Pinger, la cual pintaba bien en su descripción, pero tampoco pude recibir mensajes. La cuarta requiere justamente lo que no quería originalmente, un número de celular. No se por qué el autor colocó ésta en la lista, siendo que no es la idea del artículo. La última citada es para recibir faxes y mensajes de voz, ya alejandose de los SMS, así que no la probé.

Adicionalmente a las del articulo, encontré Receive-SMS, similar a ReceiveSMSOnline en la cual se muestran los mensajes de todos los números en una misma págna.

Estas páginas son de mucha utilidad, pero no siempre servirán, dado que los sites no son tontos (bueno, no todos) y muchos controlan los números de cel que ya validaron códigos y no permiten que sean utilizados nuevamente.

Me pareció interesante listar estas páginas porque, si bien existen cientos de páginas para el envío de mensajes online, no existen muchas para recibirlos.
Encriptar directorios con eCryptfs
Cuando uno transporta información sensible en medios removibles, o bien necesita resguardar los datos contenidos en su máquina, debe recurrir a algún sistema de encripción. Hasta hace un tiempo utilizaba TrueCrypt para realizar esta tarea, el cual es excelente, pero me interesé por probar algo más estándar y libre. Así fue como llegué a eCryptfs, un sistema que permite encriptar fácilmente directorios, que es lo que estaba necesitando. Además eCryptfs es POSIX-compliant, libre y se encuentra integrado en el kernel de Linux desde hace tiempo.

En este post les mostraré los pasos necesarios para instalar y utilizar eCryptfs. Mi configuración inicial se basó en el artículo How To Encrypt Directories/Partitions With eCryptfs On Debian Squeeze.

En debian y derivados existe un paquete de utilidades para utilizar ecryptfs, el cual se instala ejecutando:
  # apt-get install ecryptfs-utils
Otras distribuciones tienen paquetes similares, sólo hay que buscar el equivalente.

Encryptar un directorio es tan simple como montarlo utilizando el tipo ecryptfs:
  # mount -t ecryptfs /data/crypt /data/crypt

Cada vez que se monte el directorio, ecrypfs consultará cuáles parámetros utilizar:
1- Tipo de clave:
  1) passphrase
  2) tspi
  eCryptfs permite utilizar tanto passphrase como TSPI (TCG Service Provider Interface).
2- Algoritmo para cifrar:
  1) aes: blocksize = 16; min keysize = 16; max keysize = 32
  2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
  3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
  4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
  5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
  6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
3- Tamaño en bytes de la clave a utilizar:
  1) 16
  2) 32
  3) 24
4- Decidir si se permitirá utilizar archivos sin encriptar dentro del directorio (plaintext passthrough). En la gran mayoría de los casos se elige que no, a menos que exista alguna razón muy específica para no hacerlo.
5- Decidir si encriptar los nombre de archivos (filename encryption). Si no se desea que se pueda saber ni siquiera el nombre de los archivos contenidos en el directorio, debe seleccionarse sí en esta opción.
6- En el último paso se genera un "Filename Encryption Key (FNEK) Signature", el cual para un uso default (y avanzado también?) no es necesario cambiar.

Cuando se monta el directorio por primera vez, el sistema indicará que no encuentra el signature en la máquina y preguntará si desean almacenarlo. Si no se desea que cada vez que se monte el directorio el sistema pregunte esto, elegir que se almacene el signature.

Una vez montado el directorio, los archivos se acceden de la misma manera que cualquier otro archivo del filesystem. Si se desmonta, los archivos se ven con nombres codificados y no se pueden acceder.


eCryptfs también provee la posibilidad de automontar directorios o particiones editando fstab. Para hacerlo debe colocarse la passphrase en un archivo, el cual se utiliza como parámetro en las opciones de montaje. Algo interesante es que de esta forma se puede copiar el archivo con la clave en un pen drive, con lo cual se podrá acceder a los archivos utilizando el pen-drive. La forma de hacerlo está muy bien explicada en el HowTo de referencia.

Algo a destacar es que este tipo de encripción no protege completamente los datos. Como se observa en la imagen de arriba, si bien los nombres de los archivos no se ven, si se distingue entre directorios y archivos, y los atributos no cambian (fecha de creación, owner, etc). El simple hecho de contar con esta información puede ser suficiente en algunos casos.