2.22.2007


Mail server con Postfix + Amavis + SpamAssassin + Razor + Pyzor + DCC + Greylisting
Una efectiva solucion libre contra los Virus y el Spam



Todos losque somos usuarios de correo hemos sufrido alguna ves del spam, esta practica molesta de los spammers hace que tengas que reforzar tu servidor de correo con herramientas mas efectivas como adminstrador de sistemas, aunque los spammers muchas veces son muy astutos, aun asi estas herramientas pueden ayudarnos.
Hace poco estuve recibiendo en mi servidor de correo mucha basura, que tenian los mismos patrones de comportamiento que el Spam que llegaba a mi cuenta de Gmail, al parecer era un problema generalizado, e igual preguntando con los companeros adminstradores, los correos presentaban el mismo patron, el spam se incremento razonablemente de un dia para otro, y segia tratando de entender la forma de ataque, basados en los headers de los spammers, para esto requeri un empujoncillo y me arrime a postfix,
Encontre varios manuales muy interesantes, hay quienes usan postfix con chroot, hay quienes no les gusta, hay quienes usan RBLs hay quienes las detestan, pues yo use una mezcla de varios manuales que encontre y he podido erradicar el Spam y los virus de una Manera bastante considerable, hay muchas soluciones ya depende de cada quien.
Lo que se esta usando mucho es la implementacion de Mailgateways para servidores como MS Exchange y algunos sendmail antiguos modificando el DNS para el MX y mandarlo al Mail GW este por consiguiente trata los correos , los evalua , y rechaza o permite los mails pasandolos al servidor de correo real, al parecer la UV ha hecho caso ya , abierto los ojos, y creo que ya protegen su Exchange con MailScanner, (el MRTG nos lo dijo todo http://uv.mx/mailscanner-mrtg/ ) ; ) , bueno esto es una muy buena practica de seguridad que recomiendo, pense en poner el manual pero si es bastante extenso, mejor dejo unas ligas muy usables en las cuales me base.

En postfix.org - Configuracion Standar de postfix
En Sysadmin Magazine - Sucessful spam filtering

Cierto se me pasaba, para ver que enrealidad esta funcionando tu mail filter puedes checar las estadistica con Mailgraph y MailScanner-MRTG

Disfrutalo !


2.20.2007

Raid 1 & LVM con Gentoo Linux

Para quien va enfocado este Quick Install?

*Para empresas de bajos presupuestos y quieren mirroring support en sus servers
*Para los que no tienen un servidor con controladora RAID
*Para los que no tienen nada que hacer
*Para ver quien preguntaba : )

No tiene mucho que lo escribi basado en varios tutoriales en el gentoo wiki y en otras ligas que mas abajo cito, es un recompilado de varios manuales en ingles y otros idiomas, tambien esta basado en la guia rapida de instalacion de Jose Luis ayala, espero les sirva,

Si siges este tutorial paso a paso lo mas seguro es que funcione correctamente, tambien puedes contribuir a correjirlo en caso de que encuentres algun bug ; )
Errores ortograficos ya los tiene, asi que no te preocupes en correjirme apenas termine la primaria con suerte.

Problematica : necesito que mis datos esten respaldados al 100% , para " dormir tranquilo" , pero mi empresa no tiene varo, y no quieren comprar una tarjeta raid,

Solucion: Mirroring basado en software ! , mas lento pero oportuno y eficaz!

Que necesitamos, 1 servidor y dos discos duros de preferencia de la misma capacidad.
1 live cd de Gentoo www.gentoo.org

Iniciemos pues :

Bootear con el live cd de Gentoo

#A la hora de hacer el boot
gentoo doscsi nox dmraid=X

#Ya que nuestro live cd termine de cargar, crear conciencia de nuestro hw
lspci
grep bogo /proc/cpuinfo

#Optimizando nuestros discos
hdparm -tT /dev/sda /dev/sdb

#Cargamos modulos esenciales para trabajar con nuestro Raid virtual
modprobe raid1
modprobe dm-mod
modprobe dm

#Necesitamos dos discos duros de preferencia de gran tamano
cfdisk /dev/sda
cfdisk /dev/sdb

# Esta es la idea principal del particionamiento de nuestros discos en la particion vamos a usar LVM






