Dovecot pe CentOS: ghid tradițional IMAP/POP3 cu note de securitate 2026


Data publicării:

Actualizat:


INFORMATION > Dovecot pe CentOS: ghid tradițional IMAP/POP3 cu note de securitate 2026

Starea 2026 și utilizare în siguranță

Concluzie: un serviciu Dovecot actual ar trebui să utilizeze un pachet acceptat, certificate valide și reînnoibile, autentificare criptată forțată, stocare de e-mail cu cel mai mic privilegiu, integrare Postfix atent și jurnalele monitorizate. Expuneți numai protocoalele necesare utilizatorilor dvs.

Ce vei învăța

  • Ce a încercat să ofere configurația originală Dovecot 2.2/CentOS 7.
  • Cum se relaţionează ascultătorii IMAP/POP3, TLS, mecanismele de autentificare, locaţiile de e-mail şi integrarea Postfix SASL.
  • De ce setările de autentificare în text simplu sunt periculoase, cu excepția cazului în care criptarea este strict aplicată înainte ca acreditările să fie acceptate.

Cui se adresează: administratorii de e-mail care examinează o implementare veche Postfix/Dovecot, nu cititorii care caută o versiune prestabilită pregătită pentru internet.

Poziția 2026: versiunile și comenzile vechi de mai jos sunt păstrate ca istoric și nu au fost validate ca versiune curentă sigură. Nu copiați disable_plaintext_auth=no în producție fără un design care să garanteze TLS; preferați IMAP în locul TLS, dezactivați POP3 neutilizat și utilizați unitatea systemd revizuită a distribuției.

Notă de siguranță: comenzile și exemplele de configurare din articolul original nu au fost reluate într-un mediu de producție actual. Verificați versiunile acceptate, copiile de rezervă, controalele de acces și pașii de retragere într-un mediu de testare separat înainte de a le aplica.

Surse primare oficiale

Prezentare generală.

Pașii de configurare inițială necesari pentru a instala și porni Dovecot pe CentOS. Informațiile se bazează pe ipoteza că se utilizează CentOS7. Protocoalele de intrare sunt configurate cu imaps (IMAP prin SSL) și pop3s (POP3 prin SSL).

De asemenea, vă rugăm să configurați Postfix în avans de aici, deoarece este configurat împreună cu Postfix.

Versiunile sunt următoarele.

Versiunea CentOS7.6 (1810)
Versiunea Postfix2.10.1
Versiunea de Dovecot2.2.36

Cuprins

  1. instalați
  2. Detalii de configurare
  3. rezumat

1. instalați

Această secțiune descrie configurarea Dovecot de la instalare până la pornire.

1-1. Instalarea Dovecot

Efectuați instalarea Dovecot prin intermediul comenzii yum. Efectuați lucrările ca utilizator root.

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

1-2. verificarea bootstrap

Pentru a verifica dacă a fost instalat cu succes, verificați pornirea. Rețineți că Dovecot nu are nevoie de start ca argument la pornire.

