Serveur SMTP

Bonjour,

Pour ceux qui ont pu suivre mes différents posts (de détresses :smt003 ), je suis entrain de monter un serveur pop/smtp avec postfix.

Le serveur est un serveur dédié, donc externe au réseau.

Mon but à court terme est de permettre à n’importe quel utilisateur de configurer son agent pour l’envoi de mail via le smtp du serveur que je configure puis de permettre la réception des mails via le pop.

Pour le moment, j’ai réservé un nom de domaine que je dénommerai quagga.fr, une adresse ip statique est en cours d’assignation à ce dernier.

Je me connecte en SSH au serveur de mail, j’arrive via ce dernier à envoyer un mail à n’importe quel destinataire. J’aimerai maintenant configurer thunderbird par exemple, afin que les mails soient envoyé par le smtp de ce serveur.

La correspondance DNS n’étant pas encore effective, j’ai renseigné dans les champs serveur stmp l’adresse ip publique de mon serveur.

Cependant l’envoi de mail ne s’effectue pas, y-a-t-il une configuration particulière ? Dois-je sur le serveur modifier un fichier de conf DNS pour lui spécifier qu’il est un serveur smtp ?

Des conseils pour faire un serveur pop ? (choix d’un logiciel config…)

Merci,

Quagga.

dans /etc/postfix/main.cf, mynetworks contient les ‘réseaux’ pour lesquels postfix va faire office de relai smtp.

ajoute ton ip publique.

J’ai ajouté mon adresse dans le champs mynetworks, mais l’envoi ne marche toujours pas.

Etant donné qu’il s’agit d’une adresse machine, je n’ai pas spécifié le masque réseau, faut-t-il quand même le faire ?

Les paramètres de mon compte thunderbird sont :

@mail = quagga@orange.f
pop = pop.orange.fr
smtp = xxxx.xxxx.xxxx.xxxx => @ip publique de mon serveur.

Est-ce correct ?

résultat de postconf -n

alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 disable_vrfy_command = yes home_mailbox = Maildir/ html_directory = no inet_interfaces = localhost inet_protocols = all mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost mydomain = ccif.fr myhostname = host.quagga.fr mynetworks = 127.0.0.0/8, 88.x.x.x myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.5.6/README_FILES sample_directory = /usr/share/doc/postfix-2.5.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/postfix/cert.pem smtpd_tls_key_file = /etc/postfix/key.pem smtpd_use_tls = yes tls_random_source = dev:/dev/urandom unknown_local_recipient_reject_code = 550

Je n’ai rien configurer d’autre, ni aliases, ni canonical ou original.

Que dois-je rajouter ?

EDIT :

Sur le serveur :

telnet localhost -l root Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused

Il y a surement un problème à ce niveau…

ton serveur ne va relayer le smtp que pour des hotes ‘surs’ (idéalement seulement localhost, voir le reseau local), et si il a quelque chose a voir avec au moins le destinataire ou l’expediteur du message.

si tu ouvres smtp pour tout le monde tu va devoir mettre un contrôle par mot de passe sinon tu vas servir de relai pour le spam.

l’ideal sur un serveur publique est vraiment d’installer un webmail, comme cela pas de problème de relai, et les accès imap sont verouillé sur le localhost.

le serveur va te refuser l’accès au smtp :

1 - car tu n’est pas dans la liste des mynetworks
2 - car ni le champ FROM, ni le champ TO ne concernent des domaines controlés par le serveur smtp.

Pour le serveur un telnet localhost sur le port 25 devrait normalement marcher, non ?
Parceque déjà un problème à ce niveau là m’empêche d’avancer plus…

Sur la toile, j’ai cru comprendre sur certains site anglophone qu’il était nécessaire de lancer un daemon sendmail pour faire marcher telnent sur le port 25, seulement je l’ai désinstallé…

sur quelles interfaces ecoute ton serveur

tiens dans ta conf avec ça ça risque d emarche beaucoup moins bien pour le smtp depuis chez toi