#Cargamos el Modulo del Raid
modprobe raid1

#Copiamos la simetria de la particion de sda a sdb
sfdisk -d /dev/sda | sfdisk /dev/sdb


#Creamos los nodos para los Raid Virtuales

mknod /dev/md0 b 9 0

mknod /dev/md1 b 9 1
mknod /dev/md1 b 9 2
mknod /dev/md2 b 9 2
mknod /dev/md3 b 9 3

#Usamos el comando mdadm, creamos el Raid virtual /dev/md0 asignamos el nivel deseado , numero de discos y ubicacion logica
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

#Despliego la info de los niveles de RAID en nuestros nodos






#Deberia de quedar de la siguiente manera







#
#Incluira /usr,/var,home,tmp,opt

#Nota:
#Algunos tutoriales recomiendan usar ext2 para boot, y ext3 para / y no meterlos en el Raid,
#Pero a mi me ha resultado asi, se me hace mas eficiente tener el disco 100% mirroring


#Estatus de nuestro RAID
watch -n1 'cat /proc/mdstat'

#Crear el archivo mdadm.conf
nano -w /etc/mdadm.conf

-----------------------------------------------------------
DEVICE /dev/sda*
DEVICE /dev/sdb*
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1
ARRAY /dev/md1 devices=/dev/sda2,/dev/sdb2
ARRAY /dev/md2 devices=/dev/sda3,/dev/sdb3
ARRAY /dev/md3 devices=/dev/sda4,/dev/sdb4
MAILADDR root@localhost
-----------------------------------------------------------


#O Igual Se puede gnerar de la siguiente manera
#Mandamos a escribir al archivo de configuracion
mdadm --detail --scan > /etc/mdadm.conf
more /etc/mdadm.conf

#En este caso yo prefiero utilizar Reiser File System
mkreiserfs /dev/md0

#Creamos la swap
mkswap /dev/md1
#Activamos nuestra swap
swapon /dev/md1

#Creamos /dev/md2 es equivalente a sda3 y sdb3 que vendria siendo en nuestro esquema " / " esto porque iniciamos de 0 el raid
mkreiserfs /dev/md2

#Cargamos el modulo del lvm
modprobe dm-mod

##### LVM #####

# Desde este momento empezamos con la creacion de nuestro LVM en lo que seria nuestras particiones sda4 y sdb4 sobre la virtual md3
mkdir -p /etc/lvm

#Mandamos a escribir en nuestro archivo de Configuracion el scan que se debe de hacer a la hora de buscar los LVM en el arranque
echo 'filter=["a|dev/md3|", "r/.*/"]' >/etc/lvm/lvm.conf

#Escaneamos los discos
vgscan
vgchange -a y

#Ahora vamos a crear los Volumenes Logicos dentro de md3, ya mencione a que particion logica equivale
pvcreate /dev/md3

#Desplegamos nuestros Volumenes
pvdisplay

#Vamos a Crear el Volumen Logico en el Raid , Reemplaza LinuxSystem{name} por como quieras llamarlo "Por limpieza !"
vgcreate LinuxSystemPegasus /dev/md3

#Desplegamos nuestro "bonito" LVM
vgdisplay LinuxSystemPegasus

#Ahora lo que debemos hacer es asignar el espacio deseado para cada particion dentro del raid dentro del LVM
aqui ya tu debes aplicar la reglas basicas de tus necesidades de particionamiento por espacio por servicio, por tipo de servidor
etc, puedes o no puedes crear /opt o /tmp podria ser en ves /chroot o /ftp o como tu lo desees.

#### IMPORTANTE ####
#Hay que recordar que este particionamiento es solo como si fuera un disco ya que nuestro RAID solo sera espejo, no cuentes aqui el
tamanio de los dos discos.

lvcreate -L 20G -n usr LinuxSystemPegasus
lvcreate -L 30G -n home LinuxSystemPegasus
lvcreate -L 20G -n opt LinuxSystemPegasus
lvcreate -L 30G -n var LinuxSystemPegasus
lvcreate -L 20G -n tmp LinuxSystemPegasus


#Vamos a formatear el LVM con ReiserFS, ya con el nombre del volumen logico en mi caso es
LinuxSystemPegasus (a quien no le gustaron los caballeros del zodiaco?)

