security

Monitoreo de PostgreSQL con Munin

Submitted by gwolf on Thu, 02/02/2012 - 14:54
Wolf, G.  2011.  Monitoreo de PostgreSQL con Munin. Revista Cubana de Ciencias Informáticas. 5:1-8.

Georeferenciación a nuestras espaldas

Submitted by gwolf on Tue, 05/17/2011 - 18:01
Wolf, G.  2011.  Georeferenciación a nuestras espaldas. Software Gurú. 32:46-47.

La idea para la columna de este número surgió de una plática con mi padre, comentando acerca de un texto que él presentó, como parte del espacio de la Academia de Ciencias de Morelos en el periódico La Unión de Morelos el pasado 18 de abril1. En éste, habla acerca de la disparidad de las cifras reportadas ante la manifestación dirigida por Javier Sicilia en la ciudad de Cuernavaca (ésta, el miércoles 6 de abril), y acerca de métodos que podrían utilizarse para tener una estimación más precisa. Yo, como buen consultor, le sugerí algo bonito y preciso en teoría, pero impracticable para todos los que no contamos con el poder coercitivo gubernamental: Acceder a los registros de las compañías de telefonía celular, para averiguar cuántas personas entraron durante el periodo de nuestro interés a la región por donde cruzó la marcha. A fin de cuentas, una muy alta proporcionón de la población hoy en día cuenta con teléfono celular, y podría ser una buena manera no sólo de estimar la magnitud de la marcha, sino de hacerlo a lo largo del tiempo que duró.

Ahora, dado que la información que poseen las telefónicas no es pública, dejamos la conversación a un nivel puramente especulativo — Seguros de que las autoridades de Seguridad Pública tienen acceso a estos datos, pero que a la mayor parte de nosotros nos resultan inalcanzables, como no sea a través de una órden judicial.

En los días siguientes a esta conversación, sin embargo, se presentaron varias noticias que se me hicieron interesantes, y que vinculan a esta discusión relativa a la participación ciudadana en la política nacional con temáticas más cercanas a las que toca esta revista: El cómputo ubicuo, la rastreabilidad de un dispositivo móvil, la seguridad de la información de geolocalización, y nuestro derecho a controlar quién tiene acceso a ella.

Compañías telefónicas

Me encontré con un artículo publicado por el diario alemán «Zeit Online» el 26 de marzo2, que ilustra precisamente la profundidad de esta información: Malte Spitz, del Partido Verde alemán, presentó una demanda judicial para obligar a Deutsche Telekom a entregarle todos los datos suyos que tuvieran registrados en los últimos seis meses. Los datos están disponibles en crudo — Y adicionalmente, gracias a una simple aplicación Web3 realizada para presentar esta información de una manera fácil de comprender, nos hace ver la profundidad de los patrones de comportamiento que puede construirse de cada uno de nosotros: Ubicación geográfica, llamadas y mensajes recibidos/enviados, conexión de datos...

Si bien la geolocalización es mucho menos precisa que la que arrojaría un GPS (es obtenida por triangulación entre las torres de telefonía celular, resultando en una precisión de unos cien metros), el punto más importante es que esta información se genera y almacena centralmente, en las instalaciones del proveedor de telecomunicaciones, e independientemente de las capacidades tecnológicas de nuestro teléfono.

Y si bien Malte Spitz tuvo acceso a sus datos a través de los canales legales, ¿qué tanto podemos confiar en que dichos datos estén adecuadamente protegidos de los ojos de atacantes capaces de vulnerar servidores conectados a Internet? Precisamente, el experimento de Spitz fue llevado a cabo para sustentar el peligro de la ordenanza de 2008 que obliga (y por tanto permite) a las compañías de telecomunicaciones guardar esta información por medio año — Ordenanza que en marzo de 2010 fue declarada inconstitucional. En México nos hemos topado una y otra vez con casos en que datos confidenciales han sido encontrados en el mercado negro. ¿Qué nos indica que esta información, escalofriantemente precisa acerca de nuestros hábitos no está disponible al mejor postor?

Proveedores de hardware

