Devolviendo un servidor de forma segura

11 December 2010 at 21:19

Esta última semana he estado cambiando de servidor. Se acercaba la hora de renovar el servidor dedicado donde, por ejemplo, se encuentra alojado este blog y en la web del proveedor (OVH en este caso) ofrecían un servidor dedicado con mayores prestaciones y un 25% más barato. Así que contraté el nuevo servidor y moví los servicios.

Entonces me planteé la pregunta de como podía asegurarme de que el próximo “inquilino” del servidor viejo no pudiera recuperar ninguno de mis ficheros. Ya conocía las utilidades wipe o shred pero me faltaba encontrar una forma de poder ejecutarlas borrando todo el disco duro. Por suerte, los servidores dedicados de OVH disponen del “modo rescate” que arranca una mini-distribución por red en nuestro servidor a la que nos podremos conectar por SSH tras recibir el correo con la contraseña de root y que, afortunadamente, dispone de shred.

Así que, los pasos para devolver el servidor de forma segura serían:

  1. En el manager de OVH vamos a la sección ‘Servicios’ y vamos a ‘Netboot’
  2. De los netboot disponibles seleccionaremos ‘rescue-pro
  3. Ahora reiniciaremos el servidor para que arranque la distribución de rescate. Una vez haya arrancado, recibiremos un mail con la contraseña del usuario root.
  4. Ya sólo nos queda conectarnos por SSH al servidor usando la contraseña recibida y ejecutar 
    root@rescue:~# nohup shred -fvz /dev/sda&

Ese comando sobrescribirá todo el disco duro 25 veces (valor por defecto) con varios patrones y finalmente lo sobrescribirá con ceros para, según la página de man, ocultar el hecho de que se ha ejecutado. Dependiendo del tamaño del disco, el borrado seguro puede tardar bastantes horas, incluso días. Por eso aconsejo ejecutarlo con nohup y ponerlo en background. Así podremos desconectarnos y el proceso seguirá ejecutándose. Siempre podremos verificar el progreso leyendo el fichero nohup.out.

Una vez haya terminado, reiniciamos el servidor y ya estará listo para regresar a manos del proveedor sin que debamos temer por nuestros datos.

Como probar SMTP AUTH mediante CRAM-MD5

9 December 2010 at 23:38
Comments Off

En artículos anteriores ya he hecho referencia al excelente artículo de Jaume Sabater sobre la instalación y configuración de un servidor de correo con Postfix. En su artículo hace el razonamiento de que como la autenticación se va a realizar sobre un canal cifrado no hace falta habilitar los métodos de autenticación CRAM-MD5 o DIGEST-MD5, que permiten hacer login sin transmitir la contraseña en plano (como pasa con los métodos PLAIN o LOGIN). Y no le falta razon, pero yo he tomado un camino intermedio: en el servidor SMTP por el puerto 587 (submission) están permitidos todos los métodos de autenticación ya que se fuerza el cifrado de la conexión; pero por el 25 no permito los métodos de autenticación PLAIN o LOGIN para evitar la tentación de hacer login con uno de esos métodos mediante un canal inseguro, pero sí permito CRAM-MD5 o DIGEST-MD5.

Para conseguir este efecto, nos aseguraremos que el siguiente parametro este definido en el fichero /etc/postfix/main.cf
smtpd_sasl_security_options = noplaintext, noanonymous

Con esto conseguiremos que por defecto no se permita ni PLAIN ni LOGIN. Para habilitarlos por el puerto de submission, modificaremos la definición del servicio submission en el fichero /etc/postfix/master.cf añadiendo la línea:
-o smtpd_sasl_security_options=noanonymous

El problema viene a la hora de comprobar que podemos hacer login mediante, por ejemplo, CRAM-MD5 ya que el cliente debe calcular el HMAC-MD5 de un string generado por el servidor, siendo la clave del algoritmo la contraseña del usuario, para realizar la autenticación sin que el usuario deba revelar su contraseña. Pero no es nada que unas cuantas lineas de Perl no puedan resolver:

#!/usr/bin/perl
use MIME::Base64
use Digest::HMAC_MD5 qw(hmac_md5_hex);
print encode_base64($ARGV[1] . " " . hmac_md5_hex(decode_base64($ARGV[0]), $ARGV[2]));

Los argumentos a pasarle son:

  1. el challenge generado por el servidor
  2. el nombre de usuario
  3. la contraseña

