miércoles, 29 de julio de 2009

Breaking Bad


Añado a mi corta lista de series favoritas Breaking Bad. Recomendable [7/10].

lunes, 27 de julio de 2009

Excluir nuestra IP en Google Analytics

En la configuración del perfil, en el apartado Filtros aplicados al perfil, añadimos una entrada nueva para que no tenga en cuenta una determinada IP en las estadísticas de Google Analytics.

Nombre del Filtro: IP de mi casa.
Tipo de Filtro: Excluir todo el tráfico procedente de una dirección IP específica.
Dirección IP: 81\.82\.83\.84

También podríamos excluir subredes o redes enteras con expresiones regulares.

Saludos.

Instalar Brute Force Detection

BFD es un shell script para prevenir ataques de fuerza bruta. En este caso lo voy a configurar para que envie un correo electrónico con el aviso y banee la IP con iptables.

Cuando ya estemos conectados, nos colocamos en /tmp

cd /tmp

Descargamos la última versión

wget http://www.r-fx.ca/downloads/bfd-current-tar.gz

Descomprimimos el fichero

tar -xvzf bfd-current.tar.gz

Nos colocamos dentro del directorio (ojo, el nombre de la carpeta puede cambiar según la versión)

cd bfd-0.9

Ejecutamos el archivo de instalación

./install.sh

Una vez finalizada la instalación, nos aparecerá algo parecido a esto:

.: BFD installed
Install path: /usr/local/bfd
Config path: /usr/local/bfd/conf.bfd
Executable path: /usr/local/sbin/bfd

Ahora vamos al archivo de configuración para activar las alertas por correo electrónico y para indicarle que cuando detecte los intentos de acceso fallidos, banee la IP con iptables.

vi /usr/local/bfd/conf.bfd

Para activar el aviso por correo electrónico, hay que cambiar la variable ALERT_USR="0" por ALERT_USR="1".

En la variable EMAIL_USR="root", en vez de root, debemos poner nuestra dirección de correo.

Por último, buscamos la variable BCMD y le asignamos la siguiente sentencia quedando de esta manera:

BCMD="/sbin/iptables -I INPUT -p tcp -s $ATT_HOST -j DROP"

Guardamos y salimos del fichero de configuración.

Ahora solo falta añadir al fichero ignore.hosts en /usr/local/bfd/ nuestras IPs para evitar que nos banee a nosotros mismos.

Cuando todo esté OK, arrancamos el script.

/usr/local/sbin/bfd -s

Eso es todo :)

viernes, 17 de julio de 2009

Publicar en Twitter desde la Shell

No es que sea la forma más cómoda de escribir en Twitter pero para algún script puede resultar útil.

#!/bin/bash
# Twitter Update

declare -rx USERNAME="USUARIOTwitter"
declare -rx PASSWORD="ContraseñaTwitter"

declare -x STATUS="$@"
curl ‘http://twitter.com/statuses/update.xml’ \
-u ${USERNAME}:${PASSWORD} \
-d "status=${STATUS}" > /dev/null 2> /dev/null
# EOF

Lo guardamos por ejemplo como twitter.sh y le damos permisos de ejecución:

# chmod +x twitter.sh

Un ejemplo de uso:

# ./twitter.sh @Fidoxd funciona! :)

domingo, 12 de julio de 2009

Instalar Cacti en Linux

Últimamente he estado trasteando con Cacti y la verdad es que me ha sorprendido. Explicaré por encima cómo instarlo para quien le pueda interesar.

Para el que ande un poco perdido, Cacti es una solución completa para la creación de gráficas para la monitorización de dispositivos.

Para la instalación yo he utilizado Centos 5 y Fedora Core 7. Es practicamente igual para las dos distribuciones salvo la instalación de RRDTool que lo tuve que compilar "a mano".

Los paquetes necesarios para la instalación son los siguientes:
  • Apache
  • PHP
  • php-mysql
  • php-snmp
  • mysql-server
  • rrdtool
  • net-snmp
  • net-snmp-utils
Nos creamos un usuario en el sistema

useradd cactiuser

Ahora nos conectamos al MySQL...

myqsl
mysql> set password for root@localhost=password('tu_pass_root' );
mysql> create database cactidb;
mysql> grant all on cactidb.* to root;
mysql> grant all on cactidb.* to root@localhost;
mysql> grant all on cactidb.* to cactiuser;
mysql> grant all on cactidb.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('Tu_pass_cactiuser');
mysql> exit

Ya tenemos creada la base de datos, asignado los permisos para el usuario root y para el usuario cactiuser y hemos tambien establecido una password para ambos usuarios.

Lo siguiente será descargarnos la última versión de Cacti: http://cacti.net/download_cacti.php

Podemos hacerlo de la siguiente forma:

# wget http://www.cacti.net/downloads/cacti-0.8.7.tar.gz

Una vez descargado, lo descomprimimos…

# tar xzvf cacti0.8.7.tar.gz -C /var/www/html

Ahora renombramos la carpeta

# mv /var/www/cacti0.8.6h /var/www/html/cacti

Nos posicionamos en la carpeta del cacti

# cd /var/www/html/cacti

Importamos el archivo cacti.sql a la base de datos que creamos anteriormente

# mysql user=root password=tu_password_root cacti.sql 


Por último, ponemos como propietario cactiuser a las carpetas rra y log.

# chown -R cactiuser /log rra/

Ahora configuramos el Cacti para que realice la conexión con MySQL. Para ello evitamos el archivo config.php

# vi /var/www/html/cacti/include/config.php

y lo dejamos de la siguiente forma:

$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "Tu_pass_cactiuser";
$database_port = "3306";

Guardamos y salimos del editor Vi.

:wq

A continuación, vamos a crearnos una tarea programada.

# vi /etc/cron.d/cacti

y le indicamos que cada 5 minutos se ejecute.

*/5 * * * * cactiuser /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1

Ahora podemos coger el navegador y escribir:

http://ip-del-server/cacti

o si estás en el mismo servidor

http://localhost/cacti

Si todo ha ido bien, nos aparecerá un asistente para la instalación, pinchamos en next, le indicamos que es una nueva instalación y muy importante, en la siguiente pantalla, nos deberá aparecer todos los paquetes con la palabra en verde [FOUND]. Eso quiere decir que tenemos todos los paquetes necesarios instalados. En el caso de que alguno en rojo con [NOT FOUND], no seguir la instalación.

Si todo ha ido bien, pinchamos en finalizar y habremos terminado la instalación. Accedemos con el usuario admin y el password admin. En el primer logueo, nos pedirá que cambiemos la contraseña.

Listo! Ya pueden empezar a jugar con el Cacti. Asegurense de permitir en el Firewall las conexiones UDP por el puerto 161 y 162 para el SNMP.

Que aproveche :)

viernes, 10 de julio de 2009

Jugando con centinela #1

Ayer eliminé un elemento de mi lista "TO DO". Desde hace un montón de tiempo quería probar pfsense, un Firewall opensource bajo FreeBSD.

Aprovechando una limpieza de ordenadores en mi casa, hice un casting para ver cual sería el elegido. Tenía todas las papeletas un Pentium 100 pero el pobre no podía ni arrancar así que terminé eligiendo el AMD que taaaannntos problemas me dio a la hora de jugar.

La única modificación que tuve que hacer fue añadirle una segunda tarjeta de red, imprescindible como mínimo para un Firewall.

La instalación es muy sencilla, puedes utilizar el CD Live sin necesidad de tocar el disco duro. En mi caso elegí la opción de instalación en el disco duro, no quería que un apagón inesperado de Unelco Endesa me jodiera la configuración.

No he tenido mucho tiempo de jugar con él, solamente lo he bautizado como centinela, he asignado las interfaces LAN y WAN y he configurado el NTP porque la pila de la placa está agotada.

Hasta aquí la primera entrega. centinela is alive :)

miércoles, 8 de julio de 2009

Usar Google Apps con tu propio dominio

Muchos de los usuarios desconocen la posibilidad de utilizar su propio dominio con las aplicaciones de Google.

Para registrarse hay que acceder a esta dirección. Tienes dos posibilidades, utilizar un dominio que ya tengas registrado o sobre la marcha con Google por 10 dólares al año.

Si vas a utilizar el servicio de correo electrónico, debes modificar el registro MX de tu dominio y poner las siguientes direcciones:
  • aspmx.l.google.com 10
  • alt1.aspmx.l.google.com 20
  • alt2.aspmx.l.google.com 30
  • aspmx2.googlemail.com 40
  • aspmx3.googlemail.com 50
Eso es todo :)