Dovecot σε CentOS: παραδοσιακός οδηγός IMAP/POP3 με σημειώσεις ασφαλείας για το 2026


Δημοσιεύτηκε:

Ενημερώθηκε:


Άρθρα › Dovecot σε CentOS: παραδοσιακός οδηγός IMAP/POP3 με σημειώσεις ασφαλείας για το 2026

Κατάσταση το 2026 και ασφαλής χρήση

Συμπέρασμα: Μια τρέχουσα υπηρεσία Dovecot θα πρέπει να χρησιμοποιεί ένα υποστηριζόμενο πακέτο, έγκυρα και ανανεώσιμα πιστοποιητικά, επιβεβλημένο κρυπτογραφημένο έλεγχο ταυτότητας, αποθήκευση αλληλογραφίας με τα λιγότερα προνόμια, ενσωμάτωση Postfix με προσεκτικό εύρος και παρακολουθούμενα αρχεία καταγραφής. Εκθέστε μόνο τα πρωτόκολλα που απαιτούν οι χρήστες σας.

Τι θα μάθετε

  • Τι προσπάθησε να προσφέρει η αρχική διαμόρφωση Dovecot 2.2/CentOS 7.
  • Πώς σχετίζονται οι ακροατές IMAP/POP3, το TLS, οι μηχανισμοί ελέγχου ταυτότητας, οι τοποθεσίες αλληλογραφίας και η ενσωμάτωση Postfix SASL.
  • Γιατί οι ρυθμίσεις ελέγχου ταυτότητας απλού κειμένου είναι επικίνδυνες, εκτός εάν επιβάλλεται αυστηρά η κρυπτογράφηση πριν γίνουν αποδεκτά τα διαπιστευτήρια.

Σε ποιους απευθύνεται: Οι διαχειριστές αλληλογραφίας εξετάζουν μια παλαιού τύπου ανάπτυξη Postfix/Dovecot, όχι οι αναγνώστες που αναζητούν μια προεπιλογή που είναι έτοιμη για το διαδίκτυο.

Ισχύει το 2026: Οι παλιές εκδόσεις και οι εντολές παρακάτω διατηρούνται ως ιστορικό και δεν έχουν επικυρωθεί ως ασφαλής τρέχουσα έκδοση. Μην αντιγράψετε το disable_plaintext_auth=no στην παραγωγή χωρίς σχέδιο που να εγγυάται TLS. προτιμήστε το IMAP έναντι του TLS, απενεργοποιήστε το μη χρησιμοποιημένο POP3 και χρησιμοποιήστε την ελεγμένη μονάδα συστήματος της διανομής.

Σημείωση ασφαλείας: Οι εντολές και τα παραδείγματα ρυθμίσεων του αρχικού άρθρου δεν έχουν εκτελεστεί ξανά σε σύγχρονο περιβάλλον παραγωγής. Πριν από την εφαρμογή, ελέγξτε τις υποστηριζόμενες εκδόσεις, δημιουργήστε αντίγραφα ασφαλείας και προετοιμάστε σχέδιο επαναφοράς σε ξεχωριστό περιβάλλον δοκιμών.

Επίσημες πηγές

Επισκόπηση

Τα αρχικά βήματα διαμόρφωσης που απαιτούνται για την εγκατάσταση και την εκκίνηση του Dovecot στο CentOS. Οι πληροφορίες βασίζονται στην υπόθεση ότι χρησιμοποιείται το CentOS7. Τα εισερχόμενα πρωτόκολλα έχουν ρυθμιστεί με imaps (IMAP over SSL) και pop3s (POP3 over SSL).

Παρακαλούμε ρυθμίστε επίσης το Postfix εκ των προτέρων από εδώ, καθώς ρυθμίζεται σε συνδυασμό με το Postfix.

Οι εκδόσεις έχουν ως εξής.

Έκδοση CentOS7.6 (1810)
Έκδοση Postfix2.10.1
Έκδοση του Dovecot2.2.36

