Dovecot na CentOS: sprievodca staršou inštaláciou IMAP/POP3 s bezpečnostnými poznámkami na rok 2026


Dátum vydania:

Aktualizované:


Technické články > Dovecot na CentOS: sprievodca staršou inštaláciou IMAP/POP3 s bezpečnostnými poznámkami na rok 2026

Stav a bezpečné používanie v roku 2026

Záver: Súčasná služba Dovecot má používať podporovaný balík, platné obnoviteľné certifikáty, dôsledne vynútené šifrovanie pred overením, úložisko pošty s minimálnymi oprávneniami, presne vymedzenú integráciu s Postfixom a sledované protokoly. Sprístupnite iba tie poštové protokoly, ktoré používatelia potrebujú.

Čo sa naučíte

  • Čo mala zabezpečiť pôvodná konfigurácia Dovecotu 2.2 v CentOS 7.
  • Ako spolu súvisia sieťové služby IMAP/POP3, TLS, mechanizmy autentifikácie, umiestnenie pošty a integrácia SASL s Postfixom.
  • Prečo je overovanie obyčajným textom nebezpečné, ak služba pred prijatím prihlasovacích údajov dôsledne nevynúti šifrovanie.

Pre koho je to určené: Správcovia pošty, ktorí kontrolujú staršie nasadenie Postfixu a Dovecotu, nie čitatelia hľadajúci predvolené nastavenie pripravené na internet.

Kontext v roku 2026: Staré verzie a príkazy nižšie zostávajú iba ako historický materiál a neboli overené ako bezpečná súčasná zostava. Nekopírujte disable_plaintext_auth=no do produkcie bez návrhu, ktorý zaručí TLS; uprednostnite IMAP cez TLS, nepoužívaný POP3 vypnite a použite jednotku systemd dodanú distribúciou.

Bezpečnostná poznámka: Príkazy a príklady konfigurácie v pôvodnom článku neboli znovu spustené v aktuálnom produkčnom prostredí. Pred ich použitím overte podporované verzie, zálohy, prístupové oprávnenia a postup obnovy v oddelenom testovacom prostredí.

Hlavné oficiálne zdroje

Prehľad

Tento historický postup inštaluje a spúšťa Dovecot v systéme CentOS 7. Prístup k poštovým schránkam nastavuje cez šifrované protokoly IMAPS a POP3S.

Pred zapnutím integrácie s Dovecotom nakonfigurujte a zabezpečte Postfix.

V pôvodnom prostredí boli použité tieto verzie:

Verzia systému CentOS7.6 (1810)
Verzia služby Postfix2.10.1
Verzia Dovecotu2.2.36

Obsah

  1. Inštalácia
  2. Historický postup konfigurácie Dovecotu
  3. Zhrnutie

1. Inštalácia

Táto časť zachytáva inštaláciu a prvé spustenie Dovecotu v pôvodnom prostredí.

1-1. Inštalácia Dovecotu

Pôvodný systém nainštaloval Dovecot pomocou správcu yum z administrátorského shellu.

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

1-2. Prvé overenie spustenia

Po inštalácii pôvodný postup službu spustil a skontroloval jej procesy. Pri priamom spustení binárneho súboru Dovecotu sa argument "start" nepoužíval.

