Έκδοση διακομιστή αλληλογραφίας Postfix 3.6.0

Μετά από ένα χρόνο ανάπτυξης, κυκλοφόρησε ένας νέος σταθερός κλάδος του διακομιστή αλληλογραφίας Postfix - 3.6.0. Ταυτόχρονα, ανακοίνωσε το τέλος της υποστήριξης για τον κλάδο Postfix 3.2, που κυκλοφόρησε στις αρχές του 2017. Το Postfix είναι ένα από τα σπάνια έργα που συνδυάζει υψηλή ασφάλεια, αξιοπιστία και απόδοση ταυτόχρονα, το οποίο επιτεύχθηκε χάρη σε μια καλά μελετημένη αρχιτεκτονική και μια αρκετά αυστηρή πολιτική για το σχεδιασμό κώδικα και τον έλεγχο κώδικα. Ο κωδικός του έργου διανέμεται σύμφωνα με το EPL 2.0 (Eclipse Public License) και το IPL 1.0 (IBM Public License).

Σύμφωνα με μια αυτοματοποιημένη έρευνα του Απριλίου σε περίπου 600 χιλιάδες διακομιστές αλληλογραφίας, το Postfix χρησιμοποιείται στο 33.66% (πριν από ένα χρόνο 34.29%) των διακομιστών αλληλογραφίας, το μερίδιο του Exim είναι 59.14% (57.77%), του Sendmail - 3.6% (3.83). %), MailEnable - 2.02% ( 2.12%), MDaemon - 0.60% (0.77%), Microsoft Exchange - 0.32% (0.47%).

