Dovecot na CentOS: návod na starší IMAP/POP3 konfiguraci s bezpečnostními poznámkami pro rok 2026


Publikováno:

Aktualizováno:


Články › Dovecot na CentOS: návod na starší IMAP/POP3 konfiguraci s bezpečnostními poznámkami pro rok 2026

Stav v roce 2026 a bezpečné použití

Závěr: Současná služba Dovecot by měla používat podporovaný balíček, platné a obnovitelné certifikáty, vynucené šifrované ověřování, úložiště pošty s nejnižšími oprávněními, pečlivě vymezenou integraci Postfixu a monitorované protokoly. Vystavujte pouze protokoly, které vaši uživatelé vyžadují.

Co se dozvíte

  • Co se snažila poskytnout původní konfigurace Dovecot 2.2/CentOS 7.
  • Jak spolu souvisí posluchače IMAP/POP3, TLS, autentizační mechanismy, umístění pošty a integrace Postfixu SASL.
  • Proč jsou nastavení ověřování v prostém textu nebezpečná, pokud není před přijetím přihlašovacích údajů přísně vynuceno šifrování.

Pro koho je článek určen: Správci pošty, kteří kontrolují starší nasazení Postfixu/Dovecotu, nikoli čtenáři, kteří hledají výchozí nastavení připravené na internet.

Aktuální stav v roce 2026: Staré verze a příkazy níže jsou zachovány jako historie a nebyly ověřeny jako zabezpečená aktuální verze. Nekopírujte disable_plaintext_auth=no do produkce bez návrhu, který zaručuje TLS; preferujte IMAP před TLS, zakažte nepoužívaný POP3 a použijte systémovou jednotku distribuce.

Bezpečnostní poznámka: Příkazy a konfigurační příklady z původního článku nebyly znovu spuštěny v současném produkčním prostředí. Před nasazením ověřte podporované verze, vytvořte zálohu a připravte postup návratu v odděleném testovacím prostředí.

Oficiální zdroje

Přehled

Počáteční konfigurační kroky nutné k instalaci a spuštění služby Dovecot v systému CentOS. Informace vycházejí z předpokladu, že je používán systém CentOS7. Příchozí protokoly jsou nastaveny pomocí imaps (IMAP přes SSL) a pop3 (POP3 přes SSL).

Zde také předem nastavte Postfix, protože se nastavuje společně s Postfixem.

Verze jsou následující.

Verze systému CentOS7.6 (1810)
Verze aplikace Postfix2.10.1
Verze aplikace Dovecot2.2.36

Obsah

  1. nainstalovat
  2. Podrobnosti o nastavení
  3. Shrnutí

1. nainstalovat

Tato část popisuje konfiguraci služby Dovecot od instalace až po spuštění.

1-1. Instalace služby Dovecot

Instalaci služby Dovecot proveďte pomocí příkazu yum. Práci proveďte jako uživatel root.

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

1-2. kontrola bootstrapu

Chcete-li zkontrolovat, zda byla úspěšně nainstalována, zkontrolujte spuštění. Všimněte si, že služba Dovecot při spouštění nevyžaduje jako argument 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

Jakýkoli proces spuštěný jako uživatel dovecot, jak je popsáno výše, je v pořádku. Zastavte.

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

2. Podrobnosti o nastavení

2-1. inicializace

Počáteční konfigurace služby Dovecot je dokončena.

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

Změnit takto.

dovecot.conf【Před změnou】


#protocols = imap pop3 lmtp
~zkrácení~
#listen =  *, ::
~zkrácení~
#login_greeting = Dovecot ready.

dovecot.conf【po změně】


protocols = imap pop3
~zkrácení~
listen = *
~zkrácení~
login_greeting = pop3 and imap ready.

'protocols' určuje protokoly pro připojení k serveru Dovecot.

'listen' je IP adresa, ke které je povoleno připojení. Nastavení je "*", takže neexistují žádná omezení pro IP adresy, ke kterým se lze připojit. Pokud se chcete připojit ke konkrétní IP adrese, zadejte ji z bezpečnostních důvodů. "::" je nastavení IPv6, ale IPv6 se tentokrát nepoužívá a mělo by být odstraněno. Jeho odstraněním se akceptuje pouze IPv4.