[quote]Le paramètre inet_interfaces indique toutes les adresses d’interface réseau sur lesquelles le système Postfix doit écouter ; le courrier adressé à "utilisateur@[adresse de réseau] sera délivré localement, comme s’il était adressé à un domaine énuméré dans $mydestination.

Vous pouvez outrepasser le paramètre inet_interfaces dans le fichier master.cf en faisant précéder un nom de serveur par une adresse IP.[/quote]

Génial ça marche !!!

Et telnet fonctionne…

Je vais maintenant tester l’utilisation du serveur à distance.

Encore merci…

fais gaffe quand même à ne pas devenir relay N°1 pour le spam

va lire ça, surtout les premiers liens sur les relay

http://postfix.traduc.org/index.php/BASIC_CONFIGURATION_README.html

En effet, en plus je me suis un peu emporté, j’ai repassé le param inet_interfaces à host, et la connexion telnet fonctionne tout de même… ZARB :neutral_face:

Je vais essayer de voir maintenant ce que je dois changer pour permettre l’envoi depuis un client externe.

Je vais m’intéresser aux “relay”.

Merci pour le lien.

J’avais gardé ces liens pour tester si mon serveur était un open relay ou pas :

spamhelp.org/shopenrelay/
pagasa.net/test-smtp/

Le premier semble bien marcher mais le second est un peu curieux comme test:

[quote]>>> RSET
<<< 250 Reset OK

MAIL FROM: <test@[82.66.248.156]>
<<< 250 <test@[82.66.248.156]> is syntactically correct

RCPT TO: <test%spam.com@[82.66.248.156]>
<<< 250 <test%spam.com@[82.66.248.156]> is syntactically correct [/quote]
alors que

[quote]2009-04-03 18:11:04 unqualified sender rejected: <“test%spam.com”> H=mail6m-1.ma
il6m.com (vsmtp.pagasa.net) [91.194.96.35]
2009-04-03 18:11:05 unexpected disconnection while reading SMTP command from mai
l6m-1.mail6m.com (vsmtp.pagasa.net) [91.194.96.35]
[/quote]
si je fais le test à la main, j’obtiens de nouveau

[quote]2009-04-03 18:15:36 1Lpm3H-0001Ku-00 ** test%spam.com@[82.66.248.156]: unknown local-part “test%spam.com” in domain "[82.66.248.156]"
2009-04-03 18:15:36 1Lpm3M-0001LY-00 <= <> R=1Lpm3H-0001Ku-00 U=mail P=local S=1503
[/quote]Bref, ça n’est pas très sérieux comme test…
(Le serveur marche depuis bientôt 6 ans et n’a jamais servi de relais malgré un nombre important de tentatives)…

1er : Testing x.x.x.x on port 25… successful! - the SMTP server is NOT an open relay.

2nd : Tous les tests ont été réussis, le serveur n’est pas un relais ouvert.

cool
merci jean claude.

d etoute façon la conf par defaut de postfix est censée protéger contre cela

Fran.b : Merci des précisions :wink:
Thom-Thom : de rien :stuck_out_tongue:

Hello !

J’arrive à ouvrir une connexion telnet sur le port 25 en localhost, cependant je n’arrive pas à ouvrir une telle connexion via un ordinateur distant.

Par acquis de conscience j’ai effectué mes tests en désactivant le firewall du serveur auquel je tente de me connecter, et j’ai réglé le param inet_interfaces = all (oollaaa temporairement :slightly_smiling: )

Sendmail est de même désactivé.

D’où cela peut provenir ?

Merci !

Apparemment postfix reload != service postfix restart

Donc en faisant cette dernière commande, le telnet a distance sur port 25 fonctionne !

Je continue mon épopée et vous tiens au courant.

Quagga.

Hello !

Une petite question pour bien démarrer la journée :

Voici deux paramètres de configuration de postfix (main.cf)

inet_interfaces = all mynetworks = 127.0.0.0/8, ip.publique.auto.risé, autre.ip.publique.autorisé