Περιεχόμενα

  1. εγκαταστήστε το
  2. Λεπτομέρειες ρύθμισης
  3. Σύνοψη

1. εγκαταστήστε το

Αυτή η ενότητα περιγράφει τη διαμόρφωση του Dovecot από την εγκατάσταση έως την εκκίνηση.

1-1. Εγκατάσταση του Dovecot

Πραγματοποιήστε την εγκατάσταση του Dovecot μέσω της εντολής yum. Εκτελέστε την εργασία ως χρήστης root.

[username@hostname ~]$ su -
[root@hostname ~]# yum -y install dovecot

1-2. έλεγχος bootstrap

Για να ελέγξετε αν έχει εγκατασταθεί με επιτυχία, ελέγξτε την εκκίνηση. Σημειώστε ότι το Dovecot δεν απαιτεί το start ως όρισμα κατά την εκκίνηση.

[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root      1470  0.0  0.1  16092  1156 ?        Ss   18:38   0:00 /usr/sbin/dovecot
dovecot   1471  0.0  0.1   9752  1120 ?        S    18:38   0:00 dovecot/anvil
root      1472  0.0  0.1   9884  1320 ?        S    18:38   0:00 dovecot/log
root      1474  0.0  0.2  12916  2384 ?        S    18:38   0:00 dovecot/config
root      1476  0.0  0.0 112824   968 pts/0    R+   18:38   0:00 grep --color=auto dovecot

Κάθε διεργασία που εκτελείται ως χρήστης dovecot, όπως περιγράφεται παραπάνω, είναι εντάξει. Σταματήστε.

[root@hostname ~]# /usr/sbin/dovecot stop

2. Λεπτομέρειες ρύθμισης

2-1. αρχικοποίηση

Η αρχική ρύθμιση παραμέτρων του Dovecot έχει ολοκληρωθεί.

[root@hostname ~]# vi /etc/dovecot/dovecot.conf

Τροποποίηση ως εξής.

dovecot.conf【Πριν από την αλλαγή】


#protocols = imap pop3 lmtp
~σύντμηση~
#listen =  *, ::
~σύντμηση~
#login_greeting = Dovecot ready.

dovecot.conf【μετά την αλλαγή】


protocols = imap pop3
~σύντμηση~
listen = *
~σύντμηση~
login_greeting = pop3 and imap ready.

'protocols' καθορίζει τα πρωτόκολλα για τη σύνδεση στο Dovecot.

'listen' είναι η IP στην οποία επιτρέπεται η σύνδεση. Η ρύθμιση είναι "*", οπότε δεν υπάρχουν περιορισμοί στις IP για σύνδεση. Εάν έχετε μια συγκεκριμένη IP για σύνδεση, καθορίστε μια συγκεκριμένη IP για λόγους ασφαλείας. Το "::" είναι μια ρύθμιση IPv6, αλλά το IPv6 δεν χρησιμοποιείται αυτή τη φορά και θα πρέπει να διαγραφεί. Διαγράφοντάς το, γίνεται αποδεκτό μόνο το IPv4.

'login_greeting' είναι το μήνυμα όταν γίνεται η σύνδεση. Η αλλαγή δεν είναι υποχρεωτική, αλλά για λόγους ασφαλείας, αλλάξτε το μήνυμα έτσι ώστε να μην είναι προφανές ότι πρόκειται για το dovecot όταν συνδέεστε.

2-2. Ρυθμίσεις POP3 και IMAP

Θα ρυθμιστούν η θύρα 110, η οποία είναι η γνωστή θύρα για το POP3, και η θύρα 143, η οποία είναι η γνωστή θύρα για το IMAP. Η μέθοδος ελέγχου ταυτότητας συνδέεται με το Postfix και ο έλεγχος ταυτότητας είναι επιθυμητός.

[root@hostname ~]# vi /etc/dovecot/conf.d/10-master.conf

Τροποποίηση ως εξής.

10-master.conf【Πριν από την αλλαγή】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~σύντμηση~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【μετά την αλλαγή】


service imap-login {
  inet_listener imap {
    port = 143
  }
~σύντμηση~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Ρυθμίσεις μεθόδου ελέγχου ταυτότητας Dovecot

Προσθέστε τη σύνδεση στη μέθοδο ελέγχου ταυτότητας Dovecot.

[root@hostname ~]# vi /etc/dovecot/conf.d/10-auth.conf

Τροποποίηση ως εξής.

10-auth.conf【Πριν από την αλλαγή】


#disable_plaintext_auth = yes
~σύντμηση~
auth_mechanisms = plain

10-auth.conf【μετά την αλλαγή】


disable_plaintext_auth = no
~σύντμηση~
auth_mechanisms = login plain

2-4. Αλλαγή της αποθήκευσης email σε μορφή 'Maildir'.

Ορίστε τη θέση αποθήκευσης των email να βρίσκεται στον αρχικό κατάλογο κάθε χρήστη (κάτω από το "/home/xxx/").

[root@hostname ~]# vi /etc/dovecot/conf.d/10-mail.conf

Τροποποίηση ως εξής.

10-mail.conf【Πριν από την αλλαγή】


#mail_location =
~σύντμηση~
namespace inbox {
  # Namespace type: private, shared or public
  #type = private

  # Hierarchy separator to use. You should use the same separator for all
  # namespaces or some clients get confused. '/' is usually a good one.
  # The default however depends on the underlying mail storage format.
  #separator =

  # Prefix required to access this namespace. This needs to be different for
  # all namespaces. For example "Public/".
  #prefix =

  # Physical location of the mailbox. This is in same format as
  # mail_location, which is also the default for it.
  #location =

10-mail.conf【μετά την αλλαγή】


mail_location = maildir:~/Maildir
~σύντμηση~
namespace inbox {
  # Namespace type: private, shared or public
  #type = private

  # Hierarchy separator to use. You should use the same separator for all
  # namespaces or some clients get confused. '/' is usually a good one.
  # The default however depends on the underlying mail storage format.
  #separator =

  # Prefix required to access this namespace. This needs to be different for
  # all namespaces. For example "Public/".
  #prefix =

  # Physical location of the mailbox. This is in same format as
  # mail_location, which is also the default for it.
  location = maildir:~/Maildir

2-5. Ρυθμίσεις ελέγχου ταυτότητας

Ενεργοποίηση ρυθμίσεων ssl.

[root@hostname ~]# vi /etc/dovecot/conf.d/10-ssl.conf

Τροποποίηση ως εξής.

10-ssl.conf【Πριν από την αλλαγή】


ssl = required
~σύντμηση~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【μετά την αλλαγή】


ssl = required
~σύντμηση~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key

Τα 'ssl_cert' και 'ssl_key' πρέπει να οριστούν ανάλογα με το περιβάλλον. Ορίστε τη διαδρομή όπου αποθηκεύεται το πιστοποιητικό διακομιστή.

Οι ρυθμίσεις SSL απαιτούνται εκ των προτέρων, οπότε αν δεν έχετε ρυθμίσει τις ρυθμίσεις SSL, παρακαλείστε να πραγματοποιήσετε πρώτα τις ρυθμίσεις SSL. Ανατρέξτε στα ακόλουθα.

Αρχική διαμόρφωση που απαιτείται από την εγκατάσταση του Apache στο CentOS μέχρι την εκκίνηση.


Ακολουθούν οι ρυθμίσεις που αφορούν τους κωδικούς πρόσβασης. 'auth-system.conf.ext'.

[root@hostname ~]# vi /etc/dovecot/conf.d/auth-system.conf.ext

Τροποποίηση ως εξής.

auth-system.conf.ext【Πριν από την αλλαγή】


passdb {
  driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
}
~σύντμηση~
#passdb {
  #driver = shadow
  # [blocking=no]
  #args =
#}

auth-system.conf.ext【μετά την αλλαγή】


#passdb {
#driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
#}
~σύντμηση~
passdb {
  driver = shadow
  # [blocking=no]
  #args =
}

2-6. έλεγχος bootstrap

Με αυτόν τον τρόπο ολοκληρώνεται η διαμόρφωση, οπότε ελέγξτε ότι το Dovecot ξεκινά με την ολοκλήρωση της διαμόρφωσης. Σημειώστε ότι το start δεν απαιτείται ως όρισμα.

[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root      1716  0.0  0.1  16092  1184 ?        Ss   22:09   0:00 /usr/sbin/dovecot
dovecot   1717  0.0  0.1   9752  1120 ?        S    22:09   0:00 dovecot/anvil
root      1718  0.0  0.1   9884  1312 ?        S    22:09   0:00 dovecot/log
root      1720  0.5  0.2  12916  2396 ?        S    22:09   0:00 dovecot/config
root      1722  0.0  0.0 112824   972 pts/0    S+   22:09   0:00 grep --color=auto dovecot

Εάν υπάρχει μια διεργασία που εκτελείται ως χρήστης dovecot, όπως περιγράφεται παραπάνω, έχει ρυθμιστεί με επιτυχία και εκτελείται. Μόλις επιβεβαιωθεί η εκκίνηση, ήρθε η ώρα να σταματήσετε.

[root@hostname ~]# /usr/sbin/dovecot stop

2-7. Ρύθμιση αυτόματης εκκίνησης

Τέλος, αν και δεν είναι υποχρεωτικό, είναι δύσκολο να ξεκινάει το Dovecot κάθε φορά που γίνεται επανεκκίνηση του διακομιστή, γι' αυτό τοποθετείται μια ρύθμιση ώστε το Dovecot να ξεκινάει αυτόματα κατά την εκκίνηση του διακομιστή. Επίσης, εγγράφεται στην εντολή systemctl. Σημειώστε ότι αυτή η διαδικασία αφορά το CentOS7, οπότε αν χρησιμοποιείτε οτιδήποτε άλλο εκτός του CentOS7, θα πρέπει να χρησιμοποιήσετε την εντολή Service για να το αντιμετωπίσετε.

Ελέγξτε αν υπάρχει το αρχείο '/usr/lib/systemd/system/dovecot.service'. Αν δεν υπάρχει, δημιουργήστε μια 'dovecot.service' χρησιμοποιώντας την ακόλουθη διαδικασία. Εκτελέστε ως χρήστης root.

[root@hostname ~]# touch /etc/systemd/system/dovecot.service
[root@hostname ~]# vi /etc/systemd/system/dovecot.service

Παρέχονται οι ακόλουθες πληροφορίες.

[Unit]
#Περιγραφή.
Description=Dovecot
#Έλεγχος πριν και μετά την εκτέλεση.
#Before=xxx.service
After = network.target

[Service]
#Ορισμός χρήστη και ομάδας
User=root
Group=root
#Μόλις ενεργοποιηθεί, ορίστε την κατάσταση σε Ενεργοποιημένη.
Type=oneshot
RemainAfterExit=yes
#Εκκίνηση, διακοπή και επαναφόρτωση.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Ισοδύναμες ρυθμίσεις επιπέδου εκτέλεσης 3.
WantedBy=multi-user.target

Στη συνέχεια, εγγραφείτε με την εντολή systemctl.

[root@hostname ~]# systemctl enable dovecot
[root@hostname ~]# systemctl is-enabled dovecot
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep dovecot
dovecot.service                                enabled
[root@hostname ~]# systemctl daemon-reload

3. περίληψη

Περιγράψαμε την αρχική διαμόρφωση που απαιτείται κατά την εγκατάσταση του Dovecot.

Η εγκατάστασή του ήταν αρκετά δύσκολη, οπότε αν κατασκευάζετε ένα Dovecot, ανατρέξτε σε αυτή την ενότητα.

Αυτά είναι τα βασικά βήματα και οι περιορισμοί που πρέπει να ληφθούν υπόψη.