Otro conjunto de noticias que aparecieron en los días recientes son los relacionados a la información de ubicación que guardan diversos teléfonos inteligentes y equipos similares: Los equipos iPhone e iPad de Apple que corren el iOS versión 4 o superior, guardan un registro histórico de los puntos por los que ha pasado el usuario4,5 (al igual que lo mencionado anteriormente, mayormente basado en triangulación contra las antenas celulares, aunque de mucho mayor precisión cuando el GPS está activado). Y si bien esto no debería sorprendernos, hay tres puntos clave en lo revelado:

  • Los datos son guardados sin cifrado, y son incluídos en todo respaldo hecho al dispositivo.
  • La licencia de uso del software permite expresamente a Apple recolectar, usar y compartir información precisa respecto a la ubicación, incluyendo la ubicación geográfica en tiempo real de tu computadora o dispositivo Apple.
  • La información recopilada no se limita a una ventana de tiempo preestablecida, sino que durará la vida entera del equipo.

Para verificar (y/o jugar) con esta funcionalidad, pueden instalar en cualquier computadora con la que hayan sincronizado un iPhone o iPad el iPhoneTracker (MacOS)6 o el iPhoneTrackerWin (Windows)7. En el sitio del iPhoneTracker hay una interesante lista de preguntas muy interesantes para entender este problema.

Claro, pero el que Apple controle los dispositivos que los usuarios han comprado no es novedad. Quienes me conozcan, probablemente esperan que haga a continuación una apología de por qué el software libre es más seguro, y por qué deberían todos cambiar a un teléfono basado en el sistema Android, de Google. Sin embargo, la situación no es tan distinta ahí.

Con la salvedad de que para que éste archivo exista el usuario tiene que haber aceptado previamente que el teléfono provea servicios relacionados con los datos de geolocalización (sin duda una muy importante característica de los equipos, y que poca gente dejará desactivada), los teléfonos Android guardan también información con nivel de detalle muy similar8. Esta información además no se mantiene a largo plazo: Los dispositivos Android guardan únicamente un número limitado de ubicaciones — Hasta 50 entradas derivadas de torres celulares, y hasta 200 derivadas de redes WiFi.

Ahora, de este último punto podemos aún jalar más hilo: Si bien el contrato de licencia del software de Apple permite que reciban todos los datos de ubicación, hasta el momento han negado estar utilizándolos. Sin embargo, al autorizar a Android, explícitamente estamos autorizando que esta información sea reportada a Google9 — ¿Y qué uso directo le dan? Los dispositivos con Android notifican a Google la ubicación de cada red inalámbrica que encuentran, como lo demuestra el sitio Web desarrollado por Samy Kamkar10: Los dispositivos informan a Google de la ubicación geográfica de cada red WiFi que encuentran.

Ahora bien, sé que este texto puede ser leído como una carta escrita por un paranóico de las teorías de la conspiración. No es así, estoy consciente de que la tecnología va cambiando nuestra vida, y que lo que para muchos puede ser visto como una invasión a la privacidad, para muchos otros representa la gran conveniencia tanto de contar con una ubicación razonablemente precisa en un tiempo aceptable como de poder compartirla con nuestros contactos en un tiempo pertinente.

Mi convocatoria, claro, al tiempo que lleva a que tengamos conciencia de los insospechados ojos que pueden estar aprendiendo de nuestras vidas con cualquier tipo de fines, también lleva a que, como desarrolladores de aplicaciones, sepamos ser creativos y aprovechar la información que tenemos a nuestro alcance — ¡Porque sin duda podrán encontrar también maneras lícitas y atractivas de emplear estas fuentes de información!

Referencias

  1. ¿Cuántos miles marchamos? — http://www.launion.com.mx/images/stories/Hemeroteca%20Virtual/2011/abril-2011/18-abr.pdf (pag. 34)
  2. Betrayed by our own data — http://www.zeit.de/digital/datenschutz/2011-03/data-protection-malte-spitz
  3. Tell-all telephone — http://www.zeit.de/datenschutz/malte-spitz-data-retention
  4. Secret iPhone location tracking — http://www.theregister.co.uk/2011/04/20/secret_iphone_location_tracking/
  5. How to See the Secret tracking Data in Your iPhone — http://www.pcmag.com/article2/0,2817,2383943,00.asp
  6. iPhoneTracker — http://petewarden.github.com/iPhoneTracker/
  7. iPhoneTrackerWin — http://huseyint.com/iPhoneTrackerWin/
  8. It’s not just the iPhone, Android stores your location data too — http://thenextweb.com/google/2011/04/21/its-not-just-the-iphone-android-stores-your-location-data-too/
  9. Google Android privacy concerns — http://www.theregister.co.uk/2011/04/22/google_android_privacy_concerns/
  10. Android Map http://samy.pl/androidmap/

Identidad y reputación en línea: Esquemas de confianza

Submitted by gwolf on Tue, 03/22/2011 - 18:57
Wolf, G.  2011.  Identidad y reputación en línea: Esquemas de confianza. Software Gurú. 31:48-49.

Querido amigo: Soy la señora Mariam Abacha1, viuda del finado General Sani Abacha, ex-jefe de gobierno de Nigeria. (…) Para salvar a mi familia de una total bancarrota, estoy buscando transferir el total de US$24,000,000 a través de una institución bancaria confiable. (…) Como pago por su ayuda, le ofrezco el 30% de lo que podamos rescatar de la fortuna de mi querido esposo.

El tema conducente del presente ejemplar de SG, Pagos en línea, cruza necesariamente por el tema de los esquemas de establecimiento de reputación en línea. Cada vez menos gente asume confiable cualquier dato que encuentra en Internet sencillamente por estar ahí. Un logro del que puede enorgullecerse la comunidad de expertos que apuntan a la necesidad de concientización en nuestro quehacer en red es que la generalidad de los usuarios, por lo menos, ya desconfía cuando le piden datos para tener acceso a su dinero. Sin embargo, ¿qué es lo que nos lleva a confiar en determinados proveedores?

El problema de establecer la reputación de un tercero puede presentarse como un muy interesante ejercicio académico, con anclas en muy diversas áreas del conocimiento, desde las ciencias sociales hasta las matemáticas.

En un plano mucho más aplicado, todo el problema de la reputación puede resumirse en las preguntas, ¿Puedo confiar en que la contraparte es quien dice ser?, y ¿Puedo confiar en que dice la verdad?. Enfocándonos a las aplicaciones actuales, podemos principalmente traducir estas preguntas en:

Confianza en la identidad

Seguramente habrán recibido alguna vez un correo similar a aquel cuyas primeras líneas reproduje. Afortunadamente, es poca la gente que cae en estos esquemas2. Lo primero que debe venir a nuestra mente es, ¿estoy realmente intercambiando correo con la Sra. Abacha?

Hemos aprendido a desconfiar de la identidad de los extraños. Y cuando un extraño nos propone una transacción económica, nuestra primer reacción es desconfiar. Cuando efectuamos transacciones a través del navegador, nos hemos acostumbrado a buscar indicaciones de que estemos hablando con un servidor seguro. ¿Qué es esto? ¿Cómo lo valida el navegador?

Más allá de aplicar el sentido común, hay dos esquemas principales que nos permiten confiar la identidad de una entidad –individuo o empresa– con la que podamos tener un intercambio que incluya información confidencial (que requiera mantenerse a resguardo de terceros, como el número de nuestra tarjeta de credito) o no-repudiable (que nos interese tener un comprobante de haber realizado determinada transacción¸ sea pública o privada, con la persona o entidad en cuestión; lo que se ha dado por llamar firma electrónica): El esquema centralizado, basado en autoridades certificadoras (CAs) y firmas corporativas, y el esquema descentralizado, basado en llaveros de confianza y firmas personales. Ambos están basados en la criptografía de llave pública, con implementaciones derivadas de la criptografía de llave pública. No profundizaré en cómo estos pueden utilizarse para el intercambio de información, sino sobre la metainformación: Cómo apuntan a la confiabilidad sobre la identidad de un actor.

Por un lado, tenemos a la infraestructura de llave pública (PKI). Este es el esquema que siguen los navegadores Web, punto de contacto que casi todos tendremos con los pagos en línea. Además de los navegadores, y el ocasional cliente de correo, muchos otros servicios pueden emplear certificados de esta naturaleza para realizar autenticación o cifrado3 — Pero estos dos son los más visibles a los usuarios en general.

Bajo un esquema PKI, nuestro navegador confiará ciegamente en la identidad de un conjunto de CAs centrales, definidas por el proveedor del softare4. Mientras un certificado esté firmado por una autoridad conocida, el navegador mostrará la conexión como segura.

