Copias de seguridad en volumenes de red con Time Machine

timemachine.jpgHoy vamos a dejar de lado los aspectos estratégicos y de negocio para centrarnos en un tópico más técnico: la configuración del entorno necesario para poder realizar copias de seguridad en volumenes de red (SAMBA, NFS, AFP, …) con Time Machine, una de las grandes funcionalidades del recién nacido Mac OS 10.5 (Leopard).

En el ejemplo utilizamos un equipo con Mac OS 10.5 y otro con Ubuntu Server 7.10 (sirve cualquier otra versión de Ubuntu).
Para llevar a cabo nuestro cometido, nos centraremos en los siguientes aspectos:

  • Creación del volumen de red en un servidor remoto.
  • Activaciónd el protocolo de red AFP.
  • Configuración de Mac OS X para utilizar el volumen de red con Time Machine

Creación del volumen de red en un servidor remoto [en el servidor]

En primer lugar, vamos a añadir el usuario con el que accederemos remotamente al directorio, especificando la ruta de ubicación del home.

 agora@agoraserver:~$ sudo adduser --home /media/barrakon/backup/hosts/ timemachine
 Adding user `timemachine' ...
 Adding new group `timemachine' (1006) ...
 Adding new user `timemachine' (1004) with group `timemachine' ...
 Enter new UNIX password: # Introducimos la contraseña 
 Retype new UNIX password: # Confirmamos la contraseña
 passwd: password updated successfully
 Changing the user information for timemachine
 Enter the new value, or press ENTER for the default
 Full Name []: Time Machine backup # Descripción del usuario 
 Room Number []: 
 Work Phone []: 
 Home Phone []: 
 Other []: 
 Is the information correct? [y/N] y # Validación de los datos

Activación del protocolo de red AFP [en el servidor]

[Opcional] Aunque es posible acceder al volumen de red desde Mac OS X utilizando SAMBA o NFS, es recomendable la compartición mediante AFP, por varios motivos: su administración es más simple, tiene tasas de transferencia superiores y es el protocolo de compartición nativo en Mac OS X.

Para poder compartir recursos mediante AFP utilizaremos Netatalk. Aunque su instalación es posible mediante gestores de paquetes (aptitude, …), con la instalación por defecto no podremos acceder desde Leopard, ya que éste incluye como novedad la encriptación de dos vias de la contraseña. Esto no nos supone ningún problema, compilaremos el paquete para que se adapte a nuestras necesidades.

Obtenemos el código fuente del paquete:

 agora@agoraserver:~apt-get source netatalk
 Leyendo lista de paquetes... Hecho
 Creando árbol de dependencias 
 Leyendo la información de estado... Hecho
 Necesito descargar 1965kB de archivos fuente.
 Des:1 http://us.archive.ubuntu.com gutsy/universe netatalk 2.0.3-6ubuntu1 (dsc) [918B]
 Des:2 http://us.archive.ubuntu.com gutsy/universe netatalk 2.0.3-6ubuntu1 (tar) [1921kB]
 Des:3 http://us.archive.ubuntu.com gutsy/universe netatalk 2.0.3-6ubuntu1 (diff) [43,2kB] 
 gpg: Signature made mié 15 ago 2007 18:51:54 CEST using DSA key ID 4B394F7E
 gpg: Can't check signature: public key not found
 dpkg-source: extracting netatalk in netatalk-2.0.3
 dpkg-source: unpacking netatalk_2.0.3.orig.tar.gz
 dpkg-source: applying ./netatalk_2.0.3-6ubuntu1.diff.gz

Instalamos los paquetes y dependencias necesarias para utilizar netatalk:

 agora@agoraserver:~$ sudo apt-get install devscripts fakeroot libssl-dev 
 agora@agoraserver:~$ sudo apt-get build-dep netatalk

Ahora vamos a generar el paquete:

 agora@agoraserver:~$ cd netatalk-2.0.3
 agora@agoraserver:~/netatalk-2.0.3$ DEB_BUILD_OPTIONS=ssl debuild -us -uc

Después de un buen rato comprobando librerias y compilando el paquete, obtenemos algo parecido a esto:

 atención, `debian/netatalk/DEBIAN/control' contiene un campo `Original-Maintainer' definido por el usuario
 dpkg-deb: no se tendrán en cuenta 1 avisos sobre los ficheros de control
 dpkg-deb: construyendo el paquete `netatalk' en `../netatalk_2.0.3-6ubuntu1_i386.deb'.
 dpkg-genchanges
 dpkg-genchanges: not including original source code in upload
 dpkg-buildpackage (debuild emulation): binary and diff upload (original source NOT included)

