Revisión de mi estrategia de backup

Desde hace varios años tengo implementado un sistema de backup automático para mis datos importantes. Pero hechos recientes me han empujado a revisar mi estrategia, encontrando dos puntos a tener muy en cuenta:

  • Mi sistema de backup tenía importantes carencias
  • Mis necesidades actuales han cambiado

Nuevos tiempos requieren nuevos planteamientos, así que aproveché la caída de uno de los discos del NAS para rediseñar e implementar un nuevo sistema de backup de datos.

Como consejo para cualquiera que esté buscando una mejor manera de salvaguardar sus datos, diré que es fundamental elaborar una lista personal de necesidades, ya que las soluciones van a depender de ellas. Éstas son las mías:

  • Tiene que ser automático. Ya tengo bastantes preocupaciones en mi cabeza como para sumar una mas. Si tengo que acordarme de conectar un disco duro externo cada cierto tiempo para volcar mis datos, no lo haré nunca.
  • Tiene que estar redundado. No quiero tener una sola copia, quiero al menos dos en diferentes lugares. Las probabilidades de que, llegado el momento de necesidad, acceda a la primera copia y haya algún problema son altas. Suelo estar gafado en esto.
  • Me tiene que proteger de desastres físicos como sobretensión, robo, incendio, o inundación. Por lo tanto, es fundamental tener una copia fuera de casa, en lugar remoto.
  • Me tiene que proteger de malware/ransomware, así como de corrupciones esporádicas de datos debido a bugs en las aplicaciones que manejan los archivos.
  • Me tiene que proteger de mis propias torpezas. Puedo llegar a borrar o alterar un archivo de forma accidental y sin darme cuenta. Es más, no tengo por qué descubrir el problema al momento, pueden pasar semanas o meses hasta que vea que ha pasado algo, cuando quiera volver a abrir un archivo y vea que no existe o está corrupto.

Solución Antigua: Centralizada, basada en Historial de Archivos de Windows + CloudBerry Backup

En mi ecosistema, las máquinas que contienen datos susceptibles de necesitar copia de seguridad son todas Windows 10. En el pasado tuve muy buenas experiencias con Time Machine de OS X, así que en su momento diseñé la solución confiando en que el intento de clon de Microsoft, su Historial de Archivos, sería igual de bueno. La solución que describiré ahora es la que he estado usando durante unos 3 ó 4 años, y que sólo hace unas pocas semanas descubrí cuán equivocado estaba con ella.

La solución

Se trataba de una solución centralizada en el NAS, y con una segunda copia de seguridad en un servicio de almacenamiento remoto.

¿Por qué centralizada en el NAS? Por aquel entonces mi conexión a Internet era asimétrica con unos 5 Mbps de subida, por lo que no quería tener que dejar los clientes encendidos a la espera de que completaran la copia de seguridad al almacenamiento remoto. Volcar una tarjeta de 20 GB con fotos podía suponer una carga de 9 horas al almacenamiento remoto, por lo que mi estrategia era que los clientes hicieran una copia local al NAS, mucho más rápida, y sería el NAS quien se encargue de forma centralizada de agrupar las copias de todas las máquinas y subirlas al almacenamiento remoto.

Diagrama de solución antigua: copias centralizadas en el NAS, basado en Windows File History + CloudBerry Backup

Cada cliente hacía una copia con Historial de Archivos a un recurso compartido en el NAS por Samba, y más tarde el NAS sincronizaría la copia de forma centralizada con BackBlaze B2 usando CloudBerry Backup para Linux. Todo sonaba bien.

Internet, donde el NAS almacena la segunda copia de seguridad

Los problemas

Sin embargo, recientemente he descubierto que Historial de Archivos no es fiable y tiene múltiples carencias. Para mi caso de uso, éstas son las más importantes:

  • Fallos silenciosos: no avisa de ninguna manera de que la copia ha ido mal, y desde la propia herramienta se indica la copia como completa aunque hayan ocurrido errores. Hay que mirar a mano en el Visor de Sucesos, mensaje por mensaje.
  • No copia archivos que incluyan ciertos caracteres, que sí son admitidos por el filesystem de Windows.
  • No copia archivos con rutas que superen los 255 caracteres en destino, y como añade timestamp a los nombres de archivo, aumenta el riesgo. El timestamp añade la nada despreciable cifra de 26 caracteres al nombre de archivo.
  • No hay forma de que reintente los archivos fallidos: re-run, disable/enable, reconfigure no funcionan. Una vez que un archivo falla, no lo vuelve a intentar nunca más.
  • La única manera de reintentar es destruir toda la copia y hacerla de cero, tardando horas, dejando los datos desprotegidos todo ese tiempo, y causando duplicados en el almacenamiento remoto debido al timestamp en los nombres de archivo.
  • No hace un almacenamiento inteligente de versiones: las opciones se limitan a retener todas las copias en los últimos X meses, pero sin tener opción a disponer de mayor granularidad para los días más cercanos, o conservar una copia al mes para los últimos meses o años.