Pero nada mejor que un ejemplo para ver como funciona.

S: 220 mail.example.com ESMTP Postfix (Debian/GNU)
C: ehlo client.example.com
S: 250-mail.example.com
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-ETRN
S: 250-STARTTLS
S: 250-AUTH DIGEST-MD5 NTLM CRAM-MD5
S: 250-AUTH=DIGEST-MD5 NTLM CRAM-MD5
S: 250-ENHANCEDSTATUSCODES
S: 250-8BITMIME
S: 250 DSN
C: AUTH CRAM-MD5
S: 334 PDQwMTc3NTY4MTAuODMzNzFAb3ZoMjAxMC5sbHVsbC5uZXQ+

Al indicarle que queremos autenticarnos mediante CRAM-MD5 el servidor nos proporciona el challenge que pasaremos al script en Perl junto con el nombre de usuario y la contraseña en otra consola.

$ ./cram-md5.pl PDQwMTc3NTY4MTAuODMzNzFAb3ZoMjAxMC5sbHVsbC5uZXQ+ user password
dXNlciA3MTUxODVjYTRkMzMxOGRkMzYxZTg2NDg4M2ZkNmE3NA==

Para autenticarnos, le enviaremos el string obtenido al servidor.

C: dXNlciA3MTUxODVjYTRkMzMxOGRkMzYxZTg2NDg4M2ZkNmE3NA==
S: 235 2.7.0 Authentication successful
C: quit
S: 221 2.0.0 Bye

(‘$’ denota el promt de la shell, ‘S’ una línea recibida del servidor y ‘C’ una línea enviada por el cliente)

Cambiar la contraseña de Google en Android

7 November 2010 at 14:06

Hoy me ha dado por cambiar la contraseña de mi cuenta en Google y, como era de esperar, mi Nexus One ha dejado de sincronizar los contactos y emails, pero no me esperaba que fuera tan complicado cambiarle la contraseña. Aunque debo reconocer que seguramente la culpa sea mía :-P

Cuando la sincronización ha fallado, en la barra de notificaciones de Android (la barra arriba del todo) ha aparecido el correspondiente aviso. Al hacerle click me ha abierto un dialogo preguntándome por un captcha, que por su tamaño resulta muy complicado leer y con el teclado en la pantalla resulta muy sencillo equivocarse al teclear. Después de contestar el captcha debía introducir la nueva contraseña, pero no conseguía pasar del captcha.

Tras buscar un poco por la ayuda de GMail, he encontrado que si te equivocabas en repetidas ocasiones al introducir el captcha, este se bloquearía. Por el tamaño que tiene, estoy convencido que en mis primeros intentos debo haberlo bloqueado. Por suerte los captchas se pueden desbloquear desde https://www.google.com/accounts/UnlockCaptcha, y tras hacerlo he podido poner la nueva contraseña en el móvil sin ningún problema.

Así que, ya sabéis que hacer si os encontráis en la misma situación.

New York, New York – VI

17 September 2010 at 17:03

Después de la sesión de fotografía nocturna del skyline del bajo Manhattan desde Brooklyn Heights, el miércoles por la manana decidimos pasear un poco más por Brooklyn, por el barrio de Williansburg. Pero antes nos dimos una vuelta por Central Park para visitar la estatua de “Alicia en el país de las maravillas”, que durante un rato quedó sepultada por una orda de niñas uniformadas haciendo imposible fotografiarla, así que nos tocó esperar. Ya que estabamos allí también fuimos a ver el Great Loan, que es la extensión más grande de cesped del parque.

Por la tarde,  tras pasar a recoger el tripode en el apartamento y aprovechando que la precisión era de tiempo despejado, decidimos subir a la última planta del Rockefeler Center, también conocido como “Top of the Rock”. Además de las espectaculares vistas resulta increíble la velocidad a la que se mueven los ascensores: suben las 66 plantas del edificio en unos 20 segundos.

Ayer jueves empezamos el día por la zona más occidental de Central Park: Strawberry Fields, zona en honor a John Lennon que queda justo al lado del edificio en cuyo portal fué asesinado. Luego fuimos bajando hasta regresar al Rockefeler Center, en concreto a la tienda de la NBC donde compré varias camisetas, una de “El gran Lebowski”, otra de “House” y la tercera del “Doctor Who”. Como penitencia tras el arrebato consumista visitamos la New York Public Library donde pudimos disfrutar de las enormes salas de lectura.