Βασικές καινοτομίες:

  • Λόγω αλλαγών στα εσωτερικά πρωτόκολλα που χρησιμοποιούνται για την αλληλεπίδραση μεταξύ των στοιχείων Postfix, απαιτείται διακοπή του διακομιστή αλληλογραφίας με την εντολή "postfix stop" πριν από την ενημέρωση. Διαφορετικά, ενδέχεται να υπάρξουν αποτυχίες κατά την αλληλεπίδραση με τις διαδικασίες παραλαβής, qmgr, επαλήθευσης, tlsproxy και postscreen, οι οποίες μπορεί να οδηγήσουν σε καθυστέρηση στην αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου έως ότου επανεκκινηθεί το Postfix.
  • Οι αναφορές των λέξεων «λευκό» και «μαύρο», που εκλαμβάνονται από ορισμένα μέλη της κοινότητας ως φυλετικές διακρίσεις, έχουν εξαλειφθεί. Αντί για "άσπρη λίστα" και "μαύρη λίστα", θα πρέπει τώρα να χρησιμοποιούνται τα "επιτρεπτά" και "απορρίπτονται" (για παράδειγμα, οι παράμετροι postscreen_allowlist_interfaces, postscreen_denylist_action και postscreen_dnsbl_allowlist_threshold). Οι αλλαγές επηρεάζουν την τεκμηρίωση, τις ρυθμίσεις της διαδικασίας μετά την οθόνη (ενσωματωμένο τείχος προστασίας) και την αντανάκλαση των πληροφοριών στα αρχεία καταγραφής. postfix/postscreen[pid]: ALLOWLIST VETO [διεύθυνση]:port postfix/postscreen[pid]: ALLOWLISTED [διεύθυνση]:port postfix/postscreen[pid]: DENYLISTED [διεύθυνση]:port

    Για τη διατήρηση των προηγούμενων όρων στα αρχεία καταγραφής, παρέχεται η παράμετρος "respectful_logging = όχι", η οποία θα πρέπει να καθοριστεί στο main.cf πριν από το "compatibility_level = 3.6". Η υποστήριξη για παλιά ονόματα ρυθμίσεων μετά την οθόνη έχει διατηρηθεί για συμβατότητα προς τα πίσω. Επίσης, το αρχείο ρυθμίσεων "master.cf" έχει παραμείνει αμετάβλητο προς το παρόν.

  • Στη λειτουργία "compatibility_level = 3.6", ο προεπιλεγμένος διακόπτης χρησιμοποιήθηκε η συνάρτηση κατακερματισμού SHA256 αντί για MD5. Εάν ορίσετε μια παλαιότερη έκδοση στην παράμετρο compatibility_level, το MD5 συνεχίζει να χρησιμοποιείται, αλλά για ρυθμίσεις που σχετίζονται με τη χρήση κατακερματισμών στις οποίες ο αλγόριθμος δεν ορίζεται ρητά, θα εμφανιστεί μια προειδοποίηση στο αρχείο καταγραφής. Η υποστήριξη για την έκδοση εξαγωγής του πρωτοκόλλου ανταλλαγής κλειδιών Diffie-Hellman έχει διακοπεί (η τιμή της παραμέτρου tlsproxy_tls_dh512_param_file έχει πλέον αγνοηθεί).
  • Απλοποιημένη διάγνωση προβλημάτων που σχετίζονται με τον καθορισμό ενός εσφαλμένου προγράμματος χειριστή στο master.cf. Για τον εντοπισμό τέτοιων σφαλμάτων, κάθε υπηρεσία υποστήριξης, συμπεριλαμβανομένου του postdrop, διαφημίζει τώρα το όνομα του πρωτοκόλλου πριν από την έναρξη της επικοινωνίας και κάθε διαδικασία πελάτη, συμπεριλαμβανομένου του sendmail, ελέγχει ότι το όνομα του διαφημιζόμενου πρωτοκόλλου ταιριάζει με την υποστηριζόμενη παραλλαγή.
  • Προστέθηκε ένας νέος τύπος αντιστοίχισης "local_login_sender_maps" για ευέλικτο έλεγχο της εκχώρησης της διεύθυνσης φακέλου του αποστολέα (παρέχεται στην εντολή "MAIL FROM" κατά τη διάρκεια μιας περιόδου λειτουργίας SMTP) στις διεργασίες sendmail και postdrop. Για παράδειγμα, για να επιτρέψετε στους τοπικούς χρήστες, με εξαίρεση το root και το postfix, να καθορίζουν μόνο τα στοιχεία σύνδεσής τους στο sendmail, χρησιμοποιώντας σύνδεση UID με το όνομα, μπορείτε να χρησιμοποιήσετε τις ακόλουθες ρυθμίσεις: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Επιτρέπεται ο καθορισμός τόσο των στοιχείων σύνδεσης όσο και της φόρμας login@domain. /(.+)/ $1 $1…@example.com
  • Προστέθηκε και ενεργοποιήθηκε από προεπιλογή η ρύθμιση "smtpd_relay_before_recipient_restrictions=yes", στην οποία ο διακομιστής SMTP θα ελέγχει το smtpd_relay_restrictions πριν από το smtpd_recipient_restrictions και όχι το αντίστροφο, όπως πριν.
  • Προστέθηκε η παράμετρος "smtpd_sasl_mechanism_list", η οποία ορίζει ως προεπιλογή "!external, static:rest" για να αποτρέψει μπερδεμένα σφάλματα στην περίπτωση που το backend SASL ισχυρίζεται ότι υποστηρίζει τη λειτουργία "EXTERNAL", η οποία δεν υποστηρίζεται στο Postfix.
  • Κατά την επίλυση ονομάτων στο DNS, ένα νέο API που υποστηρίζει multithreading (threadsafe) είναι ενεργοποιημένο από προεπιλογή. Για να δημιουργήσετε με το παλιό API, θα πρέπει να καθορίσετε το “make makefiles CCARGS=”-DNO_RES_NCALLS…” κατά τη δημιουργία.
  • Προστέθηκε η λειτουργία "enable_threaded_bounces = ναι" για να αντικαταστήσει τις ειδοποιήσεις σχετικά με προβλήματα παράδοσης, καθυστερημένη παράδοση ή επιβεβαίωση παράδοσης με το ίδιο αναγνωριστικό συζήτησης (η ειδοποίηση θα εμφανίζεται από τον πελάτη αλληλογραφίας στο ίδιο νήμα, μαζί με άλλα μηνύματα αλληλογραφίας).
  • Από προεπιλογή, η βάση δεδομένων συστήματος /etc/services δεν χρησιμοποιείται πλέον για τον προσδιορισμό των αριθμών θύρας TCP για SMTP και LMTP. Αντίθετα, οι αριθμοί θυρών διαμορφώνονται μέσω της παραμέτρου Known_tcp_ports (προεπιλογή lmtp=24, smtp=25, smtps=submissions=465, submission=587). Εάν λείπει κάποια υπηρεσία από το known_tcp_ports, το /etc/services συνεχίζει να χρησιμοποιείται.
  • Το επίπεδο συμβατότητας ("compatibility_level") έχει αυξηθεί στο "3.6" (η παράμετρος άλλαξε δύο φορές στο παρελθόν, εκτός από το 3.6 οι υποστηριζόμενες τιμές είναι 0 (προεπιλογή), 1 και 2). Από εδώ και στο εξής, το "compatibility_level" θα αλλάξει στον αριθμό έκδοσης στον οποίο έγιναν αλλαγές που παραβιάζουν τη συμβατότητα. Για να ελέγξετε τα επίπεδα συμβατότητας, έχουν προστεθεί ξεχωριστοί τελεστές σύγκρισης στο main.cf και στο master.cf, όπως "<=level" και "<level" (οι τυπικοί τελεστές σύγκρισης δεν είναι κατάλληλοι, καθώς θα θεωρούν το 3.10 μικρότερο από το 3.9).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο