Friday, March 15, 2002, 1:16:14 AM, you wrote:
�GS> Ver�n, tengo una sangrante pelea con postfix y pop-before-smtp y de 
momento voy
�GS> perdiendo de paliza, necesito refuerzos.


Hola �ncor, te cuento como lo tengo montado.
Lo primero es que tu servidor POP debe guardar la IP del cliente en
los logs. En mi sistema con Potato uso qpopper 4.0.3
(http://www.eudora.com/qpopper/) compilado desde las fuentes. Para que
guarde ese log hay que a�adir

--enable-log-login

al hacer el ./configure
El log tiene este aspecto:

Mar 15 10:43:42 mail popper[21600]: (v4.0.3) POP login by user "pepito" at 
(194.101.101.1) 192.101.101.1

Luego instal� pop-before-stmp directamente desde el tar.gz, no us� el
paquete .deb
Debes colocar el archivo pop-before-smtp.init en /etc/init.d (y crear
los enlaces simb�licos desde los /etc/rc*.d (puedes usar update-rc) y
colocar el archivo pop-before-smtp en /usr/sbin/
Tienes que modificar algunos par�metros en /usr/sbin/pop-before-smtp,
decirle en que log est�n las IP de los clientes y que expresi�n
regular vas a usar para extraer esa IP ($pat2 y $pat), yo tengo:

my $logfile = '/var/log/syslog';

# Bennett Todd to add support for GNU pop3d
my $pat2 = '^(... .. ..:..:..) \S+ gnu-pop3d\[\d+\]: ' .
      'User .* logged in with mailbox .* from (\d+\.\d+\.\d+\.\d+)$';

# Alex Burke's popper install
# Funny enough our version of popper matches this regular expression using
# the syslog file. 2002-03-01 aep
#
my $pat = '^(... .. ..:..:..) \S+ popper\[\d+\]: Stats: \S+ ' .
           '(?:\d+ ){4}(?:\S+ )?(\d+.\d+.\d+.\d+)$';

Tambi�n puedes modificar los siguientes:

my $dbfile = '/etc/postfix/pop-before-smtp'; # DB hash to write
my $grace = 1800; # 30 minutes --- grace period

Para que funcione pop-before-smtp necesitas tener en tu sistema los
siguiente m�dulos de Perl (inst�lalos con CPAN, ej:  perl -MCPAN -e 'install 
Time::HiRes')

File::Tail
Time::HiRes
Net::Netmask
Date::Parse

Ahora es el momento de hacer

/etc/init.d/pop-before-smtp start

y ver si /etc/postfix/pop-before-smtp.db cambia, o mejor aun ver su
contenido con db-dump -d, haz POP desde IPs distintas y deber�as ver
algo como esto

[024] 3884 len:  13 data: 194.101.101.1
[025] 3881 len:   2 data: ok

Si no sale nada (si no almacena las IP) puede ser que te falle la
expresi�n regular para el formato de tus logs, precisamente ese es el
�nico problema con que me encontr�. Con

/etc/init.d/pop-before-smtp status

puede ver si est� ejecut�ndose.

Vamos ahora con postfix, lo �nico que tienes que hacer es configurar
el par�metro smtpd_recipient_restrictions
yo tengo lo siguiente

smtpd_recipient_restrictions = permit_mynetworks
        check_client_access hash:/etc/postfix/pop-before-smtp
        check_relay_domains

y no te olvides del
postfix reload

eso es todo, espero haberte ayudado
un saludo
  Santi

Responder a