Dans Postfix, comment appliquer tls + auth sur 587 tout en laissant tls en option pour 25

9

Je souhaite héberger des services de messagerie pour certains domaines. J'ai réussi à configurer postfix pour consulter sql pour ces domaines virtuels. Ce que je voudrais faire, c'est:

  • Pour les connexions sur 25:

    1. Refuser le relais (livrer uniquement aux destinataires de mes domaines virtuels)
    2. Laissez tls facultatif, mais offrez l'auth uniquement si le client fait tls
    3. Accepter uniquement les clients non mis sur liste noire (par exemple, restreindre XBL + SBL + PBL de spamhaus) ou les clients qui font tls et auth ("serveurs de messagerie amis" qui sont configurés pour s'authentifier avec moi avec auth et tls)
  • Pour les connexions sur 587:

    1. Appliquer tls et auth
    2. Autoriser le relais.
    3. Acceptez uniquement les clients non mis sur liste noire (listes noires comme ci-dessus mais laissez de côté la vérification PBL)

Mes questions:

  • A. Je connais les options de suffixe pour ce qui précède, mais je ne trouve pas comment les différencier en fonction du port d'écoute.

  • B. Vais-je rencontrer des problèmes largement connus avec des clients supposés légitimes avec la politique ci-dessus?

Je suis nouveau dans la configuration du serveur de messagerie, désolé pour toute question / assupmtion insignifiante (veuillez l'indiquer). Merci.

Paralife
la source

Réponses:

15

C'est facile,

  1. En /etc/postfix/main.cfvous ajouterez / changement

    smtpd_tls_security_level=may
    

    de sorte que par défaut TLS est disponible (mais facultatif).

  2. Ensuite, dans votre, /etc/postfix/master.cfvous le remplacerez pour le port 587 (le submissionport) en remplaçant le paramètre:

    submission inet n       -       n       -       -       smtpd
      -o smtpd_tls_security_level=encrypt
    

    Cela nécessite TLS pour toutes les connexions de soumission (port 587).

Quant à refuser le relais, c'est la valeur par défaut; le relais est autorisé uniquement pour les utilisateurs authentifiés et les adresses IP que vous spécifiez dans mynetworks.

Enfin, vous pouvez ajouter des listes noires en main.cfajoutant smtpd_recipient_restrictions:

    reject_rbl_client zen.spamhaus.org,

ou quelles que soient les listes noires que vous souhaitez. Ceux-ci devraient apparaître vers la fin de la liste, juste avant la finale permit.


Une dernière chose. Pour plus d'idées sur la façon de prévenir le spam, voir Lutte contre le spam - Que puis-je faire en tant qu'administrateur de messagerie, propriétaire de domaine ou utilisateur?

Michael Hampton
la source
Merci, un seul point flou: sur le port 25, je veux refuser sans condition le relais, que le client soit authentifié ou non.
Paralife
L'authentification sur le port 25 est désactivée par défaut. Mais pour vérifier avec certitude, assurez-vous que ce smtpd_sasl_auth_enablen'est pas dans votre main.cfet aussi qu'il n'est pas présent dans la smtpsection de votre master.cf(mais il DEVRAIT être réglé sur yesdans la submissionsection). Le master.cfdevrait ressembler à ceci .
Michael Hampton
Correct mais je veux activer l'option auth + tls sur 25. Je ne veux simplement pas relayer sur 25. Essentiellement, je veux être libéral sur la façon dont quelqu'un se connecte mais très strict sur le relais (refuser tout relais). Aucun relais ne doit être autorisé à moins qu'il ne soit activé sur 587 et que le client soit authentifié via tls. Toute autre combinaison doit rejeter le relais. Je supprimerai probablement juste permit_sasl_authenticated de smtpd_relay_restrictions et le mettrai seulement dans les remplacements pour 587 dans master.cf. Merci.
Paralife
Les gens ne sont même pas censés tenter d'authentifier le 25. Vous pouvez l'activer si vous le souhaitez, mais vous ne devriez vraiment pas.
Michael Hampton
3

Je ne connais pas la réponse à la question B, mais à A:

dans postfix, vous avez généralement un master.cfoù vous définissez chaque processus en cours d'exécution, souvent dans /etc/postfix. Dans ce fichier, vous avez une entrée par service postfix en cours d'exécution, il y a donc deux entrées différentes pour port 25et port 587. Pour chacun d'eux, vous pouvez également passer des paramètres à smtpdpour leur faire avoir des réglages différents.

C'est un exemple de mon serveur de messagerie:

4.3.2.1:25      inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
4.3.2.1:10027   inet  n       -       -       -       -       smtpd
  -o mynetworks=91.190.245.4/32 127.0.0.0/8
  -o smtpd_client_restrictions=permit_mynetworks,reject
rejouer
la source