[Connexion refused] [Postfix][SMTP relay] - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 26-10-2007 à 13:06:32
un postconf -n est toujours mieux pour voir la conf de postfix
ici il y a deja un souci:
Code :
|
il faut que tu mettes le loopback et l'ip du serveur mail principal (si c'est bien lui par lequel les users internes se connectent pour envoyer un email)
Code :
|
et tu enleves mynetworks_style = class
puis tu postes ici le postconf -n
Marsh Posté le 26-10-2007 à 17:18:43
Pour vérifier que postfix écoute sur les bons ports
netstat -latnp |
vérifie ton firewall, en local et ceux autour...
Marsh Posté le 05-11-2007 à 14:53:52
toniotonio a écrit : un postconf -n est toujours mieux pour voir la conf de postfix
|
Nouvelle conf : mynetworks = 127.0.0.0/8 192.168.20.0/24 192.168.10.0/24
toniotonio a écrit : |
Postconf actuel:
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mynetworks = 127.0.0.0/8 192.168.20.0/24 192.168.10.0/24
recipient_delimiter = +
relay_domains = ***************.com
relayhost = 192.168.10.100
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
Merci de votre aide, Théo
Marsh Posté le 05-11-2007 à 14:56:09
o'gure a écrit : Pour vérifier que postfix écoute sur les bons ports
|
Pas de firewall en local, mon relais est dans une DMZ la "passerelle" avec le LAN sur le port SMTP est crée et opérationelle.
Extrait du netstat :
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1659/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4778/master
tcp 0 300 192.168.20.1:22 192.168.10.81:3503 ESTABLISHED7742/0
Théo
Marsh Posté le 05-11-2007 à 14:59:20
peux tu poster les logs de postfix lorsque le pb arrive ?
Marsh Posté le 05-11-2007 à 15:01:47
Quelques nouvelles !
Deroma1 a écrit : Bonjour à tous, |
Après un redémarrage de POSTFIX en changeant la configuration de la directive mynetworks.
POSTFIX accepte les connexions telnet sur le port 23 en 172.16.0.1 ET 192.168.20.1 (donc telnet est OK).
MAIS
Ce que me dit POSTFIX quand je tente un telnet pour créer un email: (connect to 192.168.10.100[192.168.10.100]: Connection refused)
Du côté du serveur de mail principal (Exchange Win 2003 SBS) tout est OK pour le relais et la connection (connection acceptée sans identification des IP des deux sous-réseaux LAN et DMZ, relais autorisé pour les mêmes IP).
Merci de me dire ce qui ne va pas, ou ce que j'ai mal configuré...
Théo
Marsh Posté le 05-11-2007 à 15:03:40
fais voir les logs de postfix
tu parles de telnet sur le port 23 ? tu veux dire 25 j'imagine pour le smtp, non ?
Marsh Posté le 05-11-2007 à 15:10:53
toniotonio a écrit : fais voir les logs de postfix |
Euh oui Désolé
Les logs de POSTFIX des derniers tests :
Nov 5 14:47:52 GECKO postfix/smtp[7790]: DFDFC5FA07: to=<t.andre@xxxxxxxxxxxx.com>, relay=none, delay=15, delays=15/0.03/0/0, dsn=4.4.1, status=deferred (connect to 192.168.10.100[192.168.10.100]: Connection refused)
Nov 5 14:47:54 GECKO postfix/smtpd[7786]: disconnect from GECKO.xxxxxxxxxxxx.com[192.168.20.1]
Nov 5 14:59:44 GECKO postfix/smtpd[7805]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Nov 5 14:59:44 GECKO postfix/smtpd[7805]: connect from GECKO.xxxxxxxxxxxx.com[192.168.20.1]
Nov 5 15:00:09 GECKO postfix/smtpd[7805]: 23A875FA08: client=GECKO.xxxxxxxxxxxx.com[192.168.20.1]
Nov 5 15:00:13 GECKO postfix/cleanup[7808]: 23A875FA08: message-id=<20071105140009.23A875FA08@GECKO.localdomain>
Nov 5 15:00:13 GECKO postfix/qmgr[4780]: 23A875FA08: from=<t.andre@xxxxxxxxxxxx.com>, size=371, nrcpt=1 (queue active)
Nov 5 15:00:13 GECKO postfix/smtp[7809]: connect to 192.168.10.100[192.168.10.100]: Connection refused (port 25)
Nov 5 15:00:13 GECKO postfix/smtp[7809]: 23A875FA08: to=<t.andre@xxxxxxxxxxxx.com>, relay=none, delay=13, delays=13/0.03/0/0, dsn=4.4.1, status=deferred (connect to 192.168.10.100[192.168.10.100]: Connection refused)
Nov 5 15:00:15 GECKO postfix/smtpd[7805]: disconnect from GECKO.xxxxxxxxxxxx.com[192.168.20.1]
Marsh Posté le 05-11-2007 à 15:14:11
Taz a écrit : t'as foiré ton firewalling |
Vérifié, re-vérifié, re-re-vérifié, tout est Ok. Merci de l'idée quand même.
Marsh Posté le 05-11-2007 à 15:14:50
192.168.10.100 on est d'accord qu'il s'agit bien de l'ip de ton Exchange ?
si oui ca merde au niveau reseau, il faut que tu verifies ta passerelle
Marsh Posté le 05-11-2007 à 15:23:25
toniotonio a écrit : 192.168.10.100 on est d'accord qu'il s'agit bien de l'ip de ton Exchange ? |
Oui, 192.168.10.100 c'est bien mon serveur de mail principal....
Mais *************** ma *********** de passerelle est bonne, je l'ai vérifié 100 fois !!! GRRRRRRRRRR je regarde de plus près...
Est-ce que le problème serait au niveau d'Exchange (je sais que je ne suis pas dans le bon forum... mais si quelqu'un qui lit ce thread a une idée...)
Bon je fais le check up de tout et je vous donne des nouvelles.
Théo
Marsh Posté le 05-11-2007 à 15:25:45
oui cela peut etre aussi au niveau d'exchange...
verifie simplement si une connection sur le port 25 arrive sur l'exchange pour etre sur.
Marsh Posté le 05-11-2007 à 15:48:28
toniotonio a écrit : oui cela peut etre aussi au niveau d'exchange... |
Aucun log au niveau du firewall ni sur exchange, rien ne sort de postfix....
Le problème est bien au niveau de postfix...
Théo
Marsh Posté le 05-11-2007 à 15:51:40
toniotonio a écrit : oui cela peut etre aussi au niveau d'exchange... |
Je vais mettre POSTFIX sur le LAN (et non plus en DMZ), comme ça j'enlève le problème de la passerelle.
Je refais mes tests de relais de messagerie... et je vous tiens au courant.
Théo
Marsh Posté le 05-11-2007 à 15:54:45
si un
Code :
|
en console sur le serveur ne fonctionne pas, le pb vient de la connection, pas de postfix.
si tu n'as pas de firewall sur le serveur postfix alors verifie les routes:
traceroute 192.168.10.100, en console depuis le serveur postfix cela donne quoi ?
c'est un pb reseau, il faut que tu t'orientes vers ca.
Marsh Posté le 05-11-2007 à 16:10:26
toniotonio a écrit : si un
en console sur le serveur ne fonctionne pas, le pb vient de la connection, pas de postfix. |
En LAN POSTFIX relaie bien les emails vers le serveur EXCHANGE. Un TELNET depuis le serveur POSTFIX sur EXCHANGE fonctionne.
Donc la config POSTFIX est OK.
C'est un problème réseau... mais là je sèche lamentablement....
Serait-il possible qu'un firewall soit installé sur ma debian à l'insu de mon plein gré? Comment le vérifier?
J'avais déjà fait le traceroute, il fonctionnait, je le reteste.
Merci, Théo
Marsh Posté le 05-11-2007 à 16:15:53
Code :
|
Code :
|
Marsh Posté le 05-11-2007 à 16:19:39
toniotonio a écrit :
|
Nov 5 16:01:03 GECKO kernel: e100: eth0 NIC Link is Down
Nov 5 16:01:07 GECKO kernel: e100: eth0 NIC Link is Up 100 Mbps Full duplex
Nov 5 16:14:45 GECKO kernel: e100: eth0 NIC Link is Down
Nov 5 16:14:47 GECKO kernel: e100: eth0 NIC Link is Up 100 Mbps Full duplex
Idem donc à priori...
Curieux, je l'ai remis sur la DMZ, un telnet sur 192.168.10.100 ne marche plus... mais je crois que j'avais bloqué le telnet entre le LAN et la DMZ... je l'ouvre et je ré-essaye. Un traceroute par contre fonctionne très bien, mais rien à dire, un seul hop est tout est OK.
1 192.168.10.100 (192.168.10.100) 1.593 ms 1.180 ms 1.545 ms
Théo
Marsh Posté le 05-11-2007 à 16:21:32
Deroma1 a écrit : |
J'ai merdouillé dans mon analyse. Le passage de POSTFIX de la DMZ au LAN m'a démontré qu'il fonctionnait bien le bougre... C'est donc dans la config réseau...
Théo
Marsh Posté le 05-11-2007 à 16:23:41
parle plutot de port
quand tu dis telnet tout court cela porte a confusion.
quand tu fais la commande telnet 192.168.10.100 25 tu valides l'acces au port 25 sur la machine distante.
donc dis plutot dans ce cas que le port 25 est ok
sinon on s"'en sors plus
Marsh Posté le 05-11-2007 à 16:30:33
toniotonio a écrit : parle plutot de port |
Oui autant pour moi je n'ai pas été assez rigoureux dans mes propos.
Ceci étant, le telnet (port SMTP 25) m'est refusé depuis POSTFIX sur EXCHANGE... Mon firewall est ouvert comme fleur au printemps sur ce port et entre les deux réseaux, et je ne vois pas de hic...
Théo
Marsh Posté le 05-11-2007 à 16:33:46
reprends la conf et la table de routage de ta passerelle, (c'est quoi ta passerelle ?)
Marsh Posté le 05-11-2007 à 16:37:14
toniotonio a écrit : reprends la conf et la table de routage de ta passerelle, (c'est quoi ta passerelle ?) |
Watchguard Firebox III/1000 ... Un clickodrôme géant... Mais je commence à connaitre la bête et les tables de routages sont correctes... selon moi...
Théo
Marsh Posté le 05-11-2007 à 17:06:22
toniotonio a écrit : reprends la conf et la table de routage de ta passerelle, (c'est quoi ta passerelle ?) |
Bon, problème résolu, pour info quand on crée une règle sur ce clickodrôme, il préfère quand on lui spécifie "client", puis le "port", que "protocole", puis le "port"....
J'ai crée une règle autorisant le port 23 et 25 entre la DMZ et le LAN, et ça passe... reste à mettre tout ça en exploitation, puis ensuite à rajouter des outils de filtre anti spam sur POSTFIX... et je pense que tes tutos vont me plaire tonio
Théo
Marsh Posté le 05-11-2007 à 17:31:20
toniotonio a écrit : |
Last but not least....
Le réseau passe bien, je peux enfin discuter avec POSTFIX... mais celui-ci ne relaie pas mes messages.
Je récupère ça:
Content-Type: message/rfc822
Message-Id: <20071105161151.F0EFC5FA07@GECKO.localdomain>
Date: Mon, 5 Nov 2007 17:11:33 +0100 (CET)
From: fabio_miotti@deroma.it
To: undisclosed-recipients:;
Pourquoi me met il "undisclosed-recipients" quand je lui spécifie une adresse email valide sur un domaine qu'il est censé routé?
Théo
Marsh Posté le 05-11-2007 à 17:48:19
Deroma1 a écrit : |
J'explique mieux:
Je fais un telnet sur le serveur à partir de l'extérieur.
Je spécifie le mail from:www@ddd.fr
Je spécifie le rcpt to:sss@qqqq.fr
ddd.fr et qqqq.fr sont des domaines valides, et sss@qqqq.fr est une adresse réelle.
Je finis mon email et j'envoie.
Le mail est bien relayé car j'ai un retour de mon serveur Exchange qui me signale un spam (sujet non renseigné, mais ça c'est volontaire).
Or quand je lis le contenu du spam je suis embêté, car mon mail from n'a servi à rien !!
Code :
|
Ce qui m'embête le plus c'est ce "undisclosed-recipients:" ... alors que j'avais explicitement renseigné un rcpt to.
Théo
Marsh Posté le 05-11-2007 à 18:02:25
envoie un mail en console avec la commande mail, ou mieux directmetn avec un client mail.
regarde le resultat et poste les logs
Marsh Posté le 05-11-2007 à 19:29:25
oui t'as mis un "RCPT TO", mais si dans le corps du messages tu n'as pas défini un "To: bidule@machin.truc", alors => undisclosed-recipients
Sinon résume ton problème, parce que j'ai du mal à suivre les différents posts là
Marsh Posté le 06-11-2007 à 08:46:18
e_esprit a écrit : oui t'as mis un "RCPT TO", mais si dans le corps du messages tu n'as pas défini un "To: bidule@machin.truc", alors => undisclosed-recipients |
Tu as raison, hier j'ai cramé une durite et je n'y voyais plus clair.
Résumé:
POSTFIX fonctionnait bien (conclusion après avoir installé POSTFIX sur le LAN où se situait aussi le serveur de mail principal), le problème était au niveau de la passerelle entre la DMZ et le LAN, la "syntaxe" du routage dans le clickdrome que j'utilise n'était pas très claire, c'est corrigé.
Ensuite j'ai refait mes tests en telnet, mais là ca ne passait pas à cause d'une règle antispam (pas de sujet), ceci étant je le savais et je m'y attendais, mais j'étais perturbé dans les messages de retour de l'anti-spam qui mentionnait "undisclosed-recipients"... c'était sans me souvenir de la RFC sur le protocole SMTP, et la confusion que je faisais entre le RCPT TO et le TO optionnel de l'en-tête. Merci à e-esprit pour ce rappel... et désolé pour la "confusion" de mes posts...
Enfin ce matin ca fonctionne nickel, je l'ai mis en exploitation, j'ai basculé l'arrivée des emails sur la passerelle, et ça tourne !!
Je vais l'enlever de nouveau d'ici quelques minutes, creuser POSTFIX pour rajouter des outils anti-spam (si vous avez des conseils je suis preneur !), refaire des tests et remettre le tout en exploitation définitive.
Merci à vous tous, Théo
Marsh Posté le 06-11-2007 à 09:19:57
Deroma1 a écrit : |
spf + postgrey/sqlgrey + amavis + clamav +
- spamassasin
ou :
- dspam
Marsh Posté le 06-11-2007 à 09:32:32
d'apres ta conf tu recois depuis internet directmetn sur le postfix c'est ca ?
de meme lors d'un envoi le message passe par le postfix ?
Dans ce cas de figure (classique), pour une base de filtrage efficace il faut que ton serveur frontal (postfix) connaisse la liste des users de l'exchange.
ensuite regarde mon tuto dans la partie antispam.
perso j'utilise Spamassassin et Dspam conjointement, le tout drivé par amavisd.
Marsh Posté le 06-11-2007 à 12:18:52
toniotonio a écrit : d'apres ta conf tu recois depuis internet directmetn sur le postfix c'est ca ? |
Non, c'est exchange qui s'en occupe. Posfix ne fait que recevoir...
Quel avantage d'envoyer aussi par Postfix ?
toniotonio a écrit : |
Mon problème est de mettre la base à jour dans Postfix à chaque changement dans Exchange... Je n'ai pas trop le temps de mettre à jour à la main les deux listes...
Est ce que Spamassassion tout seul pourrait suffire, est il un outil suffisant? Quelles sont ces failles? Y'a t'il une solution pour qu'Exchange fasse du push sur Postfix de la liste des recipients ?
Théo
Marsh Posté le 06-11-2007 à 13:02:34
la logique voudrait que ton postfix soit un serveur frontal qui s'occupe de la reception et de l'envoi.
de multiples avantages: les filtres AV et antispam de postfix fonctionneront en sortie ce qui evitera l'envoi de mail par un bot dans ton lan par exemple.
un schema plus logique et simplifié de la chaine mail.
etc, etc..
pour le fait d'avoir la liste des users, l'idee est d'installer un script sur le postfix qui recupere les infos de l'Active Directory et alimente un fichier local.
avec une tache cron tout est automatique:
regarde la:
http://postfix.state-of-mind.de/pa [...] mailrelay/
tu peux bien sur te passer de cette liste, mais le benefice en terme de lutte contre le spam de faire la verification de l'existence des boite email est enorme.
Marsh Posté le 06-11-2007 à 15:33:42
toniotonio a écrit : la logique voudrait que ton postfix soit un serveur frontal qui s'occupe de la reception et de l'envoi. |
Oui mais je demande à Postfix de ne relayer les emails extérieurs que ceux destinés à mon domaine, comment je peux dans le même temps lui dire de relayer sur les autres domaines les mails provenant d'exchange?
toniotonio a écrit : |
Oui vu, dit comme ça c'est génial !!
Cette une ressource qu'il a l'air très prometteuse !!
Las la requête LDAP me pose problème, je l'ai configuré comme indiqué en fonction de la structure de mon réseau, mais ça ne me renvoit que des erreurs, je vais ouvrir un thread là dessus sur un autre forum...
Set Container = GetObject("LDAP://CN=Users,DC=mondomaine,DC=com" ) --> ne renvoie rien du tout !! mondomaine est bien sur remplacé par le domaine que j'ai utilisé durant la création d'active directory.
LDAP est un mystère épais encore pour moi... mais ça à l'air intéressant... et il y a loin de la maitrise de la requête LDAP à la mise en place de tout le pataqués présenté dans l'article
Théo
Marsh Posté le 06-11-2007 à 16:30:55
le ldap c'est pas mon truc donc je ne pourrai pas trop t'aider dessus.
sinon pour ta premiere question c'est le fonctionnement meme de postfix.
la variable mynetworks permet de dire qui va pouvoir envoyer vers des domaines autre que ceux que tu declares.
si le client est dans le range ip il peut envoyer vers l'exterieur. Sinon il est limité aux domaines internes.
et donc dans ce cas il peut envoyer vers n'importequi@tondomaine.com . Les spammeurs envoient enormement de spams sur des adressses inexistantes DANS ton domaine (exemple: accounting@domain.com est un classique)
le fait de connaitre la liste interne limitera l'envoi aux comptes existants
Marsh Posté le 06-11-2007 à 16:34:23
Disons que d'avoir les comptes sur la passerelle ca permet de générer un rejet avant de relayer, et donc de ne pas generer un rapport de non remise qui partira vers une adresse d'origine probablement falsifiée
Marsh Posté le 06-11-2007 à 18:12:03
e_esprit a écrit : Disons que d'avoir les comptes sur la passerelle ca permet de générer un rejet avant de relayer, et donc de ne pas generer un rapport de non remise qui partira vers une adresse d'origine probablement falsifiée |
J'ai bien compris la théorie, c'est la pratique qui m'engoisse un peu plus.
Le script qui recherche les adresses emails sur l'annuaire LDAP commence à me donner quelque chose (ouf !! LDAP c'est pas l'évidence même!) mais il me fait une erreur incongrue à la moitié du parcours de l'arborescence de l'annuaire (je récupère quelques dizaines d'adresses emails), erreur dont je ne comprends pas l'origine, et là c'est du VB (une collection soit disant non déclarée...)... et beurrrrrrkkk ....
Et d'ici là que j'arrive à en faire quelque chose avec POSTFIX... bref que du bonheur en perspective
Théo
NB: A tout hasard le morceau qui me cause des soucis
Code :
|
Avec l'erreur 800A01C3, cet objet n'est pas une collection.
Marsh Posté le 06-11-2007 à 18:19:14
Oulah, t'es pas dans la bonne cat pour les scripts VBscript
Marsh Posté le 26-10-2007 à 12:57:17
Bonjour à tous,
Je viens d'installer POSTFIX pour créer une passerelle entre le serveur de mail principal et l'extérieur. Voici la situation:
POSTFIX se trouve sur une DMZ en 192.168.20.0/24 (IP locale 192.168.20.1).
Le serveur de mail principal est sur un réseau local en 192.168.10.0/24.
Le firewall est correctement configuré pour relayer les requêtes SMTP sur POSTFIX, et pour relayer les requêtes autorisées par POSTFIX sur le serveur de mail principal.
POSTFIX accepte les connexions SSH du réseau 192.168.10.0/24, ainsi que les ping (donc à priori accès OK).
POSTFIX accepte les connexions telnet sur le port 25 en 172.16.0.1 (donc telnet est OK).
MAIS
POSTFIX n'accepte pas les connexions telnet en SSH OU en locale sur l'IP 192.168.20.1 (la sienne). telnet 192.168.12.1 25 --> connexion refused.
POSTFIX n'accepte pas les requêtes SMTP extérieures.
Ce que me dit POSTFIX: Unable to connect to remote host: Connection refused
A tout hasard et par dépit, j'ai configuré hosts.allow avec ALL: LOCAL. Ca n'a rien changé.
La table de routage de la machine est correcte:
Destination Passerelle Genmask Indic Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 0 eth0
default 192.168.20.199 0.0.0.0 UG 0 0 0 eth0
La configuration de main.cf est aussi correcte (à partir de la documentation en français de POSTFIX):
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
relay_domains = xxxxxxxxxxxxxxxxx.com
mynetworks = subnet
mynetworks_style = class
relayhost = [192.168.10.100]
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
A tout hasard je vous mets la configuration de master.cf, elle est d'origine, je n'y ai pas touché (je supprimer les lignes commentées pour faciliter la lecture):
smtp inet n - - - - smtpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
-o fallback_relay=
showq unix n - - - - showq
error unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user}
${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
Merci de me dire ce qui ne va pas, ou ce que j'ai mal configuré...
Théo