Postfix: désactiver l'authentification via le port 25


12

Lors de l'utilisation Postfixet IMAPsur un serveur de messagerie, au moins 3 ports sont généralement ouverts

25 smtp   : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap  : imap for authorized users

Je voudrais configurer postfix, afin que les utilisateurs autorisés ne puissent envoyer des e-mails que via 465. Par défaut, ce n'est pas le cas. Les utilisateurs peuvent également utiliser STARTTLS sur le port 25. Je voudrais désactiver cela.

Mon plan est d'utiliser le port 25 pour que le public m'envoie des e-mails

utiliser le port 465 pour mes utilisateurs (je peux utiliser un pare-feu pour autoriser des plages IP spécifiques ou utiliser un port personnalisé)

Cela empêcherait le port 25 d'être exploitable des attaques par force brute, où les pirates tentent de deviner l'utilisateur / mot de passe. Le port 25 n'accepterait tout simplement pas l'utilisateur / mot de passe, même s'il était valide. Et comme le port 465 est limité par un pare-feu, les pirates ne peuvent pas non plus exploiter le 465.

Est-ce possible dans Postfix?

J'utilise Postfix 2.9.6-2 sur Debian Wheezy


1
Je sais que c'est vieux, mais vous devez toujours autoriser le port 587 (soumission) car c'est le bon port.
lbutlr

Réponses:


14

AVERTISSEMENT:
la demande ne respecte pas les meilleures pratiques de sécurité car vous désactivez TLS (cryptage) sur votre port de relais de messagerie principal, exposant les données envoyées via ce port à des écouteurs tiers et / ou des modifications en vol. La réponse ci-dessous satisfait la demande, mais les meilleures pratiques nécessitent également STARTTLS pour la connexion au port 25.

Le master.cffichier /etc/postfix/master.cfcontrôle (généralement ) le démarrage et la configuration de services Postfix spécifiques. Une configuration comme celle-ci dans ce fichier, selon la documentation, fera ce que vous voulez:

smtp  inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=none
  -o smtpd_sasl_auth_enable=no

smtps inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Cette configuration désactive l'authentification et l'option STARTTLS sur le port 25. Elle active l'option STARTTLS sur le port 465, nécessite l'utilisation de STARTTLS, active l'authentification et autorise uniquement les clients à se connecter s'ils sont authentifiés.

Vous pouvez également examiner l' smtpd_tls_wrappermodeoption pour forcer les vraies connexions TLS (et non les connexions STARTTLS).

Notez que ce type de configuration peut rendre la configuration de Postfix quelque peu difficile à suivre (des options peuvent être définies main.cfpuis remplacées master.cf). L'autre option consiste à exécuter plusieurs instances de Postfix, chacune avec ses propres main.cffichiers de configuration qui spécifient ces options.


1
si des options conflictuelles étaient définies main.cf, lesquelles auraient la préférence? D'après ce que vous dites, il semble que cela l' master.cfemporte main.cf. Est-ce correct?
Martin Vegter

1
Les -ooptions remplacent celles des fichiers de configuration. Le master.cffichier coordonne le démarrage des processus, et si vous deviez démarrer les processus à la main avec les -ooptions, ils remplaceraient le fichier de configuration spécifié.
chasse

Ne -o smtpd_tls_security_level=nonetuera- t-il pas TLS / ne fera- t-il pas tout le texte en clair au cas où un serveur tenterait de relayer des e-mails ou une autre connexion SMTP de serveur à serveur au port 25?
TCB13

Le -o smtpd_tls_security_level=noneva en effet empêcher STARTTLS de travailler sur le port 25 et ainsi faire toute la communication en texte brut. C'est ce que la question demandait.
chasse

Je continue de voter pour cela pour la raison ci-dessus. Répondre à la demande de OP est bien, mais vous devez ajouter un avertissement en majuscule, ce qui est une très mauvaise idée. (S'il vous plaît laissez-moi vous voter à la place, en ajoutant cela. ;-))
ntninja
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.