Pop-before-smtp

Bonjour, debian 2.6, 3.1

Ma configuration actuelle:

Serveur de messagerie:

Postfix+Courier-imap/pop+Openldap

Mise en place en cours:
Pop-before-smtp
Amavis+ClamAv+Spamassasin

J’aimerai autoriser mes utilisateurs authentifiés avec leurs comptes Pop à utiliser la passerelle Smtp de l’exterieur, pour cela j’ai choisi de mettre en place Pop-before-smtp.
J’ai fait un apt-get install pop-before-smtp puis j’ai suivi la doc d’install qui se trouve dans /usr/share/doc/pop-before-smtp.

Mon soucis c’est ça ne marche pas!!!

La config de mon firewall (Netfilter) autorise le port smtp (25) en entrée et sortie.

Quelqu’un à une idée?
Merci
Cordialement,

Qu’est ce qui ne marche pas ? Quand ? Quels sont les messages dans les logs ?
Ah au fait: ta debian est une 3.1 et c’est ton noyau linux qui est en 2.6, et en cas de besoin, il peut être utile de preciser les sous versions (resultat de uname -r).

Bonjour,
Excuse moi je me suis trompé en inversent:
La version de debian est la sarge 3.1 et le noyau 2.6

Ce qui ne marche pas c’est que je ne peux pas utiliser la passerelle smtp de l’exterieur.
J’ai configuré un client pop sous Outlook lorsque j’indique le serveur smtp de free par exemple et que je fais un test:Ok
si j’indique ma passerelle smtp smtp.mondomaine.com (j’ai fais ce qu’il faut au niveau de mas zone dns) ça marche pas il me dit qu’il n’arrive pas à se connecter au serveur smtp.
Merci

Et les logs tu as quoi dedans ?
Tu t’es connecté en telnet sur le port 25 pour voir comment le service acceptait/refusait les connections ?
Tu as bien ajouté les adresses ip de ton reseau dans mynetworks ?
Tu as defini comment les autorisations dans smtpd_recipient_restrictions ?
Tu as un problême pour donner les infos qui permettraient de repondre à ta question ?

Bonsoir,

tout fonctionne trés bien, seulement l’utilisation de passerelle smtp depuis l’exterieur.
Rien dans mes logs
La config smtpd_recipient_restrictions correspond à celle indiqué dans le fichier d’install de la doc fourni avec le package.
smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient,
check_client_access hash:/var/lib/pop-before-smtp/hosts,
reject_unauth_destination

voila,

quote="mattotop"
Tu t’es connecté en telnet sur le port 25 pour voir comment le service acceptait/refusait les connections ?
Tu as bien ajouté les adresses ip de ton reseau dans mynetworks ?
(…)[/quote]

Ca m’etonnerait que le “fichier d’install de la doc” (de la doc de quoi ? postfix ? pop-before-smtp ? ) precise de mettre qu’il faut rejeter tout ce qui n’est pas fqdn avant d’accepter ce que tu lui fournit en hachage pour ton pop-before-smtp.

Bonsoir,

La doc que j’indique concerne celle de pop-before-smtp.
Les tests en telnet son Ok

telnet smtp.mondomaine.com 25

Résultat:

Trying 88.xxx.xx.xxx… (mon adresse ip public)
Connected to srvmail01.mondomaine.com.
Escape character is ‘^]’.
220 srvmail01.mondomaine.com ESMTP Postfix (Debian/GNU)
quit
221 Bye
Connection closed by foreign host.
Ce test je l’effectue a partir du shell local de mon serveur;

Si j’effectue se même test de l’exterieur,
le résultat est:

#telnet smtp.mondoamine.com 25
exion à smtp.mondomaine.com…Impossible d’ouvrir une connexion à l’hôte, sur le port 25: Échec lors de la connexion
Merci,
J’ai un firewall sur mon serveur Iptables est j’ai ouvert le port 25 en entrée et sortie.
Tout marche bien: Envoi de mail,reception, webmail.
Cordialement,

Bonjour,

J’ai modifié l’ordre établi pour smtpd_recipient_restrictions :

smtpd_recipient_restrictions = permit_mynetworks, check_client_access hash:/var/lib/pop-before-smtp/hosts, reject_non_fqdn_recipient, reject_unauth_destination
ça change rien tjrs impossible d’utiliser ma passerelle smtp depuis l’exterieur.
Merci pour l’aide
Cordialement,

Bonjour,

J’ai suivi le quick start pour la mise en place de pop-before-smtp via:
popbsmtp.sourceforge.net/quickstart.shtml

Tout est ok, j’ai verifier tout mes logs (mail.log, mail.err, pop-before-smtp.log) tout est ok pas d’erreur et les connexions en pop/impa s’effectue correctement, pop-before-smtp envoi bien l’enregistrement de l’adresse ip du client pop authentifier au fichier hosts.db.
J’ai controlé les enregistrements dans la db via la commande:
pop-before-smtp --list
Tout est ok l’enregistrement est bien inscrit dans la db.
Je peux dire que la config Postfix+pop-before-smtp est opérationnel.
Mais toujours impossible d’utiliser ma passerelle smtp de l’exterieur.
J’ai Iptables (Netfilter) j’ai bien ouvert les port 25 en entrée et sortie,
Manquerait il quelque chose?
Je suis un peu surpris je cherche mais je ne trouve tjrs pas le hick!!
Merci pour l’aide
Cordialement,