Tenemos por otro lado a los esquemas basados en el esquema de llaveros de confianza. Éste esquema fue dado a conocer en los 1990, con el sistema de criptografía PGP, de Phil Zimmermann. Un llavero de confianza podría definirse como un sistema colaborativo, par a par: Cada participante del llavero firma la llave de los otros participantes a los que conoce personalmente, certificando confianza en que su identidad es verdadera5. Cuando un usuario quiere comunicarse con otro, puede ver cuál es el camino de confianza yendo entre individuos, y en base a la distancia y grado de conexión (y, por tanto, de certificación) que tiene determianda identidad, decidir el nivel de confianza que depositará en ésta.

Entonces, un servidor seguro no es sólo el que implementa una conexión cifrada, sino que aquél en cuya identidad puedo confiar. Emplear cifrado sólo tiene sentido cuando podemos confiar en la identidad de nuestra contraparte. De muy poco serviría que garantizáramos que toda nuestra comunicación llega cifrada hasta nuestra contraparte si dicho sistema no es el sistema destino — Si no verificamos la identidad de nuestra contraparte, un atacante podría interponer un servidor entre nosotros y nuestro destino, descifrando y cifrando nuevamente la comunicación, modificando o guardando los datos que juzgara necesario.

En un esquema PKI, basta con engañar a una CA respecto a nuestra identidad para tener la puerta abierta a interceptar las solicitudes de usuarios. Y, tristemente, esto ya hace mucho tiempo pasó del terreno del discurso académico al del mundo real: En 2001 fue detectado un certificado firmado por Verisign a nombre de Microsoft, otorgado a un individuo sin relación alguna con dicha compañía6.

A diferencia de PKI, en que un conjunto de firmas se ve como una serie de árboles con raíces en cada una de las CAs certificadas, una red de firmas basada en las ideas de Zimmermann nos aparece como una red fuertemente interconectada, y nos permite validar varios caminos de confianza entre dos participantes de esta red, y evaluar cada a uno de ellos basado en la confianza subjetiva que damos a los actores involucrados7.

No hay un esquema indiscutiblemente mejor que el otro — Son utilizados con fines distintos. Ambos tienen su ámbito de aplicación — Y si hoy podemos confiar en la confidencialidad, integridad y seguridad de las transacciones en línea, es por estos esquemas. Nuevamente, de muy poco nos serviría cifrar nuestras transacciones en un entorno hostil sin tener confianza en que la contraparte es quien esperamos que sea.

Reputación del individuo

Asumamos, sin embargo, que la Sra. Abacha nos convenció plenamente de ser ella. ¿Debemos por ello confiar en su oferta?

Es aquí donde entra en juego la reputación: Ya que tengo certeza de estar interactuando con la entidad deseada, saber si es una entidad con la que me conviene mantener una transacción es el siguiente albur. Y, en este caso, la reputación es algo que debe establecerse bidireccionalmente. No sólo al comprador le interesa saber que el vendedor le entregará un producto genuino y a tiempo, sino que al proveedor le interesa saber si el comprador tiene cómo pagarlo. No sólo al solicitante de un préstamo le interesa que el banco confíe en su capacidad crediticia, sino que al banco le importa saber si éste no ha faltado a sus obligaciones de pago. Si entro a un sitio de intercambio entre particulares, sea de venta directa o a través de subastas (y seguramente en ambos casos todos habrán pensado en cuál sitio pensé al escribir tan amplia categoría — Eso también entra en el amplio ámbito de la reputación), los individuos participantes tienen una calificación indicando su confiabilidad basada en su comportamiento previo.

O, saliéndonos del árido tema de las transacciones económicas, en un foro de discusión puede interesarme filtrar los mensajes para sólo ver los que más vale la pena leer — Y, sin recurrir a un sistema que requiera involucramiento masivo de los editores, la mayor parte de estos sitios basan este filtro dando un valor inicial dependiente de la reputación del autor.

La asignación de reputación es un área completamente dependiente del campo de aplicación, por lo que resulta imposible hablar de implementaciones como en la sección anterior.