Genial. Ya tenemos el paquete listo para lanzar la instalación:

agora@agoraserver:~/netatalk-2.0.3$ sudo dpkg -i ../netatalk*.deb
[sudo] password for agora:
 (Leyendo la base de datos ... 
 173384 ficheros y directorios instalados actualmente.)
 Preparando para reemplazar netatalk 2.0.3-6ubuntu1 (usando .../netatalk_2.0.3-6ubuntu1_i386.deb) ...
 Stopping Netatalk Daemons: afpd cnid_metad papd timelord atalkd.
 Desempaquetando el reemplazo de netatalk ...
 Configurando netatalk (2.0.3-6ubuntu1) ...
 Instalando una nueva versión del fichero de configuración /etc/default/netatalk ...
 Instalando una nueva versión del fichero de configuración /etc/pam.d/netatalk ...
 Instalando una nueva versión del fichero de configuración /etc/init.d/netatalk ...
 Starting Netatalk services (this will take a while): atalkd afpd papd.

Para evitar que netatalk sea substituido por otras actualizaciones disponibles en los repositorios, con lo que volveriamos a tener una instalación sin autenticación SSL, bloqueamos el paquete:

agora@agoraserver:~/netatalk-2.0.3$ echo "netatalk hold" | sudo dpkg --set-selections

Configuración de Mac OS X para utilizar el volumen de red con Time Machine

Por defecto, Mac OS 10.5 no permite la utilización de volumenes de red para uso con Time Machine y únicamente son válidos discos duros externos, particiones locales, discos Airport o equipos con volumenes HFS+ (básicamente otros Mac OS X).

Para poder utilizar el volumen que hemos configurado, activaremos el soporte para unidades de red. Desde la Terminal del sistema escribimos:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

El siguiente paso es montar la unidad de red en el mac. Para ello, desde el Finder utilizamos la combinación de teclas Manzana+K o accedemos al menú superior Ir > Conectarse al servidor. A continuación introducimos la dirección IP o hostname del servidor:

conectarAFP.jpg

Introducimos el usuario y contraseña que hemos definido al crear la cuenta en el servidor:

loginAFP.jpg

Ya podemos acceder a la configuración de Time Machine y seleccionar el volumen de red (Preferencias > Cambiar disco):

selecVolumen.jpg

Cuando seleccionemos el volumen deberemos autenticarnos de nuevo.

¡Tachán! Ya tenemos nuestro sistema de copias de seguridad en funciomiento 🙂

Importante: Para que Time Machine funcione necesitamos tener el volumen de red montado en el sistema de forma permantene.

Notas

No se recomienda utilizar el proceso en entornos de producción o en aquellos casos en los que se utilicen datos sensibles. Mac OS 10.5 (Leopard) no soporta nativamente volumenes de red. Esto quiere decir que su uso no está recomendado y el resultado puede llevar a situaciones no deseadas, como la perdida de datos o disfunción del sistema.

Esta guía es una síntesis de otros recursos publicados en la red, que son:

El usuario es responable de la utiliación de este proceso.

La idea inicial de generar el tutorial es de sallymac (de macuarium.com).

Sistemas de Información inseguros

¿O deberíamos hablar de «organizaciones irresponsables».

El viernes estuve en la FIST Conference de Barcelona (muy recomendable) y ello me hizo recordar varios ejemplos de fallos de seguridad importantes en los sistemas de información de muchas organizaciones, y lo simple que resulta aprovechar estas vulnerabilidades; esto no debería preocuparnos si las empresas trabajasen duro para evitar estos «problemillas».

