Το Postfix είναι ο προεπιλεγμένος Mail Transfer Agent (MTA) του Ubuntu. Φιλοδοξεί να είναι γρήγορος, ευδιαχείριστος και ασφαλής. Είναι συμβατός με τον MTA sendmail. Σε αυτή την ενότητα περιγράφεται η εγκατάσταση και ρύθμιση του postfix. Επίσης, περιγράφεται η χρήση του ως εξυπηρετητή SMTP με χρήση ασφαλούς σύνδεσης (για την ασφαλή αποστολή email).
|
|
|
Αυτός ο οδηγός δεν καλύπτει την εγκατάσταση Εικονικών τομέων (Virtual Domains) για το Postfix. Για πληροφορίες σχετικά με τους εικονικούς τομείς και άλλες προχωρημένες δυνατότητες, δείτε το “Αναφορές”. |
Για να εγκαταστήσετε το postfix εκτελέστε την ακόλουθη εντολή:
sudo apt-get install postfix
Απλά πατήστε enter όποτε εμφανίζονται ερωτήσεις. Στο επόμενο στάδιο θα κάνετε λεπτομερέστερες ρυθμίσεις
Για να ρυθμίσετε το postfix εκτελέστε την ακόλουθη εντολή:
sudo dpkg-reconfigure postfix
Θα εμφανιστεί η διεπαφή χρήστη. Σε κάθε οθόνη επιλέξτε τις ακόλουθες τιμές:
-
Internet Site
-
mail.example.com
-
steve
-
mail.example.com, localhost.localdomain, localhost
-
No
-
127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24
-
0
-
+
-
all
|
|
|
Αντικαταστήστε το mail.example.com με τον τομέα για το οποίο θα αποδέχεστε email. Επίσης, το 192.168.0.0/24 με το δίκτυο και το εύρος (class range) του δικού σας εξυπηρετητή email, και το steve με το κατάλληλο όνομα χρήστη. |
Τώρα είναι η κατάλληλη στιγμή να αποφασίσετε τη μορφή της ταχυδρομικής θυρίδας (mailbox) που θα χρησιμοποιήσετε. Η προεπιλογή του Postfix είναι το mbox. Αντί να τροποποιήσετε απευθείας το αρχείο ρυθμίσεων, μπορείτε να χρησιμοποιήσετε την εντολή postconf για να ρυθμίσετε όλες τις παραμέτρους του postfix. Οι παράμετροι βρίσκονται αποθηκευμένες στο αρχείο /etc/postfix/main.cf. Αργότερα, αν επιθυμείτε να τροποποιήσετε μια συγκεκριμένη παράμετρο, μπορείτε είτε να τρέξετε την εντολή, είτε να κάνετε την αλλαγή απευθείας στο αρχείο.
Για να ρυθμίσετε τη μορφή της ταχυδρομικής θυρίδας ως Maildir εκτελέστε:
sudo postconf -e 'home_mailbox = Maildir/'
|
|
|
Έτσι, τα νέα μηνύματα θα τοποθετούνται στο /home/όνομαχρήστη/Maildir. Θα πρέπει να ρυθμίσετε το Mail Delivery Agent (MDA) ώστε να χρησιμοποιεί την ίδια διαδρομή. |
Το SMTP-AUTH επιτρέπει σε πελάτες να ταυτοποιούνται μέσω ενός μηχανισμού πιστοποίησης (SASL). Θα πρέπει να χρησιμοποιείται Transport Layer Security (TLS) για την κρυπτογράφηση της διαδικασίας πιστοποίησης. Μετά την πιστοποίηση, ο εξυπηρετητής SMTP θα επιτρέπει στον πελάτη να διαβιβάζει email.
-
Ρυθμίστε το Postfix ώστε να χρησιμοποιεί SMTP-AUTH μέσω SASL (Dovecot SASL):
sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth-client' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' sudo postconf -e 'inet_interfaces = all'
To smtpd_sasl_path είναι μια σχετική διαδρομή που καθορίζεται σε σχέση με τον κατάλογο ουράς του Postfix.
-
Στη συνέχεια, αποκτήστε ένα ψηφιακό πιστοποιητικό για το TLS. Δείτε το “Πιστοποιητικά” για λεπτομέρειες. Στο παράδειγμα χρησιμοποιείται και μια Αρχή Πιστοποιητικών (Certificate Authority - CA). Για πληροφορίες σχετικά με την απόκτηση πιστοποιητικού CA δείτε το “Αρχή Πιστοποίησης”.
Μπορείτε να αποκτήσετε το ψηφιακό πιστοποιητικό από αρχή πιστοποιητικών. Ωστόσο, σε αντίθεση με τους πελάτες ιστού, οι πελάτες SMTP σπάνια παραπονιούνται για τα πιστοποιητικά που φέρουν τη δική σας υπογραφή (self-signed certificates). Άρα, εναλλακτικά, μπορείτε να δημιουργήσετε μόνοι σας το πιστοποιητικό. Ανατρέξτε στο “Δημιουργία ενός Πιστοποιητικού Υπογεγραμμένου από εσάς” για περισσότερες λεπτομέρειες.
-
Αφού αποκτήσετε πιστοποιητικό, ρυθμίστε το Postfix έτσι ώστε να παρέχει κρυπτογράφηση TLS τόσο για τα εισερχόμενα όσο και για τα εξερχόμενα μηνύματα:
sudo postconf -e 'smtpd_tls_auth_only = no' sudo postconf -e 'smtp_use_tls = yes' sudo postconf -e 'smtpd_use_tls = yes' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s' sudo postconf -e 'tls_random_source = dev:/dev/urandom' sudo postconf -e 'myhostname = mail.example.com'
-
If you are using your own Certificate Authority to sign the certificate enter:
sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'Again, for more details about certificates see “Πιστοποιητικά”.
|
|
|
Μετά την εκτέλεση όλων αυτών των εντολών, το Postfix θα έχει ρυθμιστεί για χρήση του SMTP-AUTH και θα έχει δημιουργηθεί και ένα πιστοποιητικό με τη δική σας υπογραφή για την κρυπτογράφηση TLS. |
Τώρα, το αρχείο /etc/postfix/main.cf θα πρέπει να μοιάζει κάπως έτσι.
Η αρχική ρύθμιση του postfix έχει ολοκληρωθεί. Εκτελέστε την ακόλουθη εντολή για να επανεκκινήσετε την υπηρεσία postfix:
sudo /etc/init.d/postfix restart
Το Postfix υποστηρίζει το SMTP-AUTH όπως αυτό ορίζεται από το RFC2554. Βασίζεται στο SASL. Ωστόσο, εξακολουθεί να απαιτείται πιστοποίηση SASL πριν μπορέσετε να χρησιμοποιήσετε το SMTP-AUTH.
Το Postfix υποστηρίζει δύο υλοποιήσεις του SASL, τις Cyrus SASL και Dovecot SASL. Για να ενεργοποιήσετε το Dovecot SASL, θα πρέπει να εγκαταστήσετε το πακέτο dovecot-common. Από το τερματικό, δίνετε:
sudo apt-get install dovecot-common
Στη συνέχεια θα πρέπει να τροποποιήσετε το /etc/dovecot/dovecot.conf. Στην ενότητα auth default επανενεργοποιήστε τη σχολιασμένη επιλογή socket listen και αλλάξτε τα εξής:
socket listen {
#master {
# Η κύρια υποδοχή παρέχει πρόσβαση στις πληροφορίες του userdb. Συνήθως,
# χρησιμοποιείται για να επιτρέπει την πρόσβαση του τοπικού delivery agent του Dovecot στο userdb,
# έτσι ώστε να μπορεί να εντοπίζει τις τοποθεσίες των ταχυδρομικών θυρίδων.
#path = /var/run/dovecot/auth-master
#mode = 0600
# Προεπιλεγμένος χρήστης/ομάδα θεωρείται αυτός που εκκινεί το dovecot-auth (root)
#user =
#group =
#}
client {
# Συνήθως, είναι ασφαλής η εξαγωγή της υποδοχής πελάτη προς οποιονδήποτε προορισμό.
# Η τυπική χρήση περιλαμβάνει εξαγωγή στον εξυπηρετητή SMTP, για να τη χρησιμοποιήσει
# για αναζητήσεις SMTP AUTH.
path = /var/spool/postfix/private/auth-client
mode = 0660
user = postfix
group = postfix
}
}
Για να επιτρέψετε σε πελάτες Outlook να χρησιμοποιούν SMTPAUTH, στην ενότητα auth default του /etc/dovecot/dovecot.conf προσθέστε "login":
mechanisms = plain login
Αφού ολοκληρώσετε τη ρύθμιση του Dovecot, επανεκκινήστε το δίνοντας:
sudo /etc/init.d/dovecot restart
Άλλη μια επιλογή για τη χρήση του Postfix με το SMTP-AUTH είναι να εγκαταστήσετε το πακέτο dovecot-postfix. Το πακέτο αυτό εγκαθιστά το Dovecot και ρυθμίζει το Postfix έτσι ώστε να το χρησιμοποιεί τόσο για πιστοποίηση SASL όσο και ως Mail Delivery Agent (MDA). Επίσης, το πακέτο αυτό ρυθμίζει το Dovecot για χρήση IMAP, IMAPS, POP3 και POP3S.
|
|
|
Δεν είναι βέβαιο ότι θα επιθυμείτε να χρησιμοποιείτε τα IMAP, IMAPS, POP3 ή POP3S στον εξυπηρετητή email σας. Π.χ., σε περίπτωση που ρυθμίζετε τον εξυπηρετητή ως θύρα email, φίλτρο spam/ιών, κτλ. Σε αυτές τις περιπτώσεις ίσως είναι προτιμότερο να χρησιμοποιήσετε τις παραπάνω εντολές για να ρυθμίσετε το Postfix για χρήση με το SMTPAUTH. |
Για να εγκαταστήσετε το πακέτο από το τερματικό, εισάγετε:
sudo apt-get install dovecot-postfix
Θα πρέπει πλέον να διαθέτετε ένα λειτουργικό εξυπηρετητή email, αλλά υπάρχουν και κάποιες ακόμη επιλογές που ίσως σας ενδιαφέρουν. Π.χ., το πακέτο χρησιμοποιεί το πιστοποιητικό και το κλειδί του πακέτου ssl-cert, και σε ένα περιβάλλον παραγωγής θα έπρεπε να χρησιμοποιείτε πιστοποιητικό και κλειδί που έχουν δημιουργηθεί για το συγκεκριμένο σύστημα. Δείτε το “Πιστοποιητικά” για περισσότερες λεπτομέρειες.
Αφού αποκτήσετε ένα προσωποποιημένο πιστοποιητικό και κλειδί για το σύστημα, τροποποιήστε τις ακόλουθες επιλογές στο /etc/postfix/main.cf:
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
Τώρα, επανεκκινήστε το Postfix:
sudo /etc/init.d/postfix restart
Η ρύθμιση του SMTP-AUTH έχει ολοκληρωθεί. Τώρα μπορείτε να τη δοκιμάσετε.
Για να ελέγξετε αν λειτουργούν σωστά τα SMTP-AUTH και TLS, εκτελέστε την ακόλουθη εντολή:
telnet mail.example.com 25
Αφού συνδεθείτε στον εξυπηρετητή postfix, πληκτρολογήστε:
ehlo mail.example.com
Αν εμφανιστούν, μεταξύ άλλων, οι ακόλουθες γραμμές, τότε όλα λειτουργούν απρόσκοπτα. Πληκτρολογήστε quit για έξοδο.
250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME
Σε αυτή την ενότητα περιγράφονται ορισμένοι κοινοί τρόποι εντοπισμού της αιτίας σε περίπτωση που προκύψουν προβλήματα.
Το πακέτο postfix του Ubuntu εγκαθίσταται από προεπιλογή σε περιβάλλον chroot για λόγους ασφαλείας. Αυτό μπορεί να περιπλέξει τη διαδικασία εντοπισμού προβλημάτων.
Για να απενεργοποιήσετε το chroot, βρείτε την ακόλουθη γραμμή στο αρχείο ρυθμίσεων /etc/postfix/master.cf:
smtp inet n - - - - smtpd
και τροποποιήστε την ως εξής:
smtp inet n - n - - smtpd
Θα πρέπει να επανεκκινήσετε το Postfix για να χρησιμοποιήσετε τις ρυθμίσεις. Από το τερματικό, δίνετε:
sudo /etc/init.d/postfix restart
Το Postfix αποστέλλει όλα τα μηνύματα καταγραφών στο /var/log/mail.log. Ωστόσο, επειδή τα μηνύματα σφαλμάτων και προειδοποιήσεων είναι εύκολο να χαθούν ανάμεσα στα κανονικά μηνύματα, καταγράφονται και στα αρχεία /var/log/mail.err και /var/log/mail.warn, αντιστοίχως.
Για να παρακολουθείτε σε πραγματικό χρόνο τα μηνύματα των καταγραφών, μπορείτε να χρησιμοποιήσετε την εντολή tail -f:
tail -f /var/log/mail.err
Το επίπεδο λεπτομέρειας των καταγραφών μπορεί να αυξηθεί. Παρακάτω αναφέρονται ορισμένες ρυθμίσεις που επιτρέπουν την αύξηση της λεπτομέρειας των καταγραφών σε ορισμένους από τους τομείς που καλύφθηκαν παραπάνω.
-
Για να αυξήσετε το επίπεδο καταγραφής της δραστηριότητας TLS, χρησιμοποιήστε τιμές από 1 έως 4 για την επιλογή smtpd_tls_loglevel.
sudo postconf -e 'smtpd_tls_loglevel = 4' -
Αν αντιμετωπίζετε προβλήματα στην αποστολή ή λήψη ηλ. ταχυδρομείου από συγκεκριμένο τομέα, μπορείτε να προσθέσετε τον τομέα στην παράμετρο debug_peer_list.
sudo postconf -e 'debug_peer_list = problem.domain' -
Μπορείτε να αυξήσετε τη λεπτομέρεια ενημέρωσης (verbosity) οποιασδήποτε υπηρεσίας Postfix τροποποιώντας το αρχείο
/etc/postfix/master.cfκαι προσθέτοντας ένα -v στο τέλος της αντίστοιχης εγγραφής. Π.χ., για την εγγραφή smtp:smtp unix - - - - - smtp -v
|
|
|
Είναι σημαντικό να θυμάστε ότι μετά από κάποια αλλαγή στις καταγραφές, η διεργασία του Postfix θα πρέπει να επανεκκινηθεί, ώστε να ενεργοποιηθούν οι νέες ρυθμίσεις: sudo /etc/init.d/postfix reload |
-
Για να αυξήσετε τις λεπτομέρειες που καταγράφονται κατά τον εντοπισμό προβλημάτων του SASL μπορείτε να ορίσετε τις ακόλουθες επιλογές στο
/etc/dovecot/dovecot.confauth_debug=yes auth_debug_passwords=yes
|
|
|
Όπως και με το Postfix, αν αλλάξετε κάποιες ρυθμίσεις του Dovecot θα πρέπει να επανεκκινήσετε τη διεργασία: sudo /etc/init.d/dovecot reload. |
|
|
|
Ορισμένες από τις παραπάνω αλλαγές μπορεί να οδηγήσουν σε δραματική αύξηση των πληροφοριών που θα αποθηκεύονται στα αρχεία καταγραφών. Θυμηθείτε να επιστρέψετε στα προηγούμενα επίπεδα καταγραφών αφού επιλύσετε το πρόβλημα. Και φυσικά, επανεκκινήστε την κατάλληλη υπηρεσία για να εφαρμοστούν οι αλλαγές στις ρυθμίσεις. |
Η διαχείριση ενός εξυπηρετητή Postfix μπορεί να αποδειχθεί ιδιαίτερα πολύπλοκη διαδικασία. Ίσως χρειαστεί να απευθυνθείτε στην κοινότητα του Ubuntu για πιο εξειδικευμένη βοήθεια.
Ένα καλό μέρος για να ζητήσετε βοήθεια για το Postfix και να ενταχθείτε στην κοινότητα του Ubuntu Server είναι το κανάλι IRC #ubuntu-server στο freenode. Επίσης, μπορείτε να δημοσιεύσετε μήνυμα σε ένα από τα διαδικτυακά φόρουμ.
Για εις βάθος εξερεύνηση του Postfix οι ειδικοί του Ubuntu συνιστούν το: Βιβλίο του Postfix.
Τέλος, ο ιστότοπος του Postfix περιέχει επίσης καλή τεκμηρίωση όλων των διαθέσιμων ρυθμίσεων.
Also, the Ubuntu Wiki Postifx page has more information.

