Postfix et relay access denied .. - Logiciels - Linux et OS Alternatifs
Marsh Posté le 06-05-2005 à 10:11:16
c'est normal, par defaut, postfix interdit l'open relay pour toutes les connexions SMTP venant de l'exterieur. Si tu as une IP fixe, tu peux la declarer dans my_networks , sinon il faut utiliser soit pop-before-smtp, soit faire du SASL
edit: aurtograf
Marsh Posté le 06-05-2005 à 10:46:36
Très intérressant.
Peux tu m'expliquer pourquoi le fait de mettre du SASL permettra l'envoi depuis l'exterieur ?
Ceci explique pourquoi cela fonctionne sur mon autre config qui elle a du SASL (c'est pas moi qui l'ai mise en palce aussi)...
Et le paramètre pop_before_smtp ? il sert comme authentification via la connexion POP ?
Sinon, l'histoire de l'IP fixe ce n'est pas possible car je souhaiterai que certaines personnes y accèdent. Ce n'est pas un serveur perso, c'est pour des clients ...
Merci
Marsh Posté le 06-05-2005 à 11:17:42
le SASL permet d'utiliser le serveur SMTP via le login/pass du compte Email. Par exemple sous Firebird ou Evolution, il est possible de déclarer que ton serveur SMTP requiere une authentification SASL, il faut alors spécifier le login/pass du compte.
Le principe du pop-before-smtp est different et porte assez bien son nom tu pop ton compte sur le serveur, ca inscript ton IP dans un base de donnée (format berkeley) et tu peux ensuite utiliser le serveur SMTP. Le serveur SMTP autorisera le relai uniquement si l'authentification POP a reussie. Il est possible de configurer le temps de rétention de l'ip dans la base de donnée, qui est par defaut de 30 minutes je crois
Marsh Posté le 06-05-2005 à 15:22:59
Merci bien pour ces précisions.
Je vais essayer d'implementer le SASL.
Marsh Posté le 21-05-2005 à 22:44:43
salut,
j'aavais cette erreur quand j'essayais d'envoyer mes mails depuis un autre ordinateur, apres avoir suivi le conseil d'implémenter sasl (c'etais deja installé vu que j'utilise cyrus comme serveur imap) mais je ne vois pas de resultats, probablement que je n'ai pas implémenté le sasl comme il faut dans postfix , voila mon main.cf de postfix :
Citation : |
Vous voyez où ça coince ?
Marsh Posté le 22-05-2005 à 16:57:02
up
Marsh Posté le 22-05-2005 à 17:04:10
je pense plutot a une limitation sur le serveur mail POP/SMTP a partir du quel tu veux relayer ton postfix.
l option doit et devrait etre desactive sauf eventuellement pour quelques IP que tu parametres. sinon n'importe qui peut envoyer des mails depuis le serveur.
Regarde plutot si tu peux la configuration non pas de postfix mais de l autre serveur principal. si c est un serveur qui ne t appartient pas tu ne pourras jamais relayer depuis tout internet et HEUREUSEMENT !!
Marsh Posté le 22-05-2005 à 17:13:16
Attends, je crois que j'ai pas compris (ou alors je me suis mal exprimé). Mon but est d'implenter sur un poste un serveur IMAP + SMTP, les 2 utilisant le sasl pour s'identifier. Quand tu parle de "serveur mail a partir du quel tu veux relayer ton postfix" tu parles de quoi? Parceque mon serveur doit etre totalement indépendant de tout autre service (il ne doit ni s'appuyer sur celui du FAI, ni sur aucun autre)
Marsh Posté le 22-05-2005 à 17:43:47
<blabla inutile>imap n'utilise pas de SASL, mais uniquement postfix. Imap est un service, comme pop. Si t'envoi un mail via imap, tu dois obligatoirement specifier un serveur smtp..</blabla inutile>
Pour le SASL, tu as quoi dans les logs de Postfix ? Est ce que le demon sasl démarre bien ?
Si y'a pas d'erreur particuliere dans les logs, est ce que lorsque tu fais un telnet localhost 25, tu as bien 250-STARTTLS qui apparait ?
en gros, on a besoin de plus d'infos pour t'aider
Marsh Posté le 22-05-2005 à 17:59:32
C'est quoi exactement sasl ?
Il y'a un pauet supplémentaire à ajouter ??
Marsh Posté le 22-05-2005 à 18:01:32
<blabla inutile> QUand je parlais de IMAP je voulais dire serveur utilisant imap, qui dans mon cas est cyrus </blabla>
D'accord, je m'en doute bien . Le serveur est down en ce moment (aucune idée du pourquoi), j'ai mailer le propriétaire pour qu'il le reup, je vous tiens informer des que j'ai du nouveau.
Merci beaucoup pour votre aide
Marsh Posté le 25-05-2005 à 17:31:26
J'ai ajouté les quelques lignes mais ca ne change rien, le serveur fait toujours un access denied.
Il y'a quelquechose d'autre à faire
Marsh Posté le 25-05-2005 à 19:25:03
Donc, voila les nouvelles :
#/etc/init.d/postfix restart
Stopping mail transport agent: Postfix.
Starting mail transport agent: Postfix.
# /etc/init.d/saslauthd restart
Stopping SASL Authentication Daemon: saslauthd.
Starting SASL Authentication Daemon: saslauthd.
Et dans les logs :
May 25 19:14:14 localhost postfix/postfix-script: stopping the Postfix mail system
May 25 19:14:14 localhost postfix/master[2379]: terminating on signal 15
May 25 19:14:16 localhost postfix/postfix-script: starting the Postfix mail system
May 25 19:14:16 localhost postfix/master[2693]: daemon started -- version 2.1.5
May 25 19:14:16 localhost postfix/qmgr[2696]: 6C16D275: from=<monutilisateur@mondomaine.com>, size=275, nrcpt=1 (queue active)
May 25 19:14:36 localhost postfix/smtp[2698]: 6C16D275: to=<monutilisateur@localhost>, relay=none, delay=349731, status=deferred (Host or domain name not found. Name service error for name=localhost type=MX: Host not found, try again)
Donc pas de traces du SASL .... Y a-t-il une configuration que j'ai loupée?. J'avais lu que si on compilait postfix il fallait inclure dans les sources SASL, moi j'ai recuperer postfix par apt-get, est-ce que tout est deja compilé au mieux?
Marsh Posté le 25-05-2005 à 19:35:54
# apt-get install postfix-tls ?
http://postfix.state-of-mind.de/pa [...] /smtpauth/
Marsh Posté le 25-05-2005 à 19:43:28
Toujours pareil malheureusement
Parcontre quand j'ai installé le package, il m'a sorti un :
May 25 19:32:07 localhost postfix/postfix-script: fatal: the Postfix mail system is already running
Et si je fais un dpkg-reconfigure apres avoir stoppé postfix
May 25 19:32:07 localhost postfix/postfix-script: fatal: the Postfix mail system is not running
Il le veut comment le serveur? A moitié lancé ?
Marsh Posté le 25-05-2005 à 19:46:40
j'ai edité mon message précédent avec un lien. Tu utilise quelle version de postfix ? la 2 ?
Marsh Posté le 25-05-2005 à 20:12:59
Donc j'ai du nouveau .
Dans le main.cf vous pouvez remarquer que ma dyslexie m'a jouer un tour et que j'ai ecrit smpt a la place de smtp ... Ce qui facilitait pas le tout ...
Donc maintenant avec les nouvelles correction, quand je redemarre le serveur je me bouffe un :
May 25 20:03:27 localhost postfix/master[3888]: daemon started -- version 2.1.5
May 25 20:03:43 localhost postfix/smtpd[3894]: fatal: parameter "smtpd_recipient_restrictions": specify at least one working instance of: check_relay_domains, reject_unauth_destination, reject, defer or defer_if_permit
May 25 20:03:44 localhost postfix/master[3888]: warning: process /usr/lib/postfix/smtpd pid 3894 exit status 1
May 25 20:03:44 localhost postfix/master[3888]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Marsh Posté le 25-05-2005 à 20:40:42
J'ai installé sasl, postfix-tls
Voici ma conf :
http://www.le-vert.net/divers/postfix_sasl/
(evidemment rien ne marche
Marsh Posté le 25-05-2005 à 20:50:24
t'as essayé de passer reject_unauth_destination à smtpd_recipient_restrictions dans le main.cf ?
Marsh Posté le 25-05-2005 à 21:04:35
Bah il rejete deja, donc je doute qe ca améliore la chose
Marsh Posté le 25-05-2005 à 21:39:00
Ca avance toujours plus. Maintenant le probleme ce situe au niveau d'un :
warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Sur google j'ai trouvé des articles qui disent que sur certains client de messagerie (comme le thunderbird que j'utilise) ça peut arriver mais qu'il suffi de faire un chmod 0777 sur le fichier pour que ça marche... bein je l'ai fait et le probleme reste entier..
Marsh Posté le 25-05-2005 à 21:47:01
essaye de supprimer le fichier /etc/sasldb2 puis fais un touch /etc/sasldb2 . Des fois que ..
Marsh Posté le 25-05-2005 à 21:50:03
Toujours pareil, en tout cas merci beaucoup pour ton aide. Je vais chercher sur google et voir si je trouve des réponses
Marsh Posté le 25-05-2005 à 22:59:54
Beaucoup de pages parlent du smtpd.conf qui serait fondamental ... Moi j'ai pas ce fichier... est-ce que ça peut etre le probleme?
Marsh Posté le 25-05-2005 à 23:11:18
oui, je crois qu'il defini le type d'authentification qui va etre utilisé (pam,...)
Marsh Posté le 25-05-2005 à 23:17:31
Oui mais comment ça se fait qu'il ait pas été généré? J'peux l'ecrire moi meme?
Marsh Posté le 25-05-2005 à 23:32:44
oui!
pwcheck_method: saslauthd
ou
pwcheck_method: sasldb
un thread pas mal de la liste DUF : http://lists.debian.org/debian-use [...] 01374.html
Marsh Posté le 26-05-2005 à 00:20:27
J'avais aussi trouvé ca .... Ca ne marche toujours pas
Marsh Posté le 26-05-2005 à 20:46:31
personne sait ou ça peut coincer? Je trouve rien de concluant ..
Marsh Posté le 26-05-2005 à 22:04:04
bon bah, ca marche
ma conf :
- debian stable
- postfix 2.1.5 (installé depuis les packages de backports.org)
- packages installés : libsasl7 libsasl-digestmd5-des libsasl-modules-plain sasl-bin postfix-tls libpam-mysql
Je m'authentifie via une base MySQL.
dans le main.cf, j'ai ajouté :
Code :
|
J'ai créé le fichier /etc/pam.d/smtp, avec a l'interieur :
Code :
|
un coup de postfix reload
Si j'essaie via un client mail comme Thunderbird, avec l'option `TLS if available' de cochée, j'ajoute mon login, et au moment de l'envoi d'un mail vers une adresse qui n'est pas gérée par mon serveur, il me demande mon mot de passe et dans mes logs, le message est bien parti
En essayant d'envoyer un mail via le serveur sans authentification (via un telnet sur le port 25), j'ai un relay access denied (ouf! )
Les liens que j'ai utilisé :
- http://small.dropbear.id.au/myscri [...] mysql.html
- http://www.postfix.org/docs.html
A mon avis, tu n'es plus tres loin de reussir a le faire fonctionner. Tu utilise quel mode d'authentification pour les comptes mail ?
PS: et verifie que postfix n'est pas chrooté (fichier master.cf)
Marsh Posté le 27-05-2005 à 14:50:22
Donc,
Perso j'ai suivi a la lettre le site : http://christian.caleca.free.fr
J'ai changé les settings dans le master.cf pour enlever la cage chroot, et comme conseillé dans le site j'utilise la sasldb ... J'ai tester mes utilisateurs avec leur outil d'administration (testsasl qqch je crois) et tout est dans l'ordre .. Je continue a chercher
Marsh Posté le 27-05-2005 à 22:20:07
Donc , il y a du nouveau .
J'ai creer le smtpd.conf dans le /usr/lib/sasl/ contenant
le pwcheck_method:saslauthd, mais rien. En creant un lien dans le /var/spool/postfix/etc pour saslbd ça me sort :
May 27 18:32:46 localhost postfix/smtpd[6702]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Too many levels of symbolic links
May 27 18:32:46 localhost postfix/smtpd[6702]: warning: SASL authentication failure: no secret in database
Je continue mes recherches sur le net ... Ce qui est bizard c'est que pourant il n'y a pas de chroot cage autour de postfix ..
Marsh Posté le 27-05-2005 à 22:28:35
oui, donc justement si il n'y a pas de chroot dans postfix, tu n'as pas besoin de creer un lien dans /var/spool/postfix/etc car le chroot permet justement à postfix d'aller chercher les fichiers ailleur que dans /var/spool/postfix/*
je vais tester l'authentification par sasldb, en esperant reproduire la meme erreur que toi Sinon si tu as plusieurs comptes Email à gérer, je te conseille d'utiliser une base MySQL, c'est vraiment simple à mettre en place.
Marsh Posté le 27-05-2005 à 22:50:46
alors, en testant via l'authentification pam (via un fichier /etc/sasldb, ca marche aussi.
Ce que j'ai fais :
- # touch /etc/sasldb
- # vi /etc/pam.d/smtp avec a l'interieur
Code :
|
- # vi /etc/init.d/postfix = vers la ligne 44, ajouter etc/sasldb dans le bloc
Code :
|
- # saslpasswd -c <compte_systeme>
il me demande mon mot de passe systeme (+confirmation)
- config de mon client mail en specifiant l'authentification smtp (+ support TLS) et ajout de mon compte_systeme
- j'envoi un mail vers une adresse qui n'est pas hébergée sur mon serveur :
Code :
|
Marsh Posté le 30-05-2005 à 18:11:48
Salut, je viens de faire les modif que tu as nommées .
L'identification se passe tres bien.. enfin
Parcontre quand j'essaie d'envoyer des mails je me tape un :
May 30 17:58:34 localhost postfix/smtpd[7949]: connect from 80.x.x.x.hispeed.ch[80.x.x.x]
May 30 17:58:35 localhost postfix/smtpd[7949]: 0598B5F1: client=80-x-x-x.hispeed.ch[80.x.x.x], sasl_method=CRAM-MD5, sasl_username=monuser@serveur
May 30 17:58:35 localhost postfix/cleanup[7951]: 0598B5F1: message-id=<429B39ED.1080108@hotmail.com>
May 30 17:58:35 localhost postfix/qmgr[7911]: 0598B5F1: from=<esox_ch@hotmail.com>, size=569, nrcpt=1 (queue active)
May 30 17:58:35 localhost postfix/smtpd[7949]: disconnect from 80-x-x-x.hispeed.ch[80.x.x.x]
May 30 17:59:56 localhost postfix/smtp[7952]: 0598B5F1: to=<esox_ch@hotmail.com>, relay=mx1.hotmail.com[64.4.50.99], delay=82, status=sent (250 <429B39ED.1080108@hotmail.com> Queued mail for delivery)
May 30 17:59:56 localhost postfix/qmgr[7911]: 0598B5F1: removed
Et rien n'est recu. Alors que si j'envoie par la commande mail tout simplement ça passe avec :
May 30 17:55:23 localhost postfix/pickup[7910]: 709405FD: uid=0 from=<root>
May 30 17:55:23 localhost postfix/cleanup[7947]: 709405FD: message-id=<20050530155523.709405FD@serveur>
May 30 17:55:23 localhost postfix/qmgr[7911]: 709405FD: from=<root@serveur>, size=280, nrcpt=1 (queue active)
May 30 17:56:44 localhost postfix/smtp[7948]: 709405FD: to=<esox_ch@hotmail.com>, relay=mx1.hotmail.com[65.54.166.99], delay=81, status=sent (250 <20050530155523.709405FD@serveur> Queued mail for delivery)
May 30 17:56:44 localhost postfix/qmgr[7911]: 709405FD: removed
On est presque au bout
Marsh Posté le 30-05-2005 à 18:22:53
bizarre, parce que la ligne suivante indique que le mail est bien parti et est dans la queue sur les serveurs d'Hotmail :
May 30 17:59:56 localhost postfix/smtp[7952]: 0598B5F1: to=<esox_ch@hotmail.com>, relay=mx1.hotmail.com[64.4.50.99], delay=82, status=sent (250 <429B39ED.1080108@hotmail.com> Queued mail for delivery)
Marsh Posté le 06-05-2005 à 09:38:56
Bonjour,
Je rencontre un problème pour envoyer des mail depuis l'exterieur avec le serveur de mail Postfix que j'essaye de mettre en place.
Le message "relay interdit" apparait ...
Depuis le serveur de mail c'est OK en envoi et reception.
Depuis le réseau local c'est OK en POP mais pas en SMTP. Si je met le paramètre mynetworks_style = subnet alors là ca fonctionne aussi en SMTP.
Enfin, depuis l'exterieur, c'est OK en POP mais pas en SMTP.
Comment pourrais faire pour pouvoir envoyer et recevoir des courriers depuis n'importe où avec ce serveur de mail.
J'ai regardé la config d'un autre serveur de mail qui fonctionne bien mais le paramètre mynetworks_style n'est pas sur subnet ou class !
Pour des raisons de sécurité, cela m'embète de le passer à une de ces valeurs.
Auriez vous une idée de ce problème ?
Merci.