Si je mets le paramètre inet_interfaces à all, un réseau ne faisant pas partie des réseaux mynetworks autorisé ne peux pas s’en servir comme relai.

Est-ce correct niveau sécurité ? Le tests avec thunderbird sont concluants.

Merci !!

Quagga.

quels contrôles effectuer quand le serveur smtp reçoit une connexion sur le port 25 (simplifié)

1 * est ce que le destinataire du message a son domaine géré par ce serveur ? (mydestination)
oui : le message est accepté
non : test suivant

2 * est ce que le destinataire du message est autorisé pour être relayé par ce serveur ? (relay_domains)
oui : le message est relayé
non : test suivant

3 * est ce que l’émeteur du message est autorisé sur ce serveur (mynetworks)
oui : le message est relayé
non : le message est refusé

inet_interface sert juste à dire sur quelles interface écouter, mais une fois le port ouvert il ne fait pas de restriction. donc mynetworks doit être paramétré finement (mets un /32 à la fin de l’adresse IP si c’est celle d’un seul poste). ton parametrage a l’ai correct, mais n’oublie pas non plus les autres paramètres. de plus tu pourras aussi activer le contrôle par mot de passe pour le smtp ou les connexions cryptées si tu es parano.

pour ma part je suis quand même adepte du webmail, ainsi le mynetwork est verrouillé sur le localhost et c’est très bien comme cela. les autres machines de mon réseau ne peuvent donc que envoyer des mails vers le domaine géré par postfix et pas vers l’extérieur.

C’est très clair !! (sans jeu de mots)

Le serveur smtp est terminé !
Ma prochaine étape consiste donc à permettre la récolte du courrier via un serveur pop (pour le moment pas d’imap), pour ce je pensais créer des boites aux lettres virtuelles.

Je suppose qu’il faut une config du genre pour faire ainsi :

[code]#boite aux lettres virtuelles

#virtual_mailbox_domains = quagga.fr, sous.quagga.fr
#virtual_mailbox_base = /var/mail/vosts
#virtual_mailbox_maps = hash:/etc/postfix/vmailbox
#virtual_minimum_uid = 100
#virtual_uid_maps = static:5000
#virtual_gid_maps = static:5000
#virtual_alias_maps = hash:/etc/postfix/virtual[/code]

Des conseils pour bien le paramétrer ?

Enfin, je compte faire un webmail, mais dans un premier temps je souhaite configurer smtp et pop pas à pas pour bien comprendre ce que je fais… Et pour le moment grâce a vous (enfin a toi pour le moment :slightly_smiling: ), je comprends !!! :mrgreen:

eh bien dans ce cas pour le serveur pop il va falloir que tu comprennes tout seul :cry:

je n’en ai pas mis en place et par rapport à l’imap je n’en voit pas l’utilité.

avec l’imap et un webmail, j’assure la présence de tous les mails sur le serveur (+1 pour les sauvegardes) et quand un utilisateur se fait chouraver son portable ou qu’un disque lache sur un poste fixe, le fait de ne pas avoir de messagerie ou de carnet d’adresses dessus, est bénéfique en tous points. pas de perte de données, pas de peur que le voleur exploite des données.

reste le problème des pc portables pour les utilisateurs qui voudraient travailler en mode deconnecté. mais rien en place pour l’instant.

Je suis obligé d’utiliser le protocole pop enfait (utilisation parallèle avec un autre logiciel ne supportant pas encore imap).

Mais j’ai installé un gestionnaire pop/imap du nom de dovecot.
Je pense que la configuration entre pop et imap est sensiblement la même.

Dans l’immédiat je souhaiterais pouvoir configurer postfix pour lui spécifier que c’est dovecot qui récupère le courrier. Mais aussi créer des utilisateurs virtuels associés à mon domaine qui auraient chacun leurs répertoires sur le serveur et qui pour relever le courrier devraient s’authentifier.

En me documentant, il me semble avoir compris que tous les params virtual gèrent cela. Je ne sais pas vraiment par où commencer, avez vous des pistes ? Ou un bon tuto ?

Merci !!

QuAgGa.