Como habíamos quedado con el dueño del apartamento que lo revisaría y nos devolvería la fianza el jueves, regresamos al aplartemento y nada más entrar empezó a llover a cantaros y al poner la tele en marcha nos enteramos que Brooklyn y Queens estaban en alerta de tornado. Por la tele han enseñaron algunas fotografías de árboles caídos pero no parece que haya habido grandes desperfectos.

Tras la revisión, como ya había amainado, decidimos ir a dar el penúltimo paseo por Manhattan y cenar de, como no, una hamburguesa.

Y hoy por la tarde/noche, el regreso a España :-(

New York, New York – V

14 September 2010 at 23:28
Comments Off

Después de cuatro días sin actualizar el post, os resumo lo que hemos estado visitando.

El viernes hicimos nuestro primer acercamiento a la estatua de la libertad usando el ferry gratuito a Staten Island de ida y vuelta, que por lo que cuesta va bién para hacerse una idea de si vale la pena pagar por el ferry a Liberty Island ($12). De Staten Island apenas visitamos la estación marítima :-P

De ahí fuimos a Coney Island donde comimos de un perrito en el paseo marítimo y pisamos la arena del otro lado del Atlántico. A parte de las atracciones al lado del mar, no hay mucha cosa que ver.

El sabado, día de la conmemoración del 9/11, visitamos la isla-museo de Elis Island, pasando brevemente por Liberty Island, momento que arovechamos para hacer fotos más cercanas a la estatua de la libertad. El museo está bastante bién, cada 30min hay una pelicula de unos 20 minutos de duración que te explica el proceso que seguían los inmigrantes al llegar a EEUU. Adicionalmente, más o memos cada hora, hay una visita guiada gratuita por el museo. Si se quiere se puede contratar una audio guía pero no creo que valga la pena.

El domingo visitamos la zona del Rockefeler Plaza por la mañana y la zona de la 5a avenida por la tarde, aunque nos llovió casi todo el tiempo. Fue un día bastante desaprovechado.

Y ayer lunes estuvimos todo el día en el American Museum of Natural History ya que las previones eran de lluvia. Es una visita muy recomendable, sobre todo la planta 4, donde están los fósiles de los dinosaurios. Está bastante bien explicado, siendo una visita muy didáctica.

Hoy hemos estado por Queens, donde no hay mucho (por no decir nada) que ver. Ahora salimos para los Brooklyn Heights para hacer fotos nocturnas del Lower Manhattan.

New York, New York – IV (Little Italy & China Town)

10 September 2010 at 02:47
Comments Off

Ayer miercoles visitamos la zona más oriental del bajo Manhattan, los pintotescos barrios de Little Italy y China Town.

Los dos barrios, más el segundo que el primero, contrastan con las zonas que habíamos estado visitando hasta ahora. Encontrar un cartel escrito en inglés o gente con facciones no orientales en China Town era anecdótico. Me parrecía estar en un avance de lo que será mi cercano viaje a Bangkog.

En Little Italy abundan los restaurantes, italianos por supueso, y en China Town tiendas de compra-venta de joyas y supermercados de productos orintales.

Para comer volvimos a la zona financiera, donde pasamos la tarde buscando dos librerías ya desaparecidas pero que todavía aparecian en la guía (editada hace 2 años). Para resarcirnos de tan infructuosa búsqueda hicimos una cervecita con los ejecutivos de wall street que justo habían terminado su jornada laboral.

New York, New York – III (Flatiron,Union Square & Soho)

8 September 2010 at 18:54

El día de ayer continuamos callejeando por la zona baja de Manhattan, visitando primero el famoso edificio Flatiron. De ahí, fuimos bajando visitando por el camino algunas tiendas de libros como “Books of Wonder” o “Strand Books“. Esta última, era un laberinto de estanterías de unos 3m de altura repletas de libros. También entramos a la tienda de cómics “Forbidden Planet“.

Después de comer de unos noodles visitamos el Soho, donde el paisaje urbano cambia bastante. Aproveché para comprar algunas camisetas que ya os mostraré.

Y hasta aquí el resumen de ayer. Perdonad los posts tan escuetos pero aprovecho para escribirlos cuando nos paramos en algún Starbucks o similar y no tengo mucho tiempo.

Saludos desde NY.

New York, New York – II

7 September 2010 at 00:50
Comments Off

Vuelvo a tener wifi asi que os puedo contar el día de hoy: lower Manhattan.

Hemos empezado tomando el metro hasta el puente de Brooklyn. Vaya lío que tienen armado en el metro. Debes hacer un master para poder entender como funciona y un doctorado para poder encontrar tu anden.

Hemos pasado las primeras horas del día recorriendo el puente y la riviera cercana al puente en el lado de Brooklyn, haciendo fotos a diestro y siniestro (cuando pueda intentaré colgar alguna).

Una vez de vuelta en Manhattan, nos hemos dirigido hacia la zona cero. Visto el espacio que ha quedado vacío, no soy capaz de imaginarme lo que debía ser contemplar las torres gemelas desde abajo.

Hemos comido en el World Financial Center Plaza y de ahi, por Battery Park, hemos llegado al final de Broadway donde hemos entrado al barrio financiero, cuya calle más famosa es  Wall Street.

Y ahora estamos en un Borders, descansando un poco y aprovechando para poderos al día desde mi Nexus One.

Hasta la próxima.

Read the rest of this entry »

New York, New York – I

6 September 2010 at 22:05
Comments Off

Ayer fue nuestro primer día en suelo americano. Dimos una vuelta a la ciudad para, entre otras cosas, aprender a orientarnos en la ciudad.

Después de desayunar en el típico Diners, fuimos caminando desde el apartamento, 61 con la 1a, hasta Central Park. Paseamos un poco por el parque hasta que salimos en la West Central Park con la 80. Por allí tomamos un café y fuimos bajando por el Riverside Park y Broadway hasta el Times Warner Center, donde comimos un poco.

Tras haber recuperado energías continuamos por Broadway hasta llegar a Times Square y tras el, por otra parte comprensible, asombro seguimos hasta alcanzar la calle 34 cuando decidimos volver para casa.

En el camino de regreso pasamos cerca del Empire State Building y atravesamos la Grand Central Terminal.

En cuanto pueda os seguiré contando.

Si entráis en el post podéis ver el mapa del recorrido.

Read the rest of this entry »

El porqué de las instancias “spot” de Amazon EC2

10 August 2010 at 19:30
Comments Off

Amazon Web Services

Desde que las conocí, las instancias spot de Amazon EC2 siempre me habían llamado la atención desde la perspectiva económica. Aunque me parecía una forma interesante de sacar provecho económico a un exceso de capacidad de la plataforma EC2 en horas valle, que de otra forma sería desperdiciada, no acababa de entender sus ventajas frente a consolidar los servidores virtuales en un menor número de hosts y apagar los ociosos para ahorrar en consumo eléctrico. Siempre había supuesto, como gran parte de la industria, que el consumo eléctrico era el principal gasto en un datacenter.

No lo entendía hasta que hace unos días tuve la oportunidad de ver la presentación “Datacenter Infrastructure Innovation” (trasparencias) que James Hamilton dió durante el Velocity 2010. En su presentación realiza un estudio de los costes mensuales de un datacenter, mensualizando el coste de los servidores y de las infraestructuras de distribución y refrigeración a lo largo de sus periodos de amortización (3 y 10 años, respectivamente). De esta manera, puede comparar esos gastos con el consumo eléctrico. Y resulta que el que yo suponía era el principal gasto realmente es el tercero, siendo los dos primeros el hardware de los servidores y las infraestructuras, en ese orden.

Como bien explica James, consolidando y apagando hosts se ahorraría en consumo eléctrico pero, al no estar sacando ningún provecho económico al servidor físico ni a la parte proporcional de las infraestructuras de distribución y refrigeración, realmente se está perdiendo dinero. Al contrario de lo que ocurre con el consumo eléctrico, la amortización de las infraestructuras no es algo que puedas ahorrarte.

Pero si tienes exceso de capacidad y apagar los servidores supone realmente un gasto, ¿qué se puede hacer? Ahí es donde encajan las instancias spot. Permiten sacarle provecho al exceso de capacidad que se produce en las horas valle, a un precio que resulta atractivo a los clientes. Mientras escribo este artículo, el precio de las instancias spot es un ~60% más barato que las on-demand. Eso sí, las aplicaciones que corran en este tipo de instancias deben estar preparadas para los apagados abruptos que se producen en cuanto la demanda de instancias “normales” aumenta.

Instancias spot, ahorro económico para los clientes y una forma de aprovechar la capacidad sobrante para Amazon.