[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

Ak výstup obsahuje proces pod používateľom dovecot, prvé spustenie prebehlo úspešne. Pred ďalšou konfiguráciou službu zastavte.

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

2. Historický postup konfigurácie Dovecotu

2-1. Základná konfigurácia

Nasledujúce kroky zachytávajú pôvodnú konfiguráciu Dovecotu. Každú direktívu porovnajte s dokumentáciou nainštalovanej podporovanej verzie.

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

Pôvodný postup vykonal nasledujúce zmeny.

dovecot.conf【Pred zmenou】


#protocols = imap pop3 lmtp
~skrátenie~
#listen =  *, ::
~skrátenie~
#login_greeting = Dovecot ready.

dovecot.conf【po zmene】


protocols = imap pop3
~skrátenie~
listen = *
~skrátenie~
login_greeting = pop3 and imap ready.

Položka "protocols" určuje poštové protokoly, ktoré Dovecot poskytuje. Povoľte iba tie, ktoré klienti skutočne používajú.

Hodnota "listen = *" naviaže službu na všetky dostupné adresy IPv4. Sama klienta neoprávňuje, ale rozširuje sieťovú plochu. Naviažte službu iba na potrebné rozhrania a kombinujte nastavenie s firewallom, šifrovanými protokolmi a výslovnými pravidlami overovania. Odstránenie hodnoty "::" v tomto historickom príklade vypína počúvanie na IPv6; nerobte to automaticky, ak IPv6 v prostredí používate.

Položka "login_greeting" určuje uvítaciu správu spojenia. Skrytie názvu produktu nie je podstatnou bezpečnostnou kontrolou; dôležitejšie sú aktualizácie, TLS, overovanie a obmedzenie sieťového prístupu.

2-2. Nastavenie POP3 a IMAP

Historická konfigurácia povoľuje štandardný port 110 pre POP3 a port 143 pre IMAP. Na týchto portoch prijímajte prihlasovacie údaje iba po vynútení TLS; nepoužívaný protokol úplne vypnite. Overovanie bolo neskôr prepojené aj s Postfixom.

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

Pôvodný postup odkomentoval nasledujúce porty.

10-master.conf【Pred zmenou】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~skrátenie~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【po zmene】


service imap-login {
  inet_listener imap {
    port = 143
  }
~skrátenie~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Mechanizmy overovania

Pôvodný postup pridal mechanizmus LOGIN k mechanizmu PLAIN a zároveň povolil overovanie obyčajným textom.

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

Historická zmena vyzerala takto.

10-auth.conf【Pred zmenou】


#disable_plaintext_auth = yes
~skrátenie~
auth_mechanisms = plain

10-auth.conf【po zmene】


disable_plaintext_auth = no
~skrátenie~
auth_mechanisms = login plain

2-4. Ukladanie pošty vo formáte Maildir

Umiestnenie pošty sa nastavilo na adresár "Maildir" v domovskom adresári každého používateľa. V aktuálnom prostredí overte vlastníka, kvóty, zálohovanie, kontext SELinux a oddelenie oprávnení.

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

Pôvodný postup nastavil nasledujúce hodnoty.

10-mail.conf【Pred zmenou】


#mail_location =
~skrátenie~
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 zmene】


mail_location = maildir:~/Maildir
~skrátenie~
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. Nastavenie TLS a systémového overovania

Nasledujúca časť vyžaduje TLS a určuje certifikát aj súkromný kľúč služby.

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

Pôvodný postup zmenil cesty takto.

10-ssl.conf【Pred zmenou】


ssl = required
~skrátenie~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【po zmene】


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

Položky "ssl_cert" a "ssl_key" musia odkazovať na platný reťazec certifikátu a chránený súkromný kľúč. Naplánujte obnovu a overte, že Dovecot po obnove načíta nový certifikát a kľúč.

Súvisiaci článok o Apache obsahuje iba historický príklad certifikátu, nie aktuálny postup pre poštový server. Riaďte sa dokumentáciou certifikačnej autority a Dovecotu pre dané nasadenie.

Historický príklad vytvorenia certifikátu TLS


Potom historický postup upravil zdroj systémových hesiel v súbore "auth-system.conf.ext".

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

Zdroj overovania zmenil z PAM na shadow takto.

auth-system.conf.ext【Pred zmenou】


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

auth-system.conf.ext【po zmene】


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

2-6. Overenie spustenia

Po konfigurácii pôvodný postup znova spustil Dovecot bez argumentu "start" a skontroloval jeho procesy.

[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 pod používateľom dovecot potvrdzuje iba spustenie služby. Nepotvrdzuje overovanie, TLS, oprávnenia schránok, vystavené protokoly ani integráciu s Postfixom. Skontrolujte protokoly a vykonajte riadené testy klienta; potom testovaciu službu zastavte.

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

2-7. Automatické spustenie služby

Dovecot povoľte pomocou jednotky systemd dodanej balíkom operačného systému. Názvy jednotiek a príkazy sa medzi distribúciami líšia; nevytvárajte druhú konkurenčnú jednotku.

Pôvodný postup skontroloval súbor "/usr/lib/systemd/system/dovecot.service" a pri jeho absencii vytvoril vlastný súbor "dovecot.service" pod účtom root. Táto vlastná jednotka je zachovaná iba ako historický materiál.

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

Do súboru zapísal nasledujúcu konfiguráciu.

[Unit]
#Popis.
Description=Dovecot
#Kontrola pred a po vykonaní.
#Before=xxx.service
After = network.target

[Service]
#Označenie používateľa a skupiny
User=root
Group=root
#Po aktivácii nastavte stav na možnosť Aktivované.
Type=oneshot
RemainAfterExit=yes
#Spustenie, zastavenie a opätovné načítanie.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Ekvivalentné nastavenia úrovne Runlevel 3.
WantedBy=multi-user.target

Jednotku následne zaregistroval a povolil pomocou systemctl. V aktuálnom systéme použite jednotku dodanú balíkom a overte jej správanie pri štarte, zastavení aj opätovnom načítaní.

[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. Zhrnutie

Historický postup zahŕňa inštaláciu balíka, sieťové rozhrania a porty, mechanizmy overovania, prístup k schránkam, TLS, systémové heslá a správu služby.

Súčasné nasadenie vyžaduje podporované balíky, dôsledne vynútené šifrovanie pred overením, úložisko pošty s minimálnymi oprávneniami, obnovu certifikátov, sledovanie protokolov a riadené testy klientov aj integrácie s Postfixom.

Konfiguráciu nižšie preto používajte iba na pochopenie starého prostredia, nie ako predvolené nastavenie pripravené na internet.