En mi caso concreto, descubrí que faltaban en torno a 12.000 archivos en mi copia de seguridad, estando afectadas todas las fotografías tomadas entre los años 2010 y 2014, entre otras cosas, y que nunca habían tenido realmente copia de seguridad. Si hubiera ocurrido un fallo en mi almacenamiento principal, hubiera perdido 5 años de fotografías.

Conclusiones

Al descubrir estos problemas, especialmente que había estado sufriendo durante años una sensación de falsa seguridad al pensar que tenía copia de ciertos archivos que realmente no tenían copia, concluí lo siguiente:

  • Debo verificar las copias de seguridad de una manera más exhaustiva. No sólo debo comprobar que la copia se pueda restaurar, también debo comparar el contenido de la copia contra el origen para verificar que los datos son correctos. Al menos debería comprobar nombres de archivo, tamaños, y cierta verificación inteligente en las fechas de modificación. Idealmente también podría calcular hashes del contenido y comparar dichos hashes para verificar que no existe corrupción de datos.
  • Debo diseñar una nueva solución técnica de copias de seguridad, adaptada a mis necesidades actuales y con herramientas más fiables.

Solución Nueva: Descentralizada, basada en Duplicati

Uno de los problemas de la solución anterior es que todo se basaba en una herramienta fallida: Historial de Archivos de Windows. Necesitaba otras herramientas. Una primera aproximación era pasar a utilizar CloudBerry Backup directamente en los clientes. Sin embargo, debido al coste de licencias ($50 por máquina) descarté esta opción, ya que no es lo mismo pagar una única licencia para el NAS y centralizarlo todo ahí, que pagar N licencias, una para cada cliente.

Otro de los problemas es que, al ser una solución centralizada, el NAS se convierte en punto único de fallo (single point of failure). Si el NAS cae, tanto la copia del NAS como la copia remota dejarían de funcionar. Toda la solución se basa en que una máquina concreta funcione correctamente todo el tiempo. Pensé que sería conveniente evitar eso.

La solución

Actualmente dispongo de una conexión de fibra simétrica con 600 Mbps de subida, por lo que la necesidad inicial de centralizar las copias en el NAS desaparece. Ahora mismo, volcar una tarjeta con 20 GB de fotos suponen unos 5 minutos de tiempo de carga al almacenamiento remoto, frente a las 9 horas que necesitaba hace unos pocos años. Es perfectamente asumible que ahora sean los propios clientes los encargados de sincronizarse con el almacenamiento remoto directamente, liberando al NAS de hacer esta tarea.

Esto además tiene otro importante beneficio, y es que cada cliente mantendrá dos copias de seguridad independientes. Si una de ellas se vuelve corrupta por la razón que sea, la otra no tiene por qué estarlo también. En el antiguo esquema, si la copia del NAS se volvía corrupta, lo que se subía al almacenamiento remoto también lo iba a estar, ya que era una «copia de la copia».

Sobre el software, tras investigar diversas herramientas que soportaran tanto copias por red como copias a servicios de almacenamiento remoto como Amazon S3 o BackBlaze B2, y que tuvieran un coste asumible, me decanté por Duplicati.

Duplicati es un proyecto GNU/GPL y multiplataforma, que proporciona una solución de copias de seguridad fiable, robusta, con soporte para múltiples destinos, incluyendo los servicios de terceros más populares. Encontré muy buenas referencias de él, hay mucha gente contribuyendo, y no vi grandes bugs en el historias de cambios del proyecto en GitHub. Por ello, decidí darle una oportunidad.

Diagrama de solución nueva: copias descentralizadas, basado en Duplicati

He instalado Duplicati en cada cliente, definiendo dos copias de seguridad:

  1. Una copia diaria al NAS por Samba, con almacenamiento inteligente de versiones. Cada cliente copia a un directorio diferente.
  2. Una copia diaria a BackBlaze B2, con almacenamiento inteligente de versiones. Cada cliente copia a un bucket diferente.

Conclusiones

Llevo unas semanas, y hasta la fecha mis impresiones son muy positivas. Las copias se completan con bastante velocidad, tengo dos destinos independientes, y por lo que he podido comprobar, esta vez sí que están todos mis archivos importantes incluidos en la copia. Además, cuando ocurre un problema, se visualiza una notificación en el cliente, aunque hubiera estado bien poder configurar un email donde recibir y centralizar tanto notificaciones de copia completada como de copia fallida. Quizá podría contribuir al proyecto creando esa funcionalidad.

Siguientes pasos

Lo más importante es asegurarme de que las copias de seguridad siguen siendo fiables con el paso del tiempo. Por ello, debo diseñar un sistema de comprobación del contenido de todas las copias, tanto del NAS como del almacenamiento remoto, y no solo debe comprobar que la copia sea restaurable, sino que estén todos los datos, y que estos sean correctos. Y por supuesto, tiene que hacerse de forma automática. Si no me puedo fiar de mí mismo para hacer una copia de seguridad manual de forma regular, tampoco puedo fiarme de que vaya a estar comprobando las copias cada mes. Quizá lo haga el primero, pero os aseguro que después me olvidaré.

El sistema de comprobación debe:

  • Restaurar los datos automáticamente desde cada origen: NAS y B2.
  • Comprobar que todos los archivos del origen se encuentran en la copia.
  • Comprobar que los tamaños y fechas de archivo entre el origen y la copia se corresponden.
  • Enviar una notificación por email cuando la verificación sea correcta.
  • Enviar una notificación por email cuando haya ocurrido un problema de verificación junto con un informe que contenga el detalle, enumerando cada archivo con problemas y el error detectado.
  • Ejecutarse de forma automática y periódica, inicialmente una vez al mes.

Conclusiones finales

Si hay algo peor en informática que la falta de seguridad, es la falsa seguridad. La falsa seguridad es cuando igualmente no estás seguro pero ni siquiera lo sabes, y por lo tanto asumes riesgos que de otra manera no hubieras asumido. En mi caso estaba tranquilo y confiaba en mi sistema de copias de seguridad, cuando en realidad hubiera perdido muchos datos únicos en caso de catástrofe.

Afortunadamente no lo he llegado a sufrir, lo he detectado a tiempo (de casualidad, dicho sea), y he podido ponerle remedio. Pero otros podrían no correr la misma suerte que yo.

Las necesidades cambian con el tiempo, y la fiabilidad de las soluciones también. Revisa tus estrategias de vez en cuando, comprueba que tus soluciones sigan siendo buenas y cubran tus necesidades, y cambia tus soluciones cuando no sea así. Lo que ayer valía, hoy puede que no lo haga. El cambio es la única constante.

Instalación de antena de radioaficionado cerca de un aeropuerto

Instalar una antena de radioaficionado en un bloque comunitario no es fácil. Además de la complejidad técnica, hay que añadir la complejidad que supone la gestión de todas las autorizaciones necesarias para poder realizar la instalación en condiciones de seguridad, tanto eléctrica como mecánica, y cumpliendo la legislación vigente.

Pero si además vivimos cerca de un aeropuerto, tenemos que realizar una gestión adicional por invadir el espacio aéreo debido a lo que se denomina servidumbres aeronáuticas. Hablamos de la autorización por parte de la Agencia Estatal de Seguridad Aérea (AESA) que, de realizar la instalación sin la pertinente autorización, nos expondremos a cuantiosas multas que van de 90.001 € a 225.000 €.

En general, para realizar la instalación de una antena de radioaficionado cerca de un aeropuerto, necesitaremos lidiar con:

  • La comunidad de vecinos
  • El ayuntamiento
  • La Dirección General de Telecomunicaciones (DGT)
  • La Agencia Estatal de Seguridad Aérea (AESA)

Además, necesitaremos el boletín de instalación expedido por un instalador autorizado (salvo que la DGT nos autorice a instalar por nuestros propios medios, en cuyo caso haremos una declaración responsable de instalación), y el seguro obligatorio de responsabilidad civil.

Sigue leyendo

Conversión Anytone AT-D868UV en AT-D878UV

En esta guía vamos a explicar cómo se puede convertir un walkie talkie Anytone AT-D868UV en el nuevo modelo AT-D878UV, ya que sólo existen diferencias de software entre ambos, siendo el hardware el mismo.

Aunque para hacer honor a la verdad, esta última afirmación no es estrictamente cierta. Existen tres versiones diferentes del Anytone AT-D868UV en cuanto a hardware:

  • V1: Lleva un microcontrolador modelo GD32F303VE de 512 KB de Flash. Utiliza el firmware V1 (v1.xx).
  • V2 «inicial»: Tiene varios cambios de diseño y mejoras en el PCB, pero sigue utilizando el GD32F303VE de 512 KB de Flash y firmware V1 (v1.xx). Sí, un tanto confuso.
  • V2 «final»: Es como la V2 «inicial», pero lleva un microcontrolador modelo GD32F303VG con 1 MB de Flash y utiliza el firmware V2 (v2.xx).

En España este walkie llegó un año tarde y aparentemente todas las unidades se corresponden con la versión V2 «final», por lo que potencialmente todos son convertibles al AT-D878UV, con el que comparte hardware.

Sigue leyendo

Charla PMR 7-7: Radiocomunicaciones de emergencia en montaña

¿Sabías que unos walkie talkies de supermercado te pueden salvar la vida en montaña? ¿Conoces la iniciativa Canal 7-7 PMR?

Este viernes daremos una charla en Erandio (Bizkaia) sobre el empleo de radios de bajo coste y uso libre en montaña, y cómo pueden ayudar a enviar comunicados de emergencia en zonas sin cobertura de telefonía móvil. Si haces excursiones a la montaña y vives cerca, ven. Te puede salvar la vida.

Walkie talkies Baofeng y legalidad

Últimamente veo muchas preguntas en diversos foros sobre el uso de los famosos walkie talkies chinos Baofeng en España, sobre todo para actividades de ocio al aire libre como montañismo o Airsoft. Mi intención con este post es aclarar las dudas sobre la legalidad y los posibles usos de estos walkies chinos en España.

Baofeng UV-5R, el modelo más habitual

Baofeng UV-5R, el modelo más habitual

Si no conoces los Baofeng te contaré que son unos walkie talkies chinos de muy bajo coste, en torno a 30€ o menos en Amazon España, que emiten en frecuencias de radioaficionado de VHF y UHF con una respetable potencia de 5W. Hasta hace poco, para acceder a algo así tenías que irte a marcas como Kenwood o ICom, y gastarte del orden de 200€ o más.

Estos talkies se están poniendo de moda porque tienen unas prestaciones muy buenas al mismo precio que unos walkies PMR de uso libre, pero los Baofeng permiten cambiar la antena, emitir con más potencia (hasta 10 veces más que un PMR, 500mW vs 5W), y escuchar frecuencias de uso profesional. Funcionan en el rango de 130-176 MHz en banda VHF, y en 400-520 MHz en banda UHF.

Sigue leyendo

Filtración de contraseñas en 000webhost

Me acaba de saltar una alerta de have i been pwned? sobre una nueva filtración de contraseñas.

Estamos hablando de la friolera de 13 millones de contraseñas en claro filtradas de la base de datos de usuarios de 000webhost, uno de los proveedores de hosting gratuito más habituales.

La base de datos de contraseñas se filtró en marzo de 2015, y desde entonces se ha estado vendiendo en foros por un precio de unos $2.000. Que se venda significa que aquellos que la hayan comprado esperan obtener un retorno económico de ello. Dicho de otra manera, esperan que las víctimas hayan reutilizado sus contraseñas de 000webhost en otros sitios de Internet y puedan robarte dinero de alguna manera.

Lo peor de todo este asunto es la estrategia seguida por 000webhost cuando el investigador de seguridad Troy Hunt les informó de ello: le ignoraron completamente y no avisaron a sus clientes. 000webhost ha reseteado silenciosamente las contraseñas de todos sus clientes, pero no les ha advertido de que, si han reutilizado su contraseña en otros sitios, pueden estar gravemente expuestos. En ese sentido, la actuación de 000webhost ha sido lamentable.

Si tienes cuenta en 000webhost y has reutilizado la contraseña en otros sitios de Internet, ve y cambia tus credenciales en todos esos sitios ahora mismo.

Si quieres leer más sobre la nefasta gestión de 000webhost ante el incidente, aquí tienes la investigación completa de Troy Hunt:

