Dovecot v sistemu CentOS: podedovani postopek in varnostne opombe za leto 2026


Datum objave:

Posodobljeno:


Tehnični članki > Dovecot v sistemu CentOS: podedovani postopek in varnostne opombe za leto 2026

Stanje in varna uporaba v letu 2026

Sklep: Sodobna storitev Dovecot naj uporablja podprt paket, veljavne certifikate z urejeno obnovo, obvezno šifrirano overjanje, poštno shrambo z najmanjšimi potrebnimi pravicami, skrbno omejeno povezavo s Postfixom in nadzorovane dnevnike. Izpostavite samo protokole, ki jih uporabniki dejansko potrebujejo.

Kaj boste izvedeli

  • Kaj je skušala zagotoviti prvotna konfiguracija Dovecota 2.2 v sistemu CentOS 7.
  • Kako so povezani poslušalniki IMAP in POP3, TLS, načini overjanja, mesto poštnih predalov ter povezava SASL s Postfixom.
  • Zakaj je overjanje z navadnim besedilom nevarno, če šifriranje ni obvezno že pred sprejemom poverilnic.

Komu je članek namenjen? Skrbnikom poštnih sistemov, ki pregledujejo podedovano namestitev Postfixa in Dovecota, ne bralcem, ki iščejo privzeto konfiguracijo za neposredno objavo v internetu.

Opomba za leto 2026: Spodnje stare različice in ukazi so ohranjeni kot zgodovinski zapis in niso potrjeni kot varna sodobna namestitev. Nastavitve disable_plaintext_auth=no ne prenesite v produkcijo brez zasnove, ki zagotavlja TLS; prednost dajte IMAP prek TLS, onemogočite neuporabljeni POP3 in uporabite preverjeno enoto systemd svoje distribucije.

Varnostna opomba: Ukazi in konfiguracijski primeri iz prvotnega članka niso bili znova preizkušeni v sodobnem produkcijskem okolju. Pred uporabo v ločenem preizkusnem okolju preverite podprte različice, izdelajte varnostne kopije ter določite nadzor dostopa in postopek povrnitve.

Uradni viri

Pregled

Ta zgodovinski postopek opisuje namestitev in začetno nastavitev Dovecota v sistemu CentOS 7. Obravnava dostop do pošte prek IMAP in POP3 ter njuno zaščito s TLS, vendar ne predstavlja sodobne produkcijske zasnove.

Pred omogočanjem povezave z Dovecotom varno nastavite Postfix.

V prvotnem okolju so bile uporabljene naslednje različice:

Različica sistema CentOS7.6 (1810)
Različica programa Postfix2.10.1
Različica Dovecot2.2.36

Kazalo vsebine

  1. Namestitev
  2. Podedovani postopek konfiguracije Dovecota
  3. Povzetek

1. Namestitev

Ta razdelek prikazuje podedovani postopek od namestitve paketa do prvega zagona.

1-1. Namestitev storitve Dovecot

V prvotnem okolju je skrbnik namestil Dovecot z upravljalnikom paketov yum.

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

1-2. Preverjanje zagona

Po namestitvi je bil opravljen začetni preizkus zagona. Pri tem ukazu Dovecot ne potrebuje argumenta 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

Če izpis pokaže proces uporabnika dovecot, je začetni zagon uspel. Pred nadaljnjim urejanjem konfiguracije storitev ustavite.

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

2. Podedovani postopek konfiguracije Dovecota

2-1. Osnovne nastavitve

Naslednji razdelki beležijo prvotno konfiguracijo Dovecota. Vsako direktivo primerjajte z dokumentacijo nameščene in podprte različice.

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

Prvotni postopek je uporabil naslednjo spremembo.

dovecot.conf【Pred spremembo】


#protocols = imap pop3 lmtp
~okrajšava~
#listen =  *, ::
~okrajšava~
#login_greeting = Dovecot ready.

dovecot.conf【po spremembi】


protocols = imap pop3
~okrajšava~
listen = *
~okrajšava~
login_greeting = pop3 and imap ready.

"protocols" določa protokole, ki jih Dovecot omogoči. Vključite samo tiste, ki jih uporabniki potrebujejo.

"listen = *" veže storitev na vse razpoložljive naslove. To samo po sebi ne odobri dostopa, vendar poveča omrežno izpostavljenost. Storitev vežite le na potrebne vmesnike ter jo dopolnite s požarnim zidom, šifriranimi protokoli in izrecnimi pravili overjanja. Odstranitev "::" v tem starem primeru izključi poslušanje prek IPv6.

"login_greeting" določa pozdrav ob povezavi. Skrivanje imena izdelka ni nadomestilo za posodobitve, varen TLS in nadzor dostopa.