Nuevamente, las restricciones de espacio me dejan apenas arañando el campo, apuntando a un gran área a tener en consideración para cualquier desarrollo que emprendamos en que pueda involucrarse el peso o la complejidad de las relaciones entre entidades complejas. Tomar estos elementos en cuenta de forma transversal a los diferentes dominios de aplicación nos llevará a variadas e interesantes consideraciones, que seguramente mejorarán no sólo la confiabilidad de nuestras transacciones, sino incluso la oportunidad y el valor de la información que presentamos a nuestros usuarios.

Notas al pie

1 El nombre de la Sra. Abacha es el más prevalente en los fraudes de pago anticipado; tristemente, su identidad y reputación son ya demasiado bajos. Mi intención no es dañarlo más, claro está, sino señalar un fenómeno preexistente

2 Sin embargo, una pequeña proporción de una cantidad absurdamente grande de correos enviados sigue resultando en buen negocio… Y es por ello que estos defraudadores siguen saturando nuestros buzones.

3 Encontraremos referencias a estos certificados como X.509; si vamos a implementar directamente opeaciones sobre los certificados, conviene hacerlo empleando la biblioteca libre openssl.

4 Por ejemplo, puede consultar la lista de CAs autorizadas por Mozilla en http://www.mozilla.org/projects/security/certs/included/index.xml

5 Es muy importante tener en cuenta que lo único que aquí se certifica es la identidad, no la confianza en la entidad en cuestión. La confianza será tratada en la siguiente sección.

6 Bruce Schneier: Fake Microsoft certificates, http://www.schneier.com/crypto-gram-0104.html#7

7 Por poner un ejemplo, si yo (llave C1DB921F) obtengo un documento firmado por Marcelo Tosatti (llave E8E1FE55), desarrollador del kernel de Linux, encuentro que (al día en que escribo este texto) estamos a tres "brincos" de distancia: http://pgp.cs.uu.nl/paths/C1DB921F/to/E8E1FE55.html, http://webware.lysator.liu.se/jc/wotsap/wots/latest/paths/0xC1DB921F-0xE...

( categories: )

ProtoWrap: Using wrappers to protect specific network services

Submitted by gwolf on Sun, 02/10/2008 - 14:20
Written in...: 
2001

I wrote my final paper for graduation on implementing a generic connection wrapper that can be extended to understand and protect specific protocols. I presented this project at YAPC::NA 2001, and published a short article on Usenix's ;login: magazine (published in the June 2002 number).

Resumen: 

Escribí mi proyecto final de graduación implementando un wrapper genérico de conexiones que puede ser extendido para comprender y proteger protocolos específicos. Presenté mi proyecto en el YAPC::NA 2001, y publiqué un corto artículo en la revista ;login: de Usenix, en el número de Junio del 2002.

Respaldos multinivel robustos y simples utilizando rsync

Submitted by gwolf on Sun, 02/10/2008 - 13:05
Written in...: 
2005

Are you looking for an easy to implement backup solution that allows you to have incremental backups, with low resources consumption, and allowing for immediate retrieval of your data? Rsync and the basic characteristics of any Unix filesystem can be your greatest allies. I prepared this talk for the Admin-UNAM December 2005 seminary, organized by the Computer Security Department, DGSCA, UNAM.

Resumen: 

¿Buscas una solución de respaldos simple de implementar, con bajo uso de recursos, que te permita tener respaldos incrementales disponibles de inmediato? Rsync y las características del sistema de archivos de cualquier Unix pueden ser tu principal aliado - Preparé esta plática para el seminario Admin-UNAM de diciembre del 2005, organizado por el Departamento de Seguridad en Cómputo, DGSCA, UNAM.

Asegurando tu red con Linux

Submitted by gwolf on Sun, 02/10/2008 - 10:25
Written in...: 
2005

Short text going over several tools that can help a system administrator work on incident prevention, network monitoring and intrusion detection in Linux. I presented this talk in UNAM's Departamento de Seguridad en Cómputo internal admin-unam seminar, in June 2005. It was also published in the August 2005 issue of PC Magazine en español.

Resumen: 

Texto corto mencionando diversas herramientas que pueden ayudar a un administrador de sistemas implementar prevención de incidentes, monitoreo de red y detección de intrusos en Linux. Presenté esta plática en el seminario interno Admin-UNAM del Departamento de Seguridad en Cómputode la UNAM, en junio de 2005. Fue publicado además en la revista de agosto de 2005 de PC Magazine en español.

