tutorial
Monitoreo de redes con Munin
Munin is an easy, rich, configurable, extensible, autodiscovering system- and network- monitoring framework. I explain what it is, how to deploy it and how to implement custom plugins.
Here you will find two presentations, one as a wider Munin introduction (munin.pdf and its source, written in 2008) and one more (munin_pg.pdf and its source, updated, extended but with many bits shortened, written in 2011) focused on PostgreSQL monitoring, as well as the accompanying article (munin-pg.pdf and its source) for the PostgreSQL presentation.
Munin es un sistema de monitoreo de redes y de sistemas sencillo, rico, configurable, extensible, capaz de autodescubrimiento. Explico qué es, cómo desplegarlo, y cómo implementar plugins a la medida.
Encontrarás dos presentaciones: Una es una introducción más general a Munin (munin.pdf y su fuente, escrita en 2008) y una más (munin_pg.pdf y su fuente, actualizada, extendida pero con varios recortes, presentada en 2011) enfocada en el monitoreo de PostgreSQL, así como el artículo que la acompaña (munin-pg.pdf y su fuente).
- 2 comments
- 21334 reads
Respaldos multinivel robustos y simples utilizando rsync
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.
- LaTeX Beamer sources (presentation source, LaTeX Beamer format)
- Presentation (converted to PDF)
- Script to run on the client - This script is to be run in client machines; this script is reviewed in the last point in my presentation
¿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.
- Presentación LaTeX Beamerr (fuente de la presentación, formato LaTeX Beamer)
- Presentación (convertida a PDF)
- Script que ejecuta el cliente - Este script corre el cliente; es el que analizamos en el punto de la presentación donde menciono ¡vámonos para Emacs
- 2 comments
- 36103 reads
Principios para mantener la seguridad en redes TCP/IP
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.
- Magicpoint presentation converted to HTML
- Full text article in PDF, with the same general structure as the presentation, but much easier to follow
- Magicpoint presentation source Magicpoint format. The diagrams are in its source (Dia) format as well.
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í.
- Presentación Magicpoint convertida a HTML
- Artículo en PDF, con la misma estructura general de la presentación, pero más apto para su lectura
- Presentación Magicpoint formato fuente Magicpoint, los esquemas en su formato fuente Dia
- 26803 reads
Los sniffers y las redes Ethernet
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.
- Full paper (PDF format), suitable for printing
- Full paper (HTML format), for online viewing
- Full paper (source LyX document), for modifying/editing
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.
- Artículo completo (formato PDF), apto para imprimir
- Artículo completo (formatoHTML), para leer en línea
- Artículo completo (documento fuente LyX), Para modificar/editar
- 31601 reads
Security in Perl scripts / Seguridad en scripts de Perl
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.
- Full paper in English (HTML; natively written in this format)
- Magicpoint slides in English (native Magicpoint format)
- Magicpoint slides in English (as HTML)
- Full paper in Spanish (as HTML)
- Full paper in Spanish (native LyX format)
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.
- Artículo completo en español (como HTML)
- Artículo completo en español (formato nativo LyX)
- Artículo completo en inglés (HTML; escrito nativamente en este formato)
- Láminas Magicpoint en inglés (formato nativo Magicpoint)
- Láminas Magicpoint en inglés (como HTML)
- 21803 reads
SOMBI - Still One More Backup Implementation
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.
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:
- El cliente se conecta al puerto indicado del servidor
- El servidor verifica que la conexión venga de una dirección aprobada
- El cliente abre un puerto aleatorio, e informa al servidor cuál puerto abrió
- El servidor se conecta de vuelta con el cliente por este puerto
- El cliente verifica que la conexión venga del servidor
- El cliente envía el respaldo completo cifrado al servidor a través de este nuevo puerto
- 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
- 21164 reads
Implementación de seguridad con sistemas operativos y herramientas libres
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)
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)
- 22535 reads
Recomendaciones de seguridad en Linux
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)
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)
- 23460 reads
Logcheck
Talk I gave at the Admin-UNAM seminar, with Computer Security Department of UNAM, in September 2000.
Logcheck is a tool that checks periodically the system's log files, reporting to the administrator whatever is -according to operator-defined patterns- important.
Plática que dí acerca de esta herramienta en el seminario Admin-UNAM del Departamento de Seguridad en Cómputo de la UNAM en septiembre del 2000.
Logcheck es una herramienta encargada de revisar periódicamente las bitácoras del sistema y reportar al administrador lo que sea -según patrones predefinidos por el administrador- importante.
- 22035 reads
Portsentry
Talk I gave at the Admin-UNAM seminar, with Computer Security Department of UNAM, in September 2000.
PortSentry is a tool that permits easy detection of port scanning, and has the ability to act immediately upon detection.
Plática que dí acerca de esta herramienta en el seminario Admin-UNAM del Departamento de Seguridad en Cómputo de la UNAM en septiembre del 2000.
PortSentry es una herramienta que permite la fácil detección de barridos de puertos y tiene la capacidad de actuar de inmediato al detectarlos.
- 22085 reads
Scripts de seguridad en Perl
Tutorial I presented at Computer Security conference 2000, giving many examples of small Perl scripts that can help improve security at a site.
Tutorial que presenté en el congreso Seguridad en Cómputo 2000, dando varios ejemplos de pequeños scripts en Perl que pueden ayudar a la seguridad de un sitio.
- 23981 reads
Infraestructura de llave pública
The full text for the lecture I gave for the GASU seminar organized by Computer Security
Department at UNAM in july, 2000.
El texto completo de la conferencia que dí para el Seminario GASU del Departamento de Seguridad en Cómputo de la UNAM en julio del 2000.
- 21758 reads
Aprovechando a Debian para la administración de sistemas
Beyond what the Debian policy gives us, a highly coherent system in which everything is in its place and works as it should (for what we the system administrators are really thankful for), we can find a great amount of tools for easing the homogeneity in the administration both in the planning of its package management system as in many packages we have at our disposition. We will go through this, as well as the process of creating .deb packages, beyond the basic instructions. This talk was originally prepared for CICOL, June 2006
Más allá de lo que ya nos dan las políticas de Debian, un sistema altamente coherente en el cual todo está en su sitio (lo cual bendecimos los administradores de sistemas), tanto en la planeación de su sistema de paquetes como en varios paquetes que tenemos a nuestra disposición encontraremos una gran cantidad de herramientas para facilitar la homogeneidad en la administración de sistemas. Revisamos algunas de ellas, así como el proceso de creación de paquetes .deb, más allá de las instrucciones básicas. Preparado originalmente para el CICOL, junio 2006
- Read more
- 18577 reads
Analizadores morfológicos aplicados al lenguaje natural, aplicaciones para búsqueda de información
Almost everybody has faced the need to store a large amount of human-generated information (specifically, extense texts) and later ease the need to search on it. There are many techniques we can use, but we often miss the most powerful ones.
Human spoken or written language is known as natural language. In this talk I present some techniques that allow us to process it to make it easier and simpler its analysis, and make more efficient searching on it, specially based on the Snowball project and its application to databases through PostgreSQL's TSearch2 module.
Casi todos nosotros nos hemos topado con la necesidad de almacenar una gran cantidad de información generada por humanos (me refiero principalmente a textos extensos) y facilitar posteriormente la búsqueda sobre de ella. Hay muchas técnicas a las que podemos recurrir - pero no siempre acudimos al lugar correcto para buscarla.
El lenguaje hablado o escrito por un ser humano se conoce como lenguaje natural. En esta plática presentaré algunas técnicas que nos permiten procesarlo para hacer más simple y efectivo su análisis y más eficaces las búsquedas sobre de él, específicamente basándome en el proyecto Snowball y su aplicación a las bases de datos a través del módulo TSearch2 de PostgreSQL.
- Read more
- 19184 reads
Programación orientada a objetos con Perl
Perl is one of the most popular languages today. Many people, however, do not think it is a good language to do objet-oriented programming, that it is a difficult task to do it or similar things, and leve Perl for tasks that are just too simple. In this tutorial I present an introduction to object-oriented programming in general, and show how to use this technique in Perl.
Perl es uno de los lenguajes más populares hoy en día. Mucha gente, sin embargo, no cree que sea bueno al utilizar programación orientada a objetos, que es difícil lograrlo, o algo por el estilo, y relegan a Perl a tareas demasiado simples. En este tutorial doy una introducción general a la programación orientada a objetos, y enseño cómo utilizar esta técnica en Perl.
- Read more
- 20711 reads