mkreiserfs /dev/LinuxSystemPegasus/usr
mkreiserfs /dev/LinuxSystemPegasus/home
mkreiserfs /dev/LinuxSystemPegasus/opt
mkreiserfs /dev/LinuxSystemPegasus/var
mkreiserfs /dev/LinuxSystemPegasus/tmp

#O puede ser con un for
for i in usr home opt var tmp; do mkreiserfs /dev/LinuxSystemPegasus/$i; done;

#Tiempo estimado de vuelo

---30min---

##### Instalacion Basica de Gentoo #####
# montamos la particion virtual que vendria siendo equivalente a /
mount /dev/md2 /mnt/gentoo/
cd /mnt/gentoo/

#Vamos a crear los directorios con las particiones que creamos con lvcreate
mkdir boot usr home opt var tmp

#Vamos a montar md$x en su debida particion $x = 0,1,2,3
mount /dev/md0 boot

for x in `ls /dev/LinuxSystemPegasus`; do mount /dev/LinuxSystemPegasus/$x $x; done

#Hay que obtener el Stage Deseado ya sea desde el CD de arranque o desde un mirror o un USB
#En este caso en particular yo use el stage3-x86 de la version 2006.0 de gentoo
cd /mnt/gentoo/
tar xvjpf stage3-x86-2006.0.tar.bz

#Lo descomprimimos en /mnt/gentoo/usr
tar xvjpf portage-latest.tar.bz2 -C /mnt/gentoo/usr

#Ahora vamos a seleccionar los mirrors en donde nuestro portage va a buscar los paquetes a instalar y lo mandamos
# a escribir al make.conf
mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev


# Copiar la referencia del RAID
cp -L /etc/mdadm.conf /mnt/gentoo/etc/mdadm.conf


##### CHROOT #####
# Hagamos nuestro CHROOT para empezar a instalar nuestro sistema
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"


#Sincronizar nuestro portage con el ultimo estable
emerge --sync

#Variables esenciales
nano -w /etc/portage/package.use
sys-kernel/gentoo-sources -doc symlink
sys-fs/lvm2 nolvmstatic

#Emerger los sources y el genkernel
emerge -bk gentoo-sources
emerge -bk genkernel
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

#De Cajon
emerge lvm2
emerge raidtools
emerge mdadm
emerge reiserfsprogs

#Aniadir mdadm al inicio
rc-update add mdadm default


#Editar nuestro fstab
nano -w /etc/fstab








#Editar lvm.conf







#Editar raidtab, se puede apreciar claramente que dispositivo virtual es , y a que dispositivo logico hacemos el mapeo con la variable 1 del raid-disk































#Anadir los modulos para que sean cargados al inicio

nano -w /etc/modules.autoload.d/kernel-2.6
----------------------------------------
dm-mod
----------------------------------------


## GRUB Instalacion, muy importante este paso ##

mknod /dev/md0 b 9 0

emerge grub
grub --no-floppy

grub> find /boot/grub/stage1

#Vamos a hacerlo por Disco Duro, porque ? bueno, si se friega el primer disco, vamos a reemplazarlo por el segundo, pero necesitamos que igual bootee, : )

grub>device (hd0) /dev/sda
grub>root (hd0,0)
grub>setup (hd0)

#Segundo Disco Duro

grub>device (hd0) /dev/sdb
grub>root (hd0,0)
grub>setup (hd0)

#Crear el archivo /boot/grub/grub.conf, aqui se basa el booteo puede estar todo configurado correctamente pero si titubeamos en la configuracion del grub puede que nuestro servidor no inicie

nano -w /boot/grub/grub.conf
-----------------------------------------------------------
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo with Raid1 & LVM2
root(hd0,0)
kernel /kernel-genkernel-x86-2.6.17-gentoo-r7 root=/dev/rd/0 init=/linuxrc
real_root=/dev/md2 vga=791 splash=verbose,theme:livecd-2006.0 CONSOLE=/dev/tty1 quiet dolvm2 dodmraid doscsi udev lvmraid=/dev/md1,/dev/md2,/dev/md3,/dev/md4
initrd /initramfs-genkernel-x86-2.6.17-gentoo-r7