'login_greeting' je zpráva při navázání spojení. Změna není povinná, ale z bezpečnostních důvodů změňte zprávu tak, aby při připojení nebylo zřejmé, že se jedná o dovecot.

2-2. Nastavení POP3 a IMAP

Bude nakonfigurován port 110, což je známý port pro POP3, a port 143, což je známý port pro IMAP. Metoda ověřování je spojena s aplikací Postfix a je požadováno ověření.

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

Změnit takto.

10-master.conf【Před změnou】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~zkrácení~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【po změně】


service imap-login {
  inet_listener imap {
    port = 143
  }
~zkrácení~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Nastavení metody ověřování Dovecot

Přidání přihlášení do metody ověřování Dovecot.

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

Změnit takto.

10-auth.conf【Před změnou】


#disable_plaintext_auth = yes
~zkrácení~
auth_mechanisms = plain

10-auth.conf【po změně】


disable_plaintext_auth = no
~zkrácení~
auth_mechanisms = login plain

2-4. Změna ukládání e-mailů na formát "Maildir".

Nastavte umístění úložiště e-mailů v domovském adresáři každého uživatele (v adresáři "/home/xxx/").

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

Změnit takto.

10-mail.conf【Před změnou】


#mail_location =
~zkrácení~
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 změně】


mail_location = maildir:~/Maildir
~zkrácení~
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. Nastavení ověřování

Povolení konfigurace ssl.

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

Změnit takto.

10-ssl.conf【Před změnou】


ssl = required
~zkrácení~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【po změně】


ssl = required
~zkrácení~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key

'ssl_cert' a 'ssl_key' by měly být nastaveny podle prostředí. Nastavte cestu, kde je uložen certifikát serveru.

Nastavení SSL je vyžadováno předem, takže pokud jste nastavení SSL nenastavili, nejprve proveďte nastavení SSL. Podívejte se prosím na následující informace.

Počáteční konfigurace potřebná od instalace Apache v systému CentOS až po spuštění.


Následují nastavení týkající se hesel. 'auth-system.conf.ext'.

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

Změnit takto.

auth-system.conf.ext【Před změnou】


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

auth-system.conf.ext【po změně】


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

2-6. kontrola bootstrapu

Tím je konfigurace dokončena, takže zkontrolujte, zda se služba Dovecot spustí s dokončenou konfigurací. Všimněte si, že start není vyžadován jako 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

Pokud je proces spuštěn jako uživatel dovecot, jak je popsáno výše, byl úspěšně nakonfigurován a je spuštěn. Po potvrzení spuštění je čas zastavit.

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

2-7. Nastavení automatického spuštění

A konečně, ačkoli to není povinné, je obtížné spouštět službu Dovecot při každém restartu serveru, proto je nastaveno, aby se služba Dovecot spouštěla automaticky při startu serveru. Registruje se také do příkazu systemctl. Upozorňujeme, že tento postup je určen pro systém CentOS7, takže pokud používáte jiný systém než CentOS7, budete muset použít příkaz Service.

Zkontrolujte, zda existuje soubor '/usr/lib/systemd/system/dovecot.service'. Pokud není k dispozici, vytvořte soubor 'dovecot.service' následujícím postupem. Spusťte jako uživatel root.

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

K dispozici jsou následující informace.

[Unit]
#Popis.
Description=Dovecot
#Kontrola před a po provedení.
#Before=xxx.service
After = network.target

[Service]
#Označení uživatele a skupiny
User=root
Group=root
#Po aktivaci nastavte stav na Aktivováno.
Type=oneshot
RemainAfterExit=yes
#Spuštění, zastavení a opětovné načtení.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Ekvivalentní nastavení úrovně Runlevel 3.
WantedBy=multi-user.target

Poté se zaregistrujte pomocí příkazu 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. shrnutí

Popsali jsme počáteční konfiguraci vyžadovanou při instalaci služby Dovecot.

Nastavení bylo docela náročné, takže pokud stavíte Dovecot, podívejte se na tuto část.

Tím jsou shrnuty hlavní kroky a omezení, která je třeba zohlednit.