Diferencia entre revisiones de «Postgrey»

De FJWiki
Saltar a: navegación, buscar
m (Dependencias)
Línea 7: Línea 7:
 
Verificar e instalar las dependencias que no se tengan:
 
Verificar e instalar las dependencias que no se tengan:
 
* [http://www.cpan.org/ports/index.html Perl (version ≥ 5.6.0)]
 
* [http://www.cpan.org/ports/index.html Perl (version ≥ 5.6.0)]
* [href="http://search.cpan.org/dist/Net-Server/ Net::Server]
+
* [http://search.cpan.org/dist/Net-Server/ Net::Server]
* [href="http://search.cpan.org/dist/IO-Multiplex/ IO::Multiplex]
+
* [http://search.cpan.org/dist/IO-Multiplex/ IO::Multiplex]
* [href="http://search.cpan.org/dist/BerkeleyDB/ BerkeleyDB (Perl module)]
+
* [http://search.cpan.org/dist/BerkeleyDB/ BerkeleyDB (Perl module)]
* [href="http://www.sleepycat.com/download/db/index.shtml Berkeley DB (Library, version ≥ 4.1)]
+
* [http://www.sleepycat.com/download/db/index.shtml Berkeley DB (Library, version ≥ 4.1)]
  
 
== Bajando los archivos ==
 
== Bajando los archivos ==

Revisión del 17:04 11 dic 2008

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:

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

[root@servidor init.d]# useradd -d /var/spool/postfix/postgrey -m -r -s /sbin/nologin 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 init.d]# 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.

Ver También