2-2. Nastavitve POP3 in IMAP

Primer omogoči standardna vrata 110 za POP3 in 143 za IMAP. Na teh vratih zahtevajte TLS pred sprejemom poverilnic ali uporabite izrecna vrata za protokole prek TLS; nezaščitenega overjanja ne izpostavljajte omrežju.

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

Prvotni postopek je uporabil naslednjo spremembo.

10-master.conf【Pred spremembo】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~okrajšava~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【po spremembi】


service imap-login {
  inet_listener imap {
    port = 143
  }
~okrajšava~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Načini overjanja

Stari primer doda način LOGIN in hkrati dovoli overjanje z navadnim besedilom. To je varno samo, če je šifriranje strogo vsiljeno pred sprejemom poverilnic.

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

Prvotni postopek je uporabil naslednjo spremembo.

10-auth.conf【Pred spremembo】


#disable_plaintext_auth = yes
~okrajšava~
auth_mechanisms = plain

10-auth.conf【po spremembi】


disable_plaintext_auth = no
~okrajšava~
auth_mechanisms = login plain

2-4. Poštna shramba v obliki Maildir

Primer nastavi poštne predale Maildir v domačem imeniku posameznega uporabnika. Preverite lastništvo, dovoljenja, varnostne kopije in omejitve prostora.

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

Prvotni postopek je uporabil naslednjo spremembo.

10-mail.conf【Pred spremembo】


#mail_location =
~okrajšava~
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【po spremembi】


mail_location = maildir:~/Maildir
~okrajšava~
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. TLS in vir gesel

Najprej je konfiguriran TLS.

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

Prvotni postopek je uporabil naslednjo spremembo.

10-ssl.conf【Pred spremembo】


ssl = required
~okrajšava~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【po spremembi】


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

"ssl_cert" in "ssl_key" morata kazati na veljavno verigo certifikatov in ustrezno zaščiten zasebni ključ. Načrtujte obnovo ter preverite, da Dovecot po obnovi naloži nove datoteke.

Povezani članek o Apacheju vsebuje zgodovinski primer certifikata, ne sodobnega recepta za poštni certifikat. Upoštevajte dokumentacijo izdajatelja certifikata in Dovecota.

TLS v podedovanem postopku namestitve Apacheja v sistemu CentOS


Nato je v datoteki "auth-system.conf.ext" določen vir gesel.

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

Prvotni postopek je uporabil naslednjo spremembo.

auth-system.conf.ext【Pred spremembo】


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

auth-system.conf.ext【po spremembi】


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

2-6. Preverjanje zagona

Po spremembah preverite, ali se Dovecot zažene. Pri prikazanem ukazu argument start ni potreben.

[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

Proces uporabnika dovecot potrdi le zagon storitve. Ne dokazuje pravilnega overjanja, TLS, dovoljenj poštnega predala, izpostavljenih protokolov ali povezave s Postfixom; preglejte dnevnike in izvedite nadzorovane odjemalske preizkuse.

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

2-7. Samodejni zagon

V sodobnem okolju omogočite enoto systemd, ki jo dobavi paket operacijskega sistema. Imena enot in ukazi se med distribucijami razlikujejo; ne ustvarjajte druge, konkurenčne definicije storitve.

Spodnji koraki prikazujejo lastno enoto iz prvotnega postopka, če paketna datoteka "/usr/lib/systemd/system/dovecot.service" ni obstajala. Primer je zgodovinski in ni priporočilo za sodobno namestitev.

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

Uporabljena je bila naslednja vsebina.

[Unit]
#Opis.
Description=Dovecot
#Nadzor pred in po izvedbi.
#Before=xxx.service
After = network.target

[Service]
#Imenovanje uporabnikov in skupin
User=root
Group=root
#Ko je aktivirano, nastavite stanje na Aktivirano.
Type=oneshot
RemainAfterExit=yes
#Zagon, zaustavitev in ponovno polnjenje.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Enakovredne nastavitve na ravni Runlevel 3.
WantedBy=multi-user.target

Enota je bila nato omogočena z ukazom 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. Povzetek

Podedovani postopek zajema namestitev paketa, poslušalnike, overjanje, poštne predale, TLS, povezavo s Postfixom in zagon storitve.

Sodobna namestitev zahteva podprte pakete, obvezno šifrirano overjanje, najmanjše potrebne pravice, obnovo certifikatov, spremljanje dnevnikov in nadzorovane odjemalske preizkuse.

Stare konfiguracije ne prenesite neposredno v produkcijo; vsak parameter preverite v dokumentaciji trenutno podprte različice.