Os cuento cinco experiencias (de entre muchas):

  • Información desprotegida:  Hace algo más de un año pasé un par de meses en la ciudad de Pune (India) para trabajar en un proyecto de la empresa. Durante ese tiempo me alojé en un hotel de la ciudad, el cual, entre otros servicios, ofrecía acceso a Internet. Yo, aficionado a desconfiar de la seguridad en los sistemas de información, reviso los logs de mi equipo y observo que alguien desde el hotel intenta conectarse a mi equipo. Indagando el origen de tan macabro intento de perturbar mi tranquilidad, me topo con una red llena de agujeros, entre los cuales se encuentra el acceso bastante simple a la facturación y datos de clientes del hotel.
  • Asignación de privilegios: Utilizo una base de datos para gestionar las operaciones en las que intervienen varias personas. Dado que en lugar de asignarme permisos de usuario convencional me asignan permisos de administrador, hago click en un link para enviar un mensaje a otra persona y me encuentro que en lugar de un sistema de mensajes ese enlace me lleva a los datos personales de ese empleado.
  • Autenticación simple: Supongamos un país X en el que la autenticación para la sanidad pública se compone de un un identificador formado por fragmentos de datos personales fácilmente deducibles. Como usuario, ciertos datos que componen el identificador coinciden con los de otra persona a excepción de alguna cifra. Un día tecleando me equivoco y dada la cuestionable seguridad de autenticación, accedo a todos los datos personales de esa persona, pudiendo incluso realizar cambios en los datos.
  • Acceso a información sensible: Accedo a la web de una gran consultoría con el fin de aplicar a una oferta de empleo. Envío mi curriculum y su página web me ofrece previsualizar el envío, con lo que muestra un enlace tipo «http://www.empresa.com/careers/database/userxxxxx/mi_documento/». Sorprendido porqué me muestran la ruta, decido comprobar que mis datos están en buenas manos y voy accediendo a niveles inferiores, donde me encuentro que todos los datos personales de los candidatos pueden ser leídos, descargados e incluso eliminados de la base de datos.
  • Autenticación cruzada: Alegremente reviso mi expediente en la página web de una de las universidades por las que he pasado (previa autenticación con mi login) y en un momento de aburrimiento, decido cambiar el «?id» final de la URL por el siguiente número consecutivo. ¡Tachán! Accedo a todos los datos de otro estudiante.

Estos casos, por si solos no són tremendamente alarmantes, aunque si peligrosos. No es que me pase el día buscando agujeros de seguridad en los sistemas ajenos, ni mucho menos practico el habilidoso hobby de atacar organizaciones; en cualquier caso, me gusta saber si la información que me concierne se encuentra a buen recaudo.

Normalmente, en el mismo instante que detecto las vulnerabilidades de los sistemas, lo comunico a las organizaciones, y en el mejor de los casos, tardan meses en corregir el fallo.

Enlaces relacionados:

Carlos Fragoso

Blog S21Sec 

Seguridad en el entorno corporativo

Hoy en día es patente la necesidad de fuertes medidas de protección frente a problemas de seguridad, ya sean propiciados por personas externas, virus y troyanos o causas naturales. Por lo tanto, debemos entender como seguridad no solo aquellas cuestiones relativas a intentos maliciosos de causar daño, sino también a aquellos problemas que puedan comprometer la integridad de nuestros sistemas, y sobretodo nuestra información.

Quizás deberiamos preguntarnos qué está fallando cuando un sistema de seguridad no es eficiente. Sin embargo, ¿somos conscientes de las consecuencias reales que puede tener no dedicar los suficientes esfuerzos -humanos y tecnológicos- para contrarestar los problemas de seguridad? Generalmente existe la percepción equivoca de que un sistema de seguridad avanzado brinda una total protección ante cualquier tipo de suceso.

Todos tenemos la certeza de que existen carencias en las prácticas para la gestión de la seguridad, pero ¿la mayoría de personas cambia sus contraseñas de acceso periódicamente, utiliza los recursos asignados para las copias de seguridad o evita utilizar aplicaciones no autorizadas para las estaciones de trabajo? Al igual que en muchas otras áreas de la empresa, existe una amplia declaración de propositos, pero carecemos de una concienciación real y una notable involucración en los procesos y su alineamiento.

Por otro lado, la capacidad de reacción (corrección) de la mayoría de empresas y organismos -quizás fruto de las distorsionada visión de la seguridad- es tremenadamente límitada. Un claro ejemplo de ello es que en la mayoría de ocasiones, cuando como usuarios informamos a las organizaciones de sus fallos de seguridad, éstas permanecen impasibles (véase la reciente demanda contra Telefónica…). Personalmente me gusta informar a las organizaciones de aquellos fallos de seguridad que detecto, pero en muy contadas ocasiones toman medidas correctivas.

Por último me gustaría apuntar a la necesidad de involucración por parte de toda la plantilla de la organización. Está en mano del Director de Sistemas de Información proveer los medios necesarios para garantizar la seguridad, pero es responsabilidad de todo usuario realizar el esfuerzo necesario para garantizar el seguimiento del plan.

Y como todos imaginaréis, de nada sirve incorporar tecnología sobresaliente si el plan de seguridad es pésimo.