-----------------------------------------------------------

# Especial atencion aqui , define el real_root con md2 ya que desde el incio va a botear con / pero en el RAID


#Creacion del kernel con Genkernel compilamos el soporte para dmraid y lvm2
genkernel --install --disklabel --gensplash=livecd-2006.0 --lvm2 --dmraid --menuconfig all

#Ahora estos son los modulos del kernel que hay que cargar






















#### SERVER BASE Tunning #####

cp /usr/share/zoneinfo/Mexico/General /etc/localtime
emerge e2fsprogs
emerge -bk syslog-ng
rc-update add syslog-ng default
emerge -bk vixie-cron
rc-update add vixie-cron default
emerge -bk slocate
emerge -bk splashutils
emerge -bk portmap
rc-update add portmap default
rc-update add sshd default
emerge -bk app-admin/sudo
emerge -bk nfs-utils
nano -w /etc/profile
emerge -bk gentoolkit
emerge -bk dhcpcd
emerge -b splashutils
emerge -b splash-themes-livecd

# Importante !

passwd

#Desmontar todo

umount /mnt/gentoo/var
umount /mnt/gentoo/usr
umount /mnt/gentoo/home
umount /mnt/gentoo/tmp
umount /mnt/gentoo/opt
umount /mnt/gentoo/proc
umount /mnt/gentoo/boot
umount /mnt/gentoo
vgchange -an
reboot

#Y listo tenemos funcionando nuestro servidor con LVM y Raid 1 en todas sus particiones
Como comprobar que el raid este funcionando?
Inicia con el Disco duro secundario sin el primario
o puedes invertirlos y reconstruir tu Raid, veras que los datos sigen ahi.

mdadm --add /dev/md0 /dev/sd{a|b}$x

donde $x=1,2,3,4



Espero sea de su ayuda y bienvenidos sean sus comentarios.

Saludos !



Tutoriales consultados:

http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID_mirror_and_LVM2_on_top_of_RAID

http://gentoo-wiki.com/HOWTO_Resynchronize_Software_RAID_Mirror

http://gentoo-wiki.com/HOWTO_Install_on_Software_RAID


2.16.2007

Sin carne, sin cerveza , sin refresco ... esto no es vida !

1 taco en mes y medio casi ! los estragos de los excesos, mi doctor por fin me puso un alto despues de ver mis analisis de sangre, donde arrojan lo peor, no entiendo muchas de las cosas que ahi dicen, pero en resumen, No carne, no refresco, no grasas, pero lo peor de todo NO CERVEZA !!!!!
Pues ni hablar ya llevo mas de un mes asi y pues hasta baje de peso un poco, solo son 3 meses pero ahi la llevo, comi carne el dia del superbowl pero me hizo dano , creo que mi organismo quiere recompilarse y no cargar el modulo de la carne , por lo pronto estoy mas palido y se me notan mas las ojeras, pero con 1kg menos !

2.14.2007

Monitoreando la Red con :


Estos ultimos meses, he estado probando Nagios , me queda decir que es una exelente herramienta , por diferentes puntos, es muy accesible, muy veloz y tiene muchos add-ons, puedes usar lmsensors y me parece que por ahi alguien ya lo ha usado con rrdtool, te hace reportes via mail cuando un host esta caido, o pierde paquetes, el servidor web de apache no contesta, la base de datos esta inhibida, el servidor smtp o pop3 tienen problemas, puede hacer reportes en modo trends muy recomendable, tambien reportes historicos por dia , mes , servicio host o protocolo, etc etc etc, ya depende de la configuracion que cada quien quiera implementar, se puede implementar un agente NRPE para el monitoreo remoto entre muchas otras monerias.
Es importante recordar que intente configurarlo con varias herramientas como nagmin o fruityx, pero nada como hacerlo a manopla todo #$EDITOR nagios.cfg , depende de una columna vertebral de 5 archivos donde se falta una "," todo falla, jajaja, eso es un poco confuso para los primerisos, pero cuando se ve que todo funciona, no puedes parar de monitorear todo lo que se te ocurra.

everybody loves screenshoots !

Asi se ve el nagios ya configurado y con un buen tema:


This page is powered by Blogger. Isn't yours?