Principios para mantener la seguridad en redes TCP/IP

Submitted by gwolf on Sun, 02/10/2008 - 10:09
Written in...: 
2004

This talk was prepared for IV National Free Software Conference in Universidad Mayor, Real y Pontificia
de San Francisco Xavier de Chuquisaca
, Sucre, Bolivia. This is more or less the second part for my Network security talk, bringing down to earth some of the concepts to more concrete solutions (although still fairly generic).
I presented it in 2005 for UNAM's Computer Security Department's Admin-unam internal seminar; I re-wrote it as a full-text article, also available here.

Resumen: 

Plática preparada para el IV Congreso Nacional de Software Libre en la Universidad Mayor, Real y Pontificia
de San Francisco Xavier de Chuquisaca
, Sucre, Bolivia. Es una continuación a la plática de Seguridad en redes, aterrizando algunos de los conceptos a soluciones más concretas (aunque aún bastante genérico).
Presenté este trabajo en 2005 para el seminario interno Admin-UNAM del ; re-escribí el material como un artículo a texto completo, también disponible aquí.

Evolución de los esquemas de seguridad extendidos en Unix

Submitted by gwolf on Sun, 02/10/2008 - 09:31
Written in...: 
2003

This talk was prepared for the National Free Software Conference CONSOL 2003 and for Computer Security DGSCA/UNAM 2003 Conference. I analize the main ideas that were used for designing Multics, which of those ideas were adapted for the Unix model, which main shortcomings the traditional Unix model has, and what ideas have evolved to make Unix better.

Resumen: 

Plática preparada para el Congreso Nacional de Software Libre CONSOL 2003 y para el Congreso de Seguridad en Cómputo DGSCA/UNAM 2003. Analizo las ideas principales que fueron empleadas en Multics, cuáles de ellas fueron adaptadas para el modelo de Unix, qué carencias tiene el modelo tradicional de Unix, y qué propuestas ha habido para mejorarlo.

Seguridad en Redes: ¿Qué es? ¿Cómo lograrla?

Submitted by gwolf on Sun, 02/10/2008 - 09:01
Written in...: 
2002

I presented this talk ath the II Computer Systems Engineering Conference at Nuevo León Technological Institute. Here I review general security concepts, explaining to a non-expert audience various important factors that as security experts -and as conscious users in general- we must take into account.

Resumen: 

Presenté esta plática en el II Congreso de Ingeniería en Sistemas Computacionales del Instituto Tecnológico de Nuevo León. Reviso conceptos generales de seguridad, explicando a un público no iniciado en el tema los diversos factores que como profesionales en la seguridad -y como usuarios conscientes en general- debemos tener en cuenta.

Los sniffers y las redes Ethernet

Submitted by gwolf on Sun, 02/10/2008 - 08:10
Written in...: 
2003

I presented this tutorial at Computer Security DGSCA/UNAM 2003 Conference. I talk about the basic characteristics for an Ethernet network, what is sniffing, some sniffers useful for a network administrator, and some advices for protecting against unauthorized sniffers in our network.

Resumen: 

Presenté este tutorial en el Congreso de Seguridad de Cómputo DGSCA/UNAM 2003, menciono en ella las características básicas del funcionamiento de las redes Ethernet, qué es el sniffing, varios sniffers útiles para un administrador, y algunos consejos para protegernos de sniffers no autorizados en nuestra red.

Security in Perl scripts / Seguridad en scripts de Perl

Submitted by gwolf on Sun, 02/10/2008 - 00:16
Written in...: 
2002

I presented this tutorial at Congreso de Seguridad en Cómputo 2000, and later rewrote it (and moved it to a free, portable format) for Días de Software Libre at Guadalajara, May 2002. In this tutorial, I review some important key points not to fall in security errors while programming with Perl. I later adapted it together with a coworker, Alex Juárez, and we presented it in English at YAPC::Europe 2002. Here you will find this text both in Spanish and in English.

Resumen: 