[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

Orice proces care rulează ca utilizator dovecot, așa cum este descris mai sus, este în regulă. Stop.

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

2. Detalii de configurare

2-1. inițializare

Configurarea inițială a Dovecot este gata.

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

Se modifică după cum urmează.

dovecot.conf【Înainte de schimbare】


#protocols = imap pop3 lmtp
~abreviere~
#listen =  *, ::
~abreviere~
#login_greeting = Dovecot ready.

dovecot.conf【după modificare】


protocols = imap pop3
~abreviere~
listen = *
~abreviere~
login_greeting = pop3 and imap ready.

"protocols" specifică protocoalele pentru conectarea la Dovecot.

"listen" este IP-ul la care este permisă conexiunea. Setarea este "*", astfel încât nu există restricții în ceea ce privește IP-urile la care să se conecteze. Dacă trebuie să vă conectați la un anumit IP, specificați un IP specific în scopuri de securitate. ":::" este o setare IPv6, dar IPv6 nu este utilizat de data aceasta și ar trebui să fie șters. Dacă îl ștergeți, se acceptă doar IPv4.

"login_greeting" este mesajul care apare atunci când se realizează conexiunea. Schimbarea nu este obligatorie, dar, din motive de securitate, schimbați mesajul astfel încât să nu fie evident că este dovecot atunci când vă conectați.

2-2. Setări POP3 și IMAP

Se vor configura portul 110, care este portul cunoscut pentru POP3, și portul 143, care este portul cunoscut pentru IMAP. Metoda de autentificare este legată de Postfix și se dorește autentificarea.

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

Se modifică după cum urmează.

10-master.conf【Înainte de schimbare】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~abreviere~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【după modificare】


service imap-login {
  inet_listener imap {
    port = 143
  }
~abreviere~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Setări ale metodei de autentificare Dovecot

Adăugați login la metoda de autentificare Dovecot.

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

Se modifică după cum urmează.

10-auth.conf【Înainte de schimbare】


#disable_plaintext_auth = yes
~abreviere~
auth_mechanisms = plain

10-auth.conf【după modificare】


disable_plaintext_auth = no
~abreviere~
auth_mechanisms = login plain

2-4. Schimbarea modului de stocare a e-mailurilor în formatul "Maildir".

Setați locația de stocare a e-mailurilor în directorul personal al fiecărui utilizator (sub "/home/xxx/").

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

Se modifică după cum urmează.

10-mail.conf【Înainte de schimbare】


#mail_location =
~abreviere~
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【după modificare】


mail_location = maildir:~/Maildir
~abreviere~
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. Setări de autentificare

Activează configurația ssl.

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

Se modifică după cum urmează.

10-ssl.conf【Înainte de schimbare】


ssl = required
~abreviere~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【după modificare】


ssl = required
~abreviere~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key

"ssl_cert" și "ssl_key" trebuie setate în funcție de mediu. Setați calea în care este stocat certificatul serverului.

Setările SSL sunt necesare în prealabil, astfel încât, dacă nu ați configurat setările SSL, vă rugăm să efectuați mai întâi setările SSL. Vă rugăm să consultați următoarele.

Configurația inițială necesară de la instalarea Apache pe CentOS până la pornire.


Aceasta este urmată de setările referitoare la parole. 'auth-system.conf.ext'.

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

Se modifică după cum urmează.

auth-system.conf.ext【Înainte de schimbare】


passdb {
  driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
}
~abreviere~
#passdb {
  #driver = shadow
  # [blocking=no]
  #args =
#}

auth-system.conf.ext【după modificare】


#passdb {
#driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
#}
~abreviere~
passdb {
  driver = shadow
  # [blocking=no]
  #args =
}

2-6. verificarea bootstrap

Acest lucru finalizează configurația, deci verificați dacă Dovecot pornește cu configurația finalizată. Rețineți că start nu este necesar ca argument.

[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

Dacă există un proces care rulează ca utilizator dovecot, așa cum este descris mai sus, înseamnă că a fost configurat cu succes și rulează. Odată ce a fost confirmată pornirea, este timpul să vă opriți.

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

2-7. Setare pentru pornire automată

În cele din urmă, deși nu este obligatoriu, este dificil să se pornească Dovecot de fiecare dată când serverul este repornit, așa că este introdusă o setare astfel încât Dovecot să pornească automat la pornirea serverului. De asemenea, se înregistrează la comanda systemctl. Vă rugăm să rețineți că această procedură este pentru CentOS7, așa că, dacă folosiți altceva decât CentOS7, va trebui să utilizați comanda Service pentru a rezolva această problemă.

Verificați dacă '/usr/lib/systemd/system/dovecot.service' există. Dacă nu există, creați un "dovecot.service" folosind următoarea procedură. Rulați ca utilizator root.

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

Sunt furnizate următoarele informații.

[Unit]
#Descriere.
Description=Dovecot
#Controlul înainte și după execuție.
#Before=xxx.service
After = network.target

[Service]
#Desemnarea utilizatorului și a grupului
User=root
Group=root
#Odată activat, setați statutul pe Activat.
Type=oneshot
RemainAfterExit=yes
#Porniți, opriți și reîncărcați.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Setări echivalente Runlevel 3.
WantedBy=multi-user.target

În continuare, înregistrați-vă cu ajutorul comenzii 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. rezumat

Am descris configurația inițială necesară atunci când este instalat Dovecot.

A fost destul de greu de configurat, așa că, dacă construiți un Dovecot, vă rugăm să consultați această secțiune.

Vă mulțumim că ați urmărit până la sfârșit.