Breaches, traders, plain text passwords, ethical disclosure and 000webhost

Charla «Seguridad en Aplicaciones Web»

Este año voy a dar una charla dentro del programa de cursos de verano que organiza el grupo e-ghost en la Universidad de Deusto. Estos son los datos básicos de la convocatoria:

  • Tema: Seguridad en Aplicaciones Web
  • Fecha: 17 de julio, 12:00
  • Lugar: Bilbao, Facultad de Ingeniería de la Universidad de Deusto, aula 105L
  • Duración: 2 horas

En la charla analizaremos las 10 debilidades de seguridad más comunes que se cometen durante el desarrollo de una aplicación web, con ejemplos de cómo se podrían explotar y qué impacto tendrían en el negocio.

Analizaremos fugas de información, inyección de código en formularios, falsificación de peticiones, debilidades de autenticación, y mucho más. ¿Te lo vas a perder?

Para asistir hay que inscribirse previamente. Puede asistir cualquier persona, pero si se llena tendrán prioridad los alumnos y ex-alumnos de la Universidad de Deusto.

Los cursos de verano del grupo e-ghost se van a impartir del 13 al 24 de julio en la Facultad de Ingeniería de la Universidad de Deusto, en Bilbao. Puedes ver el programa completo aquí:

Hay charlas y talleres muy interesantes. ¡Anímate!

Actualización: Ya puedes consultar las transparencias utilizadas en la charla:

Muchas gracias a todos por asistir.

Sobre los 5 millones de contraseñas de Gmail

El pasado 10 de septiembre se desataba la noticia de que se habían filtrado nada menos que 5 millones de contraseñas de Gmail en claro. Rápidamente todos los medios de comunicación especializados se hicieron eco de la noticia y la alarma corrió por foros y redes sociales. Más tarde Google emitió un comunicado indicando que sus sistemas no habían sido vulnerados, y desde entonces nada más se ha vuelto a saber.

La sospecha es que las contraseñas no habían salido de Google, sino de algún otro sitio en Internet menos protegido. Digamos del «Blog Pepe». La noticia también apuntaba a que, probada una pequeña muestra de la filtración, se podía inferir que el 60% de las contraseñas publicadas eran válidas en Gmail. Esto significa que al menos el 60% de las personas de esa lista utiliza la misma contraseña en Gmail que en «Blog Pepe».

El listado de cuentas comprometidas se puede encontrar fácilmente en Internet. El listado completo con contraseñas no es mucho más difícil de conseguir. Yo he dado con él, y me he permitido cargarlo en un SQLite para sacar el Top 20 de contraseñas más utilizadas. Ahí va:

Sigue leyendo

Curso Asterisk (VIII): Plantilla mínima de configuración

En un comentario del capítulo anterior he recibido una petición que me ha parecido suficientemente interesante como para dedicarle una pequeña entrada independiente.

En el comentario, el autor pide si sería posible publicar el contenido de los archivos sip.conf y extensions.conf reducidos a su mínima expresión, sin extensiones de ejemplo ni ningún tipo de relleno, salvo los parámetros de seguridad mencionados en el correspondiente capítulo.

A continuación, os pongo el contenido de dichos archivos. Lo que incluyen es lo mínimo imprescindible, justo el esqueleto sobre el que empezar a definir vuestras extensiones y vuestro dialplan.

Sigue leyendo

Curso Asterisk (VII): Seguridad

Desde el capítulo 5 estamos conectados a proveedores VoIP, lo que significa que un atacante malintencionado podría generarnos pérdidas económicas si no tuviéramos bien configurado nuestro Asterisk.

Configurarlo correctamente no parece complicado: das de alta tus extensiones y tus proveedores, y listo. Todo tiene clave, todo parece estar bien. ¿Seguro? Desgraciadamente, la implementación SIP de Asterisk es insegura en su configuración por defecto y necesitaremos saber lo que estamos haciendo para proteger nuestro sistema de usos no autorizados.

Pero que no cunda el pánico, porque si has seguido el curso al pie de la letra, ya has ido aplicando sin saberlo una gran parte de las medidas que detallaremos en el presente capítulo. Aun así presta atención, ya que es necesario conocer ciertos detalles para no meter la pata cuando crees por ti mismo tu configuración, y para poder llevar a cabo otras cosas que hasta ahora no hemos hecho.

Sigue leyendo