Un tutorial que presenté para el Congreso de Seguridad en Cómputo en noviembre del 2000, y tras reescribirlo en un formato libre y portable, lo presenté de nuevo en los Días de Software Libre en Guadalajara, mayo del 2002. Lo adapté y traduje junto con mi compañero de trabajo Alex Juárez, y lo presentamos en el YAPC::Europe::2002. Reviso aquí una serie de puntos importantes para no caer en importantes errores de seguridad al programar con Perl. Está tanto en inglés como en español.

SOMBI - Still One More Backup Implementation

Submitted by gwolf on Sat, 02/09/2008 - 21:09
Written in...: 
2001

I presented this proposal about a backup system in the Computer Security 2001 Conference. Here I present a proposal for the implementation of a cyphered, automatic remote backup scheme.

Resumen: 

Presenté esta propuesta de esquema de respaldo en el Congreso de Seguridad en Cómputo 2001, presenta una propuesta para la implementación de un esquema de respaldo remoto, cifrado, automático.

SOMBI: Still One More Backup Implementation

Gunnar Wolf
gwolf@campus.iztacala.unam.mx
Congreso de Seguridad en Cómputo 2001
UNAM FES Iztacala

Abstract:

Hay una gran cantidad de implementaciones ya existentes para llevar a cabo de manera automática en sistemas en red -- Por diferentes razones, ninguno de ellos me convenció para las necesidades (nada atípicas, en mi opinión) de mi situación. Lo que aquí presento es un esquema muy simple que permite hacer respaldos de manera automática sobre la red con cifrado y contemplando diferentes tipos de respaldo.

¿Qué hay de malo con los esquemas de respaldo existentes?

Si estoy proponiendo un nuevo esquema de respaldos, esto es porque los ya existentes tienen alguna carencia que no me permite resolver de una manera simple mis necesidades. Entonces pues, ¿qué hay de malo con los esquemas de respaldo que existen hoy?

1.1 Mis necesidades

...Que pueden no ser las de los demás, pero seguramente habrá alguien con necesidades similares

  • Hacer los respaldos de manera periódica y automática
  • Hacer los respaldos sobre la red
  • Cifrar los respaldos conforme son realizados
  • Almacenarlos en un medio que me proporcione acceso fácil, rápido y confiable
  • Que sea simple y poco intrusivo, para cualquier administrador
  • Que sea software libre

1.2 El medio donde se almacena el respaldo

¿Por qué no usar cintas DAT?

  • Confiabilidad
  • Costo
  • Reusabilidad del medio
  • Velocidad
  • Compatibilidad entre plataformas

1.3 La transmisión de datos sensibles sobre la red

  • ¿Hacernos de la vista gorda y pasarlo en claro? ¿''ocultarlo'' con gzip?
  • ¿Cifrado en el transporte?
  • ¿Cifrado en el archivo?
  • Tiempo de procesador que esto ocupa

2 Consideraciones previas a SOMBI

2.1 Lo más común que he visto

  • Directo a la cinta, conectada localmente
    • ¿Y si no tengo una cinta en esta computadora?
    • ¿Y si no confío en las cintas?
  • Directo a cinta, en un host remoto
    • Típicamente con rsh -- Tremendamente inseguro!
    • ¿Y si no confío en las cintas?
  • Respaldo local con tar o equivalente
    • Un respaldo debería ser remoto o desmontable...

2.2 Mi esquema previo - sus fuerzas y debilidades

  • tar xf - /etc /home /var/mail | ssh $SERVER 'cat > respaldo'
  • Funciona, pero
    • Requiere root tanto en cliente como en servidor
    • No es automatizable (¿pondrías tu contraseña de root en un script?)

3 Esquema operativo de SOMBI

3.1 Soporte a diferentes tipos de respaldo

  • Como está en este momento, permite tres tipos de respaldo: Completo, de configuración y de datos de usuario. Ampliarlo, sin embargo, a que acepte otros tipos de respaldo es trivial.
  • Las pruebas que he hecho son con tar, pero podemos usar algún otro método para archivar, siempre que permita enviar la salida a un flujo de datos, con modificar bkCmd

3.2 Cifrado del lado del cliente

  • El cifrado se hace con un programa externo que nos permita trabajar sobre un flujo de datos
  • GPG (versión GNU de PGP) parece ideal
    • Cifrado con llave pública: No es necesario siquiera poder descifrar el respaldo con la información contenida en el cliente ni en el servidor
    • GPG incluye compresión (probablemente gzip)
  • Podrían usarse otros métodos -- Basta con modificar cryptCmd

3.3 Doble conexión

El proceso que sigue una conexión es:

  1. El cliente se conecta al puerto indicado del servidor
  2. El servidor verifica que la conexión venga de una dirección aprobada
  3. El cliente abre un puerto aleatorio, e informa al servidor cuál puerto abrió
  4. El servidor se conecta de vuelta con el cliente por este puerto
  5. El cliente verifica que la conexión venga del servidor
  6. El cliente envía el respaldo completo cifrado al servidor a través de este nuevo puerto
  7. El servidor almacena los datos en un lugar predeterminado

Proceso a agregar próximamente:

  • En el paso 3, enviar el puerto cifrado con una llave secreta que tengan tanto cliente como servidor
  • En el paso 5, verificar no sólo por la IP, sino que por una cadena cifrada con la llave secreta, que es realmente el servidor.

3.4 Medio en el que se almacena el respaldo

  • Se almacena en el disco duro de un servidor remoto
    • ¿Cuánto cuesta hoy en día un disco duro grande?
    • Velocidad, confiabilidad
  • Se puede combinar con crontab para quemar un CD-ROM periódicamente
    • Hacer más granular lo que se graba -- ¿Necesitas grabar en CD TODO el sistema?
    • Los CD-Rs y CD-RWs son ya muy baratos

3.5 Seguridad implementada por el esquema

  • Cifrado con GPG
  • Spoofing difícil (aunque a estas alturas, aún no imposible)
  • El respaldo es almacenado en un medio confiable
  • El respaldo puede trasladarse sin mayor problema a un medio removible

3.6 Problemas con este esquema

  • Está hecho para resolver mis necesidades, no cualquier necesidad
  • Costo de disco duro para respaldos masivos
  • No contempla (nativamente) guardar respaldos en medio removible
  • Estando cifrado con GPG, un bit corrupto puede hacer inútil al respaldo entero
  • Es una idea nueva y, por tanto, no del todo confiable

Implementación de seguridad con sistemas operativos y herramientas libres

Submitted by gwolf on Sat, 02/09/2008 - 20:56
Written in...: 
2001

I gave this talk at the GNU/Linux 2001 conference in Jalapa, Veracruz, in September 2001. In this article I show different characteristics and security reccomendations using free operating systems and tools.

  • PDF (fit for printing)
  • HTML (fit for online viewing)
  • LyX sources (for editing or modifying)
Resumen: 

Esta plática la dí en el Congreso GNU/Linux 2001 en Jalapa, Ver., en septiembre del 2001. En este artículo muestro diferentes características y recomendaciones de seguridad utilizando los diferentes sistemas operativos y herramientas libres.

  • PDF (apto para imprimir)
  • HTML (apto para consultar en línea)
  • Fuente en LyX (apto para editar o modificar)

Recomendaciones de seguridad en Linux

Submitted by gwolf on Sat, 02/09/2008 - 16:44
Written in...: 
2001

Once again, I was invited to the seminar, with Computer Security Department of UNAM, this time in April 2001. The topic this time: Security guidelines in a Linux installation. How you can make a newly made Linux installation a difficult target for an attacker.
This same material, although updated and enhanced, was also presented as a tutorial at Congreso de Seguridad en Cómputo 2001, also organized (of course) by DSC, UNAM.

  • PDF (fit for printing)
  • HTML (for online viewing)
  • LyX sources (if you want to edit or modify it)
Resumen: 

De nueva cuenta, me invitaron a participar en el Admin-UNAM del Departamento de Seguridad en Cómputo de la UNAM, esta vez en abril del 2001. El tema expuesto en esta ocasión: Recomendaciones de seguridad en una instalación de Linux. Cómo hacer que un Linux recién instalado sea una presa muy
difícil para cualquier atacante.
Este mismo material, aunque bastante ampliado, lo presenté también como tutorial en el Congreso
de Seguridad en Cómputo 2001
, organizado también (claro está) por el DSC de la UNAM.

  • PDF (apto para imprimir)
  • HTML (apto para consultar en línea)
  • Fuente en LyX (apto para editar o modificar)
Syndicate content