28 de septiembre de 2009

Hablando sobre forensia de datos en Libres, Pue.

El día de hoy, por la mañana viajé a la ciudad de Libres, que resulta ser un municipio del estado de Puebla. Esta ciudad queda cerca de los límites con Veracruz. La cosa es que el título de mi conferencia fue: "Forensia de datos, o ¿cómo darse cuenta que ya me hackearon?"

La conferencia estuvo dividida en 3 partes:
  1. Algunas precisiones sobre lo que es y lo que un hacker hace.
  2. Una breve introducción a los métodos más comunes de hackeo.
  3. Finalmente, la parte medular de la charla: El detalle de un procedimiento llevado a cabo para identificar un ataque. Es decir, un proceso forense.
La primera parte fue la más sencilla de todas, pues hablé sobre lo que es un cracker, un hacker (sombreros blanco y negro) y las motivacione para la existencia de cada uno de éstos.

La segunda parte, no merece mucho más detalle. Aunque debo confesar que bajo mi criterio, fue también la que más llamó la atención de los chicos ya que en la mayoría de los casos no tenían una idea muy clara de estas técnicas y vaya, vi a muchos muy entusiasmados apuntando.

Finalmente, aunque no pude concluír, debido a asuntos de tiempo, llevé a cabo una pequeña reseña de los pasos a seguir para descubrir qué, cómo y cuándo se había metido a una máquina.

En fin, la idea de todo esto es que, me quedaron claras algún par de cosas:
  • La cultura de la seguridad informática no está (tristemente) muy extendida en México, ni siquiera en las instituciones educativas de nivel superior. Lo cual, como se puede ver, es alarmante.
  • Y la más importante de todas, casusa siempre una gran satisfacción (y es siempre un reto), el tener la oportunidad de hablar a mentes jóvenes y brillantes.
Si deseas ver la presentación, puedes hacerlo dando click sbre la siguiente liga: http://docs.google.com/present/edit?id=0AVqCV1D_VYM9ZGZocmI1YjdfNTNmbXNmdzdkMw&hl=en

10 de septiembre de 2009

Mi muy particular receta para instalar Apache+PHP+PostgreSQL

#!/bin/bash

# Installation directories
INSTALLDIR="/usr/local/myapp"
PGINSTALL="${INSTALLDIR}/pgsql"
MYINSTALL="${INSTALLDIR}/mysql"
HTINSTALL="${INSTALLDIR}/httpd"
OLINSTALL="${INSTALLDIR}/openldap"

# Binaries used
ADDUSER="/usr/sbin/adduser"
PASSWD="/usr/sbin/passwd"

${ADDUSER} postgres -d ${PGINSTALL}
${PASSWD} postgres

tar xfj postgresql-*tar.bz2
cd postgresql-?.?.?/
./configure --prefix=${PGINSTALL} --with-perl --with-pam
gmake
su
gmake install
mkdir ${PGINSTALL}/data
chown postgres ${PGINSTALL}/data

su - postgres -c "${PGINSTALL}/bin/initdb -D ${PGINSTALL}/data"
su - postgres -c "${PGINSTALL}/bin/postgres -D ${PGINSTALL}/data >logfile 2>&1 &"
su - postgres -c "${PGINSTALL}/bin/createdb test"
su - postgres -c "${PGINSTALL}/bin/psql test"

groupadd mysql
useradd -g mysql mysql
tar xfz mysql-*tar.gz

mv mysql-* ${MYINSTALL}
chgrp -R mysql:mysql ${MYINSTALL}
${MYINSTALL}/scripts/mysql_install_db --user=mysql
chown -R root .
${MYINSTALL}bin/mysqld_safe --user=mysql &
cd ..

cd openldap-*
./configure --prefix=${OLINSTALL} --enable-cleartext --enable-crypt --enable-wrappers --enable-passwd --enable-shell --with-tls --disable-bdb
make depend
make
make test
make install
cd ..

tar xfj httpd_xxx.tar.bz2
tar xfh php-xxx.tar.bz2

cd httpd_xxx
./configure --prefix=${HTINSTALL} --enable-module=so
make
make install
cd ..

cd ../php-xxx
./configure --with-apxs2=${HTINSTALL}/bin/apxs --disable-cgi --enable-cli
--with-pgsql=${PGINSTALL} --with-mysql=${MYINSTALL} --with-pdo-pgsql --with-openssl --with-zlib
make
make test
make install