Dovecot CentOS vidē: vēsturiska IMAP/POP3 konfigurēšanas rokasgrāmata ar 2026. gada drošības piezīmēm


Publikācijas datums:

Atjaunināts:


Tehniskie raksti > Dovecot CentOS vidē: vēsturiska IMAP/POP3 konfigurēšanas rokasgrāmata ar 2026. gada drošības piezīmēm

2026. gada statuss un droša lietošana

Galvenais: mūsdienīgam Dovecot servisam vajadzīga atbalstīta pakotne, derīgi un atjaunojami sertifikāti, obligāti šifrēta autentifikācija, pasta krātuve ar minimālām privilēģijām, rūpīgi ierobežota Postfix integrācija un uzraudzīti žurnāli. Publiski darbiniet tikai lietotājiem nepieciešamos protokolus.

Ko jūs uzzināsiet

  • Ko mēģināja nodrošināt sākotnējā Dovecot 2.2/CentOS 7 konfigurācija.
  • Kā savstarpēji saistīti IMAP/POP3 klausītāji, TLS, autentifikācijas mehānismi, pasta glabāšanas vietas un Postfix SASL integrācija.
  • Kāpēc vienkāršā teksta autentifikācijas iestatījumi ir bīstami, ja vien pirms akreditācijas datu pieņemšanas netiek stingri ievērota šifrēšana.

Kam tas paredzēts: pasta administratoriem, kuri pārskata mantotu Postfix un Dovecot izvietojumu; tas nav internetam gatavs noklusējuma iestatījumu komplekts.

2026. gada konteksts: tālāk redzamās vecās versijas un komandas saglabātas kā vēsturisks piemērs un nav apstiprinātas kā droša mūsdienu konfigurācija. Nekopējiet disable_plaintext_auth=no ražošanas vidē bez arhitektūras, kas garantē TLS; dodiet priekšroku IMAP, nevis POP3, vienmēr izmantojiet TLS, atspējojiet neizmantoto POP3 un izmantojiet izplatītāja pārbaudīto systemd servisa vienību.

Drošības piezīme. Sākotnējā rakstā esošās komandas un konfigurācijas piemēri nav atkārtoti izpildīti pašreizējā ražošanas vidē. Pirms to lietošanas pārbaudiet atbalstītās versijas, dublējumus, piekļuves vadīklas un atcelšanas darbības atsevišķā testa vidē.

Galvenie oficiālie avoti

Pārskats

Šajā vēsturiskajā procedūrā Dovecot instalē un palaiž sistēmā CentOS 7. Piekļuve pastkastēm paredzēta ar IMAP un POP3, taču mūsdienīgā izvietojumā autentifikācija vienmēr jāaizsargā ar TLS.

Pirms Dovecot integrācijas iespējošanas droši konfigurējiet Postfix.

Aprakstā izmantotās versijas:

CentOS versija7.6 (1810)
Postfix versija2.10.1
Dovecot versija2.2.36

Satura rādītājs

  1. Instalēšana
  2. Vēsturiskā Dovecot konfigurēšana
  3. Kopsavilkums

1. Instalēšana

Šajā sadaļā parādīta vēsturiskā Dovecot instalēšanas un sākotnējās palaišanas procedūra.

1-1. Dovecot instalēšana

Vēsturiskajā CentOS vidē Dovecot instalēja ar yum, izmantojot administratora čaulu.

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

1-2. Sākotnējās palaišanas pārbaude

Lai pārliecinātos, ka pakotne ir instalēta, īslaicīgi palaidiet Dovecot un pārbaudiet tā procesus. Šajā vēsturiskajā komandā palaišanai nav jānorāda arguments "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

Ja izvadē redzami procesi, kas darbojas ar kontu dovecot, sākotnējā palaišana ir izdevusies. Pirms konfigurēšanas turpināšanas servisu apturiet.

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

2. Vēsturiskā Dovecot konfigurēšana

2-1. Pamatparametri

Tālāk saglabāta sākotnējā Dovecot konfigurācija. Katru direktīvu salīdziniet ar instalētās un atbalstītās versijas dokumentāciju.

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

Vēsturiskajā piemērā veica šādas izmaiņas.

dovecot.conf【Pirms pārmaiņām】


#protocols = imap pop3 lmtp
~saīsinājums~
#listen =  *, ::
~saīsinājums~
#login_greeting = Dovecot ready.

dovecot.conf【pēc izmaiņām】


protocols = imap pop3
~saīsinājums~
listen = *
~saīsinājums~
login_greeting = pop3 and imap ready.

'protocols' norāda protokolus, kurus Dovecot nodrošina.

'listen = *' piesaista servisu visām pieejamajām adresēm. Tas pats par sevi klientu neautorizē, bet paplašina tīkla ekspozīciju. Klausieties tikai vajadzīgajās saskarnēs un izmantojiet resursdatora ugunsmūri, šifrētus protokolus un skaidrus autentifikācijas noteikumus. Vēsturiskajā piemērā IPv6 adrese "::" tika noņemta, jo izvietojumā izmantoja tikai IPv4.

'login_greeting' ir klientam pēc savienojuma izveides parādītais sveiciens. Tā maiņa var samazināt liekas informācijas izpaušanu, taču neaizstāj piekļuves kontroli, atjauninājumus un drošu konfigurāciju.

2-2. POP3 un IMAP klausītāji

Vēsturiskā konfigurācija iespējo standarta POP3 portu 110 un IMAP portu 143. Šajos portos autentifikācijas datus drīkst pieņemt tikai pēc droša TLS savienojuma izveides; ja POP3 nav vajadzīgs, atspējojiet to.

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

Vēsturiskajā piemērā veica šādas izmaiņas.

10-master.conf【Pirms pārmaiņām】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~saīsinājums~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【pēc izmaiņām】


service imap-login {
  inet_listener imap {
    port = 143
  }
~saīsinājums~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Dovecot autentifikācijas mehānismi

Vēsturiskajā piemērā Dovecot autentifikācijas mehānismiem pievienoja LOGIN.

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

Konfigurācijā veica šādas izmaiņas.

10-auth.conf【Pirms pārmaiņām】


#disable_plaintext_auth = yes
~saīsinājums~
auth_mechanisms = plain

10-auth.conf【pēc izmaiņām】


disable_plaintext_auth = no
~saīsinājums~
auth_mechanisms = login plain

Iestatījums, kas atļauj vienkāršā teksta autentifikācijas mehānismus, ir drošs tikai tad, ja Dovecot pirms akreditācijas datu pieņemšanas obligāti izveido TLS savienojumu. Pārbaudiet efektīvo konfigurāciju un klienta savienojumu, nevis paļaujieties uz vienu direktīvu.

2-4. Maildir pasta krātuve

Šajā piemērā pasta glabāšanas vieta ir katra lietotāja mājas direktorija zem "/home/xxx/", izmantojot Maildir formātu.

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

Vēsturiskajā piemērā veica šādas izmaiņas.

10-mail.conf【Pirms pārmaiņām】


#mail_location =
~saīsinājums~
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【pēc izmaiņām】


mail_location = maildir:~/Maildir
~saīsinājums~
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 un paroļu autentifikācija

Vispirms konfigurējiet TLS sertifikātu un privāto atslēgu.

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

Vēsturiskajā piemērā veica šādas izmaiņas.

10-ssl.conf【Pirms pārmaiņām】


ssl = required
~saīsinājums~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【pēc izmaiņām】


ssl = required
~saīsinājums~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key

Parametriem 'ssl_cert' un 'ssl_key' norādiet derīgu sertifikātu ķēdi un aizsargātu privāto atslēgu. Plānojiet atjaunošanu un pārbaudiet, vai Dovecot pēc tās ielādē jauno materiālu.

Saistītajā Apache rakstā ir vēsturisks sertifikāta piemērs, nevis aktuāla pasta servera sertifikātu procedūra. Izmantojiet izvēlētās sertifikācijas iestādes un Dovecot dokumentāciju.

Vēsturiska Apache TLS konfigurācija CentOS vidē


Pēc tam failā 'auth-system.conf.ext' konfigurējiet paroļu datubāzi.

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

Vēsturiskajā piemērā veica šādas izmaiņas.

auth-system.conf.ext【Pirms pārmaiņām】


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

auth-system.conf.ext【pēc izmaiņām】


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

2-6. Palaišanas pārbaude

Pēc konfigurēšanas pārbaudiet, vai Dovecot tiek palaists. Šajā vēsturiskajā komandā arguments "start" nav jānorāda.

[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

Ja redzams process ar kontu dovecot, serviss ir palaists. Tas vēl neapstiprina autentifikāciju, TLS, pastkastīšu atļaujas, protokolu ekspozīciju vai Postfix integrāciju; pārskatiet žurnālus un veiciet kontrolētus klienta testus.

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

2-7. Automātiskās palaišanas iestatīšana

Automātiskai palaišanai izmantojiet operētājsistēmas pakotnes nodrošināto Dovecot servisa vienību. Vienību nosaukumi un pārvaldības komandas dažādos izplatījumos atšķiras; neveidojiet otru, konkurējošu servisa definīciju.

Vēsturiskajā procedūrā pārbaudīja, vai pastāv '/usr/lib/systemd/system/dovecot.service'. Ja faila nebija, administratora kontā veidoja 'dovecot.service' ar tālāk redzamo saturu.

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

Servisa vienībā tika norādīti šādi iestatījumi.

[Unit]
#Apraksts.
Description=Dovecot
#Kontrole pirms un pēc izpildes.
#Before=xxx.service
After = network.target

[Service]
#Lietotāja un grupas apzīmējums
User=root
Group=root
#Pēc aktivizēšanas iestatiet statusu Aktivizēts.
Type=oneshot
RemainAfterExit=yes
#Uzsākt, apturēt un atkārtoti ielādēt.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Runlevel 3 līdzvērtīgi iestatījumi.
WantedBy=multi-user.target

Pēc tam servisa vienību iespējoja un pārbaudīja ar 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. Kopsavilkums

Vēsturiskajā procedūrā aplūkota pakotnes instalēšana, tīkla klausītāji, autentifikācija, pastkastīšu piekļuve, TLS, Postfix integrācija un servisa palaišana. Mūsdienīgam izvietojumam vajadzīgas atbalstītas pakotnes, šifrēta autentifikācija, pasta krātuve ar minimālām privilēģijām, sertifikātu atjaunošana, žurnālu uzraudzība un kontrolēti klienta testi.