Postgrey
De FJWiki
Contenido |
Introducción
Este es un mini-howto de cómo instalar a partir de las fuetes y configurar el Postgrey.
Dependencias
Verificar e instalar las dependencias que no se tengan:
- Perl (version ≥ 5.6.0)
- Net::Server
- IO::Multiplex
- BerkeleyDB (Perl module)
- Berkeley DB (Library, version ≥ 4.1)
Bajando los archivos
Bajamos y desempaquetamos:
[root@servidor ~]# wget http://postgrey.schweikert.ch/pub/postgrey-1.32.tar.gz [root@servidor ~]# tar xvzf postgrey-1.32.tar.gz
Copiando archivos
Primero copiamos los ejecutables:
[root@servidor ~]# cd postgrey-1.32 [root@servidor postgrey-1.32]# cp postgrey /usr/sbin/ [root@servidor postgrey-1.32]# cp contrib/postgreyreport /usr/sbin/
Hay que verificar que los archivos copiados estén con permiso de ejecución.
Ahora copiamos los archivos de configuración base:
[root@servidor postgrey-1.32]# cp postgrey_whitelist_clients /etc/postfix/ [root@servidor postgrey-1.32]# cp postgrey_whitelist_recipients /etc/postfix/ [root@servidor postgrey-1.32]# touch /etc/postfix/postgrey_whitelist_clients.local
En postgrey_whitelist_clients.local se colocarían las personalizaciones del whitelist.
Creando demonio postgrey
Crearemos el archivo ejecutable del demonio:
[root@servidor postgrey-1.32]# cd /etc/init.d [root@servidor init.d]# touch postgrey [root@servidor init.d]# chmod +x postgrey [root@servidor init.d]# vim postgrey
Este es el contenido del archivo /etc/init.d/postgrey, está basado en el demonio que trae el rpm del postgrey para fedora core 10.
#!/bin/sh # # chkconfig: - 79 31 # description: Postfix Greylisting Policy Server # # processname: postgrey # # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 prog=postgrey postgrey=/usr/sbin/$prog DBPATH=/var/spool/postfix/postgrey SOCKET=$DBPATH/socket #OPTIONS="--unix=$SOCKET" OPTIONS="--inet=10023 --group=postgrey" # Source an auxiliary options file if we have one, and pick up OPTIONS, if [ -r /etc/sysconfig/$prog ]; then . /etc/sysconfig/$prog fi [ -x $postgrey -a -d $DBPATH ] || exit 0 RETVAL=0 start() { echo -n $"Starting $prog: " daemon $postgrey -d $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog } stop() { echo -n $"Stopping $prog: " killproc $postgrey RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $postgrey -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; condrestart) [ -f /var/lock/subsys/$prog ] && restart ;; status) status $postgrey ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|reload|status}" exit 1 esac exit $RETVAL
Creando usuario para el demonio
Se debe crear el usuario y el grupo (de ser necesario):
[root@servidor ~]# groupadd -r postgrey [root@servidor ~]# useradd -d /var/spool/postfix/postgrey -m -r -s /sbin/nologin -g postgrey postgrey
Verificamos que no tenga cualquier usuario acceso de lectura al directorio home de postgrey (en algunas distribuciones podría crearse con los permisos inadecuados), para cambiarlos ejecutamos:
[root@servidor ~]# chmod 700 /var/spool/postfix/postgrey
Activando el demonio
Ahora sí estamos listos para activar el servicio.
[root@servidor init.d]# chkconfig --add postgrey [root@servidor init.d]# chkconfig postgrey on [root@servidor init.d]# service postgrey start
Configurando Postfix
Para incluir en el postfix el uso del postgrey, se debe incluir en la directiva smtpd_recipient_restrictions la siguiente opción (recomendable que sea última, o como mínimo posterior a las opciones que permiten acceso): check_policy_service inet:127.0.0.1:10023. Ver Asegurando Postfix.
Ejemplo de uso
En un servidor en el que instalé Postgrey, se pudo ver una disminución sustancial del SPAM, y un aumento de los correos rechazados (que son justamente todo ese SPAM que intenta entrar). Aquí está un gráfico del mes en el que se puso:
Ver También
- Página oficial: http://postgrey.schweikert.ch/
- Download: http://postgrey.schweikert.ch/pub/
- Explicación general del funcionamiento del Postgrey: http://blogs.antartec.com/opensource/2009/03/postgrey-defendiendonos-del-spam/