Bonjour, Debian 3.1, noyau 2.6

Ok c’est résolu.
Merci
Pour ceux à qui ça interresse voici la procédure d’installation de pop-before-smtp.

Introduction:

POP-before-SMTP est une solution qui permet l’authentification de SMTP en loggant les accès par POP ou IMAP, qui sont, eux, authentifiés .L’autorisation des connections en SMTP dure un certain temps(3 0minutes) depuis l’adresse IP ayant servi à se connecter.

Explication:

Un client de messagerie pop ou imap se connecte au serveur de mail pour récupérer son courrier. Le serveur de mail enregistre la connexion dans le fichier de log (/var/log/mail.log). L’enregistrement comporte l’adresse mail du client,…,son adresse IP Public depuis laquelle il se connecte. Ici intervient pop-before-smtp qui enregistre l’adresse IP du client obtenu depuis le fichier mail.log dans son fichier de donnée (/var/lib/pop-before-smtp/hosts.db). Lui permettant ainsi d’utiliser sa passerelle smtp depuis l’exterieur, évitant ainsi que la passerelle soit un relais pour le spam.
L’objectif est d’autoriser l’utilisation de la passerelle smtp uniquement aux clients possédant une boite au lettre mail sur notre serveur.
Beaucoup de fournisseur de service (wanadoo.fr,laposte.net…) pratique cette mesure afin d’éviter que leur serveur smtp soit un moteur d’envoi pour les spammeurs.

Installation:

J’aborde ici uniquement l’intallation de pop-before-smtp, je pars du principe que postfix est installé est opérationnel.

On commence par installer les paquets perl nécessaires:

apt-get install libtimedate-perl libnet-netmask-perl libberkeleydb-perl

puis on install Pop-before-smtp

apt-get install pop-before-smtp

On se rend dans le fichier de configuration de Postfix etc/postfix/main.cf
et on rajoute ce qui suit:

smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient, check_client_access hash:/var/lib/pop-before-smtp/hosts, reject_unauth_destination

En suite il faut se rendre dans le fichier de configuration de pop-before-smtp.conf dans /etc/pop-before-smtp/pop-before-smtp.conf
Et on décommenter les lignes suivantes (on supprime le # qui se trouve devant la ligne):

$logto = ‘/var/log/pop-before-smtp’;

$dbfile = ‘/var/lib/pop-before-smtp/hosts’;

$file_tail{‘name’} = ‘/var/log/mail.log’;

Il suffit de redémarrer postfix et puis pop-before-smtp:

/etc/init.d/postfix restart

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

Et voilà ça marche

Pour info on peut changer le chemin du fichier de donnée qui enregistre les adresses IP, par défaut pop-before-smtp l’intalle dans /var/lin/pop-before-smtp/hosts.db.
Pour modifier le chemin par exemple pour le déplacer dans /etc/postfix/pop-before-smtp:

On copie le répertoire /var/lib/pop-before-smtp dans /etc/postfix

Puis on modifie le fichier de configuration de pop-before-smtp pour lui indiquer le nouveau chemin:
$dbfile = ‘/etc/postfix/pop-before-smtp/hosts’;

on modifie le chemin qui se trouve dans le fichier de configuration de postfix /etc/postfix/man.cf:

smtpd_recipient_restrictions = permit_mynetworks, reject_non_fqdn_recipient, check_client_access hash:/etc/postfix/pop-before-smtp/hosts, reject_unauth_destination

On redémarre à nouveau les services Postfix et Pop-before-smtp

Et voilà le tour est joué.
On verifie que les adresses des clients authentiés sont bien inscrites dans le fichier de donnée de hosts.db
avec la commande:
pop-before-smtp --list

Bon courage à tous
Le QuickStart de Pop-before-smtp se trouve ici:
popbsmtp.sourceforge.net/quickstart.shtml
Makensy13

Merci.
Je n’ai pas compris ce que tu as fait pour que ça marche ?

Bonjour,

J’ai installé les librairies perl et j’ai copié exactement le smtpd_recipient_restrictions fourni par le quickstart de pop-before-smtp.
Tout est rentrée dans l’ordre.
J’ai même modifié le chemin de la db de pop-before-smtp est ça marche impect.
Voilà
Merci
Cordialement,

[quote=“makensy13”]Bonjour,
Excuse moi je me suis trompé en inversent:
La version de debian est la sarge 3.1 et le noyau 2.6

Ce qui ne marche pas c’est que je ne peux pas utiliser la passerelle smtp de l’exterieur.
J’ai configuré un client pop sous Outlook lorsque j’indique le serveur smtp de free par exemple et que je fais un test:Ok
si j’indique ma passerelle smtp smtp.mondomaine.com (j’ai fais ce qu’il faut au niveau de mas zone dns) ça marche pas il me dit qu’il n’arrive pas à se connecter au serveur smtp.
Merci[/quote]

Salut, chez free il bloque le port 25 maintenant en standard pour les abonnés , tu dois aller dans le panneau de contrôle de ton compte et acvtiver le port 25.