# [Postfix] Authentification Smtp

## sanddv

Bonjour,

avis aux connaisseurs.. alors l'application postfix marche très bien dans l'entreprise où je bosse. J'ai configurer l'accès aux mails depuis l'extérieur avec thunderbird, j'ai ajouté des règles de filtrage sur le pare-feu autorisant depuis l'extérieur le protocole imap, smtp, pop, avec une redirection NAT sur le serveur,

mon problème est le suivant: j'accède bien à mes mails avec thunderbird en imap, mais j'ai un soucis pour envoyer des mails,

"une erreur est survenue lors de l'envoi du courrier. Le serveur de courrier a répondu: 5.7.1

<xxxxxx@mondomain relay acces denied. Veuillez vérifier l'adresse de destination et essayer à nouveau"

pour la configuration smtp de thunderbird, j'ai mis le serveur de messagerie, port 25 avec mon login, et par défaut mon FAI port 25, sans login,

je ne suis pas sur mais je pense que dans le main.cf il faudrait que je modifie le relayhost, je précise je n'ai pas le même FAI que mon entreprise.

Cordialement,

alias_database = hash:/etc/aliases

alias_maps = hash:/etc/aliases

command_directory = /usr/sbin

config_directory = /etc/postfix

daemon_directory = /usr/lib/postfix

debug_peer_level = 2

default_destination_concurrency_limit = 20

home_mailbox = .maildir/

html_directory = /usr/share/doc/postfix-2.4.6-r2/html

local_destination_concurrency_limit = 20

local_recipient_maps =

mail_owner = postfix

mailbox_command = /usr/bin/procmail

mailq_path = /usr/bin/mailq

manpage_directory = /usr/share/man

mydestination = $myhostname, localhost.$mydomain, localhost, linux, localdomain.                                                                                                                     localhost

mydomain = xxxxxxxxxx.org

myhostname = xxxxxx.org

mynetworks = 127.0.0.0/8, 192.168.1.0/24

mynetworks_style = subnet

myorigin = $myhostname

newaliases_path = /usr/bin/newaliases

queue_directory = /var/spool/postfix

readme_directory = /usr/share/doc/postfix-2.4.6-r2/readme

recipient_bcc_maps = hash:/etc/postfix/recipient_bcc

recipient_canonical_maps = hash:/etc/postfix/recipient_canonical

relay_domains =

relayhost = smtp.planet.tn

sample_directory = /etc/postfix

sendmail_path = /usr/sbin/sendmail

setgid_group = postdrop

soft_bounce = no

unknown_local_recipient_reject_code = 550Last edited by sanddv on Sun Dec 13, 2009 8:55 am; edited 1 time in total

----------

## sanddv

extrait de mon fichier mail.info lorsque j'essaye d'envoyer un mail à un user du domaine

```

Dec  9 18:17:43 linux imapd: LOGIN, user=webmaster, ip=[mon_ip_de_chez_moi], protocol=IMAP

Dec  9 18:18:29 linux postfix/smtpd[17051]: connect from unknown[mon_ip_de_chez_moi]

Dec  9 18:18:30 linux postfix/smtpd[17051]: NOQUEUE: reject: RCPT from unknown[mon_ip_de_chez_moi]: 554 5.7.1 <xxxxx@xxxxb.org>: Relay access denied; from=<webmaster@xxxx.org> to=<user@xxxxxxx.org> proto=SMTP helo=<[192.168.1.4]>

```

mon ip est peut être rejetée par spamassassin..

----------

## RaX

Bonjour,

C'est normal ton postfix ne fonctionne pas comme relay smtp ouvert (et heureusement sinon il pourrait servir aux vilains spammeurs)

Plusieurs solution pour remédier à ça faire une liste d'accès autorisé par ip. Soit faire du smtp authentifié.

Je ne rentre pas dans les détails car je suis pas mal occupé cette aprem mais pour plus d'info hésite pas.

----------

## sanddv

Merci pour ta réponse, alors je serais intéressé par les deux méthodes, pourrais-tu m'éclairer lorsque tu seras libre.

Cordialement,

----------

## Uggy

Je vais me permettre de répondre à la place de RaX

Si tu veux envoyer a un user qui n'est pas du domaine:

- Soit tu rajoutes ton IP ("mon_ip_de_chez_moi dans ton log") dans la ligne  mynetworks

- Soit tu fait du SASL pour envoyer depuis n'importe quelle IP mais authentifié par un login/pass

http://www.postfix.org/SASL_README.html

(Qui dit login/pass dit il y a des chances que tu souhaites chiffrer le tout en TLS  http://www.postfix.org/TLS_README.html )Last edited by Uggy on Sat Dec 12, 2009 2:16 pm; edited 1 time in total

----------

## Uggy

 *sanddv wrote:*   

> lorsque j'essaye d'envoyer un mail à un user du domaine
> 
> 

 

Pour envoyer a un user du domaine, il n'y a pas a rajouter d'IP ni faire du SASL.

Ceci n'est valable que si tu souhaites envoyer vers des domaines qui ne sont pas ceux gérés par ton Postfix.

rajoutes "$mydomain" dans la ligne "mydestination".. et ca devrait passer. (tu n'auras plus "Relay access denied" )

----------

## sanddv

alors, je pense plutôt opter pour une solution SASL, je vais regarder la doc, et si qlq1 connait bien cette méthode je suis preneur d'infos

merci

----------

## geekounet

Salut ! Peux-tu mettre ton titre du topic en conformité avec les conventions de notre forum s'il te plait ? Merci  :Smile: 

----------

## man in the hill

Salut,

D'après ce que j'ai compris tu veux récupérer les mails qui sont sur le serveur de messagerie postfix de ton entreprise via le client messagerie thunderbird chez toi.

- Est-ce que ton entreprise a son propre nom de domaine  ou  ne fait que rapatrier les mails d'un serveur de messagerie distant ?

 1. Si ton entreprise a son nom de domaine, tu peux récupérer les mails avec le protocol pop  via thunderbird en créant un compte avec l'adresse de messagerie qui va bien et le mot de passe et tu utilises le smtp de ton FAI pour envoyer tes mails.

 2. Si le serveur postfix de ton entreprise ne fait que rapatrier, tu récupères tes mails directement sur le serveur principal ( si bien sur tu gardes une copie sur ce serveur) avec thunderbird et tu envoie tjrs avec le smtp de ton FAI

 donc à tous les coups tu utilises ton FAI pour envoyer via smtp et tu ne dois en aucune manière toucher au fichier main.cf de postfix du serveur de ton entreprise.

----------

## sanddv

en faite comme disais Rax, mon serveur de messagerie ne fait pas d'open relay, lorsque j'utilise mon compte FAI  pour envoyer en smtp c'est bloqué normal, du coup je pense mettre en place une authentication SASL,

mon entreprise à un nom de domaine avec un serveur de messagerie qui gère la réception et l'envoi de mail

pour l'instant les users peuvent accéder à un webmail round-cube, le temps de mettre en place la solution.

----------

## man in the hill

 *sanddv wrote:*   

> en faite comme disais Rax, mon serveur de messagerie ne fait pas d'open relay, lorsque j'utilise mon compte FAI  pour envoyer en smtp c'est bloqué normal, du coup je pense mettre en place une authentication SASL,
> 
> mon entreprise à un nom de domaine avec un serveur de messagerie qui gère la réception et l'envoi de mail
> 
> pour l'instant les users peuvent accéder à un webmail round-cube, le temps de mettre en place la solution.

 

Tous les FAI laisse envoyer les messages via leur serveur smtp et bloque l'envoie via les autres serveurs smtp ...

ex: Tu es chez toi,  si ton FAI est orange et que tu as un serveur de messagerie chez OVH , tu pourras récupérer tes mails via pop, imap sur le serveur d'OVH mais si tu essais d'envoyer tes mails via le serveur smtp d'OVH, orange va te bloquer et faut passer par leur smtp ...

----------

## sanddv

ah d'accord, je savais pas mais en tout cas, avec mon FAI tunisien globalnet, c'est bien bloqué, je précise pour l'envoi, je reçois bien en imap

edit: j'ai fais un telnet smtp.gnet.tn 25 depuis chez moi

```

220 smtp2.gnet.tn SMTP (Globalnet SMTP Server)

421 4.4.2 smtp2.gnet.tn Error: timeout exceeded

Perte de la connexion à l'hôte.

le ping passe bien

```

----------

## man in the hill

 *sanddv wrote:*   

> ah d'accord, je savais pas mais en tout cas, avec mon FAI tunisien globalnet, c'est bien bloqué, je précise pour l'envoi, je reçois bien en imap

 

Franchement, ça m'étonne ... Quelle est l'erreur quand  tu essais d'envoyer via globalnet ? 

Tu peux leur envoyer un mail ou leur passer un coup de téléphone pour leur demander si tu peux envoyer des mails avec un nom de domaine different (une adresse de messagerie autre que celles de globalnet, par ex: un @gmail.com, un @yahoo.fr) et tu verras ce qu'ils te répondent ...

réponse de ton edit:

C'est deux protocoles différents,  smtp pour envoyer le courrier et icmp pour envoyer des ping donc c'est normale que globalnet bloque les connexions avec le telnet sur le port 25  mais cela veut pas dire que les vrais clients de messagerie ne peuvent s'y connecter ....

test un telnet smtp.orange.fr 25 et ça ne va pas passer car il y a surement du filtrage au niveau du logiciel qui se connect sur le serveur de messagerie ...  Je n'ai pas encore mis en place ce genre de par feu mais je pense que cela existe en filtrant les entêtes ... J'imagine que tu as un compte chez gnet et que tu peux envoyer des mails via ce compte ...

----------

## sanddv

oui j'ai fais un test, j'ai rajouter mon compte mail gnet sur Thunderbird pas de problème au moins au niveau de mon pare-feu.

et pour orange le telnet c'est bien bloqué,

j'ai envoyer un mail depuis ma boite gnet sur thunderbird a ma boite mail @mydomain sa marche.

----------

## tuxdream

Bonjour,

Si j'ai bien compris ton besoin, tu souhaites que tes utilisateurs puissent envoyer des messages de chez eux (où du moins depuis l'extérieur de l'entreprise).

Pour répondre à ce besoin, il suffit de configurer le MSA de Postfix. Le MSA (Message Submission Agent) est un standard (RFC2476) qui utilise le protocole SMTP sur le port 587. Cela permet d'éviter les bloquages mis en place par les FAI et les blocages de certains antivirus.

La configuration se fait dans le fichier master.cf. Voici un example que tu pourras adapter à ton besoin : 

```

submission inet n       -       n       -       -       smtpd

# Forcer l'utilisation de TLS

-o smtpd_enforce_tls=yes

# Forcer l'authentification des utilisateurs

-o smtpd_sasl_auth_enable=yes

# Refuser tout client non authentifié

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

# Refuser tout message dont le domaine du champ FROM n'est pas conforme et que l'utilisateur authentifié n'est pas propriétaire de cette adresse

-o smtpd_sender_restrictions=reject_non_fqdn_sender,reject_sender_login_mismatch,permit

# Refuser tout message dont le domaine du champ RCPT TO n'est pas conforme et n'a pas d'enregistrement de type MX ou A dans un DNS. Autoriser les messages des utilisateurs authentifiés.

-o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

```

Certaines options nécessitent un complément dans le main.conf. Tu trouveras de nombreuses sur internet.

Ainsi, le port 25 est réservé aux MTA (Mail Transfert Agent) pour les échanges entre les différents serveurs de messagerie.

Personnellement, l'ouverture de la messagerie de l'entreprise est un peu délicat. Je n'entre pas dans les détailles mais pour m'a part, je suis plutot favorable à la mise en place d'un VPN.

----------

