Postfix + restriction adresse expéditrice - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 22-05-2007 à 11:16:14
smtpd_sender_restrictions = reject_unknown_sender_domain verifie que le domaine specifié en MAILFROM pour des mails destinés a l'exterieur, possede un A et un MX et qu'ils soient valides.
Donc que le domaine existe.
meme si cette regle est conseillée, ce n'est pas ce que tu veux faire.
il te faut plutot la regle generique:
Code :
|
Marsh Posté le 22-05-2007 à 11:26:05
En gros, si j'ai bien compris, grâce à cette régle tous les domains qui ne sont pas listé dans le champs "mydomain"ou "mydestinations" seront rejectés.
Marsh Posté le 22-05-2007 à 11:33:36
mieux meme:
toutes les adresses qui n'existent pas dans les alias ou les mailbox seront rejetées.
cela dit c'est peut etre un peu trop par rapport a ce que tu voulais faire ?
Marsh Posté le 22-05-2007 à 11:39:42
non bien au contraire c'est encore mieux que ce que je voulais faire.
Je vais me pencher dessus
Je te remercie pour la regles ^^
Bonne fin de journée.
Marsh Posté le 22-05-2007 à 14:13:28
Cela marche très bien mais seulement il faut rajouter les adresses dans le fichiers "/etc/aliases"
Code :
|
Existe-t-il un moyen d'autoriser toutes les adresses "@example.com" sans devoir rajouter manuellement les adresses dans le fichiers ?
Marsh Posté le 22-05-2007 à 14:18:52
cela depend deja de ta configuration
ce qui est etrange c'est qu'il devrait aussi prendre comme liste le contenu de local_recipient_maps.
peux tu poster le postconf -n ?
Marsh Posté le 22-05-2007 à 14:21:48
Voici mon postconf -n
Code :
|
Marsh Posté le 22-05-2007 à 14:29:12
comment ton serveur gere il des compte utilisateurs ?
par les comptes Unix on dirait ?
Marsh Posté le 22-05-2007 à 14:34:57
Pour l'instant, c'est juste une passerelle.
Mon serveur que je crée sert juste à délester le serveur mail principal.
En gros un utilisateur du labo où je suis doit pouvoir utiliser mon serveur sans utiliser le principal pour envoyer des mail en local ou depuis Internet (avec authentification via certificat toussa toussa uniquement depuis Internet).
Ce n'est pas moi qui crée et/ou gere les adresses mail.
Oui c'est des comptes Unix, de mémoires
Marsh Posté le 22-05-2007 à 14:47:04
c'est donc normal
sur une passerelle, ton serveur ne connait pas les users. (a moins que tu les specifies dans /etc/aliases par exemple mais ce n'est pas une bonne solution)
donc faudra te rabattre sur du blocage par domaine dans le mailfrom comme tu voulais faire au debut:
essaye ca:
main.cf:
Code :
|
/etc/postfix/internal_networks:
Code :
|
/etc/postfix/our_domain_as_sender:
Code :
|
/etc/postfix/not_our_domain_as_sender:
Code :
|
Marsh Posté le 22-05-2007 à 14:48:30
Donc si Postfix était installé sur la machine qui a créé les comptes de messagerie et que la regle "smtpd_reject_unlisted_sender = yes" est activé alors seul les comptes Unix pourront envoyer des mails ?
Marsh Posté le 22-05-2007 à 14:51:00
misterfab a écrit : Donc si Postfix était installé sur la machine qui a créé les comptes de messagerie et que la regle "smtpd_reject_unlisted_sender = yes" est activé alors seul les comptes Unix pourront envoyer des mails ? |
oui exactement
(ou tout autre moyen de gerer les compte que peut offrir postfix d'ailleurs)
Marsh Posté le 22-05-2007 à 15:12:10
J'ai créé les fichiers "/etc/postfix/internal_networks", "/etc/postfix/our_domain_as_sender", "/etc/postfix/not_our_domain_as_sender".
Lors que j'exécute la commande postmap -q, j'obtiens un message d'erruer du genre répertoitre ou fichier inconnu
Code :
|
Mais peut-être que je me suis trompé dans la synthaxe de la commande postmap.
Marsh Posté le 22-05-2007 à 15:13:43
faut faire:
Code :
|
Marsh Posté le 22-05-2007 à 15:17:44
tout de suite ca marche mieux avec la bonne synthaxe.
Merci.
Marsh Posté le 22-05-2007 à 15:28:52
Je te remercie Tonio pour ton aide la règle permettant de limiter les adresss expéditaires. Elle fonctionne parfaitement.
Marsh Posté le 23-05-2007 à 14:38:33
Salut
pour le fichier "/etc/postfix/our_domain_as_sender", si je marque :
Code :
|
Il n'y aura que ces deux domaine qui pourront envoyer des mail ?
Marsh Posté le 23-05-2007 à 14:44:11
oui
ne revanche n'oublie pas de mettre egalement:
Code :
|
Marsh Posté le 23-05-2007 à 15:08:34
Je te remercie c'est bien ce que je pensais je voulais en être sûr.
Marsh Posté le 23-05-2007 à 15:24:39
En local, la restriction fonctionne très bien.
Mais je me demandais si depuis Internet malgrè la restricion du fichier "/etc/postfix/internal_networks" cela marchait aussi.
Si j'ai bien compris si la machine n'est pas sur le réseau indiqué dans ce fichier ca ne marchera pas.
Si c'est le cas, est-ce que en mettant "127.0.0.1" cela marcherait ?
Marsh Posté le 23-05-2007 à 15:30:36
si qqun se connecte de l'exterieur et qu'il envoie un mail a un de tes users il entre dans le cas ou il n'est pas dans internal networks.
donc il est soumis a la restriction suivante dans la liste :
Code :
|
posstfix verifie le mailfrom et si c'est ton domaine le mail est bloqué, sinon il passe (heureusement d'ailleurs )
Marsh Posté le 23-05-2007 à 15:36:03
Merci pour l'explication.
Cette régle est plus claire dans mon esprit maintenant.
Marsh Posté le 25-05-2007 à 11:22:00
Salut,
Depuis hier j'ai mis mon serveur smtp accessible depuis Internet.
Si je me connecte avec un login et mdp + certficat, je peux envoyer un mail.
Mais si je supprime le login et le mdp tout se passe très bien jusqu'à l'établissement de la connection TLS après j'ai ce message d'erreur :
Code :
|
J'ai mis en place ces deux regles :
Code :
|
La première est pour l'activation de l'authentification SASL dans le serveur SMTP de Postfix
La seconde devrait autorisé les client non authentifiés par le login et le mdp.
Marsh Posté le 25-05-2007 à 11:33:53
quand tu dis envoyer un mail c'est vers ou ?
vers un domaine géré par ton serveur (donc local) ou bien vers l'exterieur (relay) ?
et quand tu parles de mdp c'est a quel niveau ? SASL ?
configuré comment ?
Marsh Posté le 25-05-2007 à 11:46:32
Voici le schéma du réseau simplifié :
-----------
|INTERNET |
-----------
|
+- cyan3.example.fr [11.22.33.44]
|
--------------
|ROUTEUR/FW|
--------------
| | | |
| | |
| Client [11.22.1.2]
|
server SMTP [11.22.10.10]
C'est {cyan3.example.fr [11.22.33.44]} qui arrive a envoyer des mail en local.
Les mdp sont géré par SASL via des comptes systèmes.
Marsh Posté le 25-05-2007 à 11:48:38
donc le pb est ou ? (je suis un peu lent ce matin !)
Marsh Posté le 25-05-2007 à 11:54:19
Y a des matins comme ça ^^
Le problème vient que si je n'utilise pas les logins et mdp, l'envoi ne marche pas.
Pourtant, j'ai mis cette règle :
Code :
|
Elle devrait permettre d'envoyer des mails même si les clients ne sont pas authentifié. Par défaut, elle est à "yes".
Marsh Posté le 25-05-2007 à 11:55:33
voici mon postconf-n
Code :
|
Marsh Posté le 25-05-2007 à 12:00:42
misterfab a écrit : Y a des matins comme ça ^^
|
non cette regle ne fait que bloquer des qu'un match intervient dans les regles et non pas au moment du RCPT TO
donc elle est inutile dans ton cas (enfin si j'ai bien compris ton cas c'est encore un peu flou !!)
quand tu envoies depuis ce client cyan3.example.fr [11.22.33.44] et comme ton mynetworks est sur 127.0.0.1, tu dois forcement t'authentifier pour qu'un mail puisse partir vers un autre domaine que ceux listé dans mydestination .
Marsh Posté le 25-05-2007 à 15:14:18
toniotonio a écrit : |
C'est bien ce que je pensais mais en lisant la doc officiel de postfix, j'avais lu
Citation : |
Donc dans ma situation actuelle, mon postfix avec le paramètre est 127.0.0.0/8 entraine forcement une authentification.
En commentant tous les paramètres SASL, est-ce l'authentification ne serait-elle pas plus obligatoire ?
Marsh Posté le 25-05-2007 à 15:18:19
attention: cela entraine une auth uniquement si tu envoies un mail vers une adresse externe
en interne cela fonctionne, de meme si un mail arrive de l'exterieur vers une adresse interne cela fonctionne.
l'authentification sert en particulier a permettre aux utilisateurs mobiles (laptop hors du reseau) d'envoyer des mails (vers des adresses internes bien sur mais aussi externes) en se connectant a ton smtp.
si tu commentes les parametres SASL seuls les gens dans mynetwork pourront envoyer un mail
Marsh Posté le 25-05-2007 à 15:26:30
OK le fait que l'authentification soit "obligatoire" est une sécurité supplémantaire et cela arrange d'un coté mon chef.
Je te remercie pour ta patience et tes explications.
Normalement pour ce qui me reste à faire je saurais me débrouiller. ^^
Marsh Posté le 25-05-2007 à 16:15:03
j'avais un peu zappé ce qu'on avait fait avec le
check_client_access hashetc/postfix/internal_networks
check_sender_access hashetc/postfix/not_our_domain_as_sender
teste tout de meme le comportement de tes clients dans le reseau internal_networks a l'envoi de mail.
si mon esprit s'est eclairci depuis ce matin :
les clients de internal_networks pourront envoyer un mail vers n'importe ou a partir du moment ou il utilise ton domaine en MAIL FROM
Marsh Posté le 25-05-2007 à 17:34:17
Je viens de mettre mon serveur en pseudo-prod donc j'attend lundi et le courant de la semaine prochaine pour avoir les retour positif (j'espere ) ou négatifs.
Pour l'instant tout semble OK.
Marsh Posté le 28-05-2007 à 10:47:36
Salut,
toniotonio a écrit : oui
|
En lisant les log ce matin, je me suis aperçu que des adresses expéditrices "non-autorisées" a réussi a envoyer des mails.
J'ouvre le fichiers "/etc/postfix/our_domain_as_sender" et je m'aperçois que j'avais oublié le :"<> OK".
La question que je me pose c'est à quoi peut servir cette ligne ?
En y réfléchissant, je pense qu'elle permet de signaler qu'il n'y a plus d'autres adresses autorisées dans ce fichiers, est-ce exact ?
Merci.
Marsh Posté le 28-05-2007 à 10:52:37
non c'est pour l'envoi des bounces qu'il faut ajouter le null sender.
tu dois avoir un autre pb.
fait voir les logs et la conf actuelle
Marsh Posté le 28-05-2007 à 11:19:30
Voici le log :
Code :
|
vendredi soir ayant eu un plantage, mon chef a modifié le fichier "main.cf"
voici lepostconf -n :
Code :
|
Je pense que leproblème doit venir de la regle "smtpd_recipient_restrictions".
Marsh Posté le 28-05-2007 à 11:39:29
oui il manque
Code :
|
faut faire attention ces regles sont assez pointues et le moindre changment modifiera tout le comportement.
Marsh Posté le 28-05-2007 à 11:48:09
Ok.
Je me suis repenché plus en détails sur différents paramètres.
Le paramètre "mynetworks" permet de lister les @IP autorisées à faire passer leur message via mon Postfix.
Et la régle "check_client_access hashetc/postfix/internal_networks" me semble remplir la même fonction.
Si j'ai bien compris, si quelqu'un envoye un mail depuis l'extérieure cette régle n'est pas prise en compte et comme le paramètre "mynetworks" est mis sur 127.0.0.0/8 donc il accepte tous les réseaux.
En quoi c'est deux régles sont-elles différentes ou utiles ?
Le paramètre "mynetworks" ne serait-il pas le seul utile dans le cas d'un serveur passerelle ?
Marsh Posté le 22-05-2007 à 10:52:47
Bonjour,
Je souhaiterais mettre en place une régle sur Postfix afin de limiter les adresses expéditaires.
Par exemple, j'ai deux domaines s'appelant "example1.com" et "example2.com" avec un MX et toussa toussa ^^
Je souhaiterais que seul les adresses "@example1.com" et "@example2.com" puissent envoyer des mails.
J'ai pensé à cette regle mais je ne suis pas sûr :
Merci d'avance.
Cordialement.
[Edit]
En continuant mes recherches sur cette question, j'ai plus l'impression qu'il faudrait utiliser un fichier type "hashetc/postfix/access".
Message édité par misterfab le 28-05-2007 à 14:00:50