Dovecot CentOSissa: vanha IMAP/POP3-asennus


Julkaistu:

Päivitetty:


Artikkelit › Dovecot CentOSissa: vanha IMAP/POP3-asennus

Tilanne vuonna 2026 ja turvallinen käyttö

Johtopäätös: Nykyisen Dovecot-palvelun tulee käyttää tuettua pakettia, kelvollisia ja uusittavia varmenteita, pakotettua salattua todennusta, vähiten etuoikeutettua sähköpostin tallennustilaa, huolellisesti suunniteltua Postfix-integraatiota ja valvottuja lokeja. Näytä vain käyttäjien tarvitsemat protokollat.

Mitä opit

  • Mitä alkuperäinen Dovecot 2.2/CentOS 7 -kokoonpano yritti tarjota.
  • Kuinka IMAP/POP3-kuuntelijat, TLS, todennusmekanismit, sähköpostin sijainnit ja Postfix SASL -integraatio liittyvät toisiinsa.
  • Miksi selkeän tekstin todennusasetukset ovat vaarallisia, ellei salausta valvota tiukasti ennen kuin tunnistetiedot hyväksytään.

Kenelle artikkeli on tarkoitettu: Postin järjestelmänvalvojat tarkistavat vanhaa Postfix/Dovecot-käyttöönottoa, eivät lukijat, jotka etsivät Internet-yhteyttä oletusasetusta.

Tilanne vuonna 2026: Alla olevat vanhat versiot ja komennot säilytetään historiana, eikä niitä ole vahvistettu turvalliseksi nykyiseksi versioksi. Älä kopioi disable_plaintext_auth=no:ta tuotantoon ilman TLS:n takaavaa suunnittelua. Suosi IMAPia TLS:n sijaan, poista käyttämätön POP3 käytöstä ja käytä jakelun tarkistettua systemd-yksikköä.

Turvallisuushuomautus: Alkuperäisen artikkelin komentoja ja määritysesimerkkejä ei ole suoritettu uudelleen nykyaikaisessa tuotantoympäristössä. Tarkista tuetut versiot, ota varmuuskopio ja valmistele palautus erillisessä testiympäristössä ennen käyttöönottoa.

Viralliset lähteet

Yleiskatsaus

Alustavat konfigurointivaiheet, joita tarvitaan Dovecotin asentamiseen ja käynnistämiseen CentOS-käyttöjärjestelmässä. Tiedot perustuvat oletukseen, että käytössä on CentOS7. Saapuvat protokollat on määritetty imapsilla (IMAP over SSL) ja pop3:lla (POP3 over SSL).

Määritä myös Postfix etukäteen täältä, koska se on määritetty yhdessä Postfixin kanssa.

Versiot ovat seuraavat.

CentOS-versio7.6 (1810)
Postfix-versio2.10.1
Dovecot-versio2.2.36

Sisällysluettelo

  1. asenna
  2. Asetusten yksityiskohdat
  3. Yhteenveto

1. asenna

Tässä osassa kuvataan Dovecotin konfigurointi asennuksesta käynnistykseen.

1-1. Dovecotin asentaminen

Suorita Dovecot-asennus yum-komennolla. Suorita työ pääkäyttäjänä.

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

1-2. bootstrap-tarkistus

Voit tarkistaa, että asennus on onnistunut, tarkistamalla käynnistyksen. Huomaa, että Dovecot ei vaadi start-argumenttia käynnistyksen yhteydessä.

[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

Mikä tahansa prosessi, joka toimii dovecot-käyttäjänä edellä kuvatulla tavalla, on OK. Lopeta.

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

2. Asetusten yksityiskohdat

2-1. alustaminen

Dovecotin alkukokoonpano on valmis.

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

Muutetaan seuraavasti.

dovecot.conf【Ennen muutosta】


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

dovecot.conf【muutoksen jälkeen】


protocols = imap pop3
~lyhennelmä~
listen = *
~lyhennelmä~
login_greeting = pop3 and imap ready.

'protocols' määrittää protokollat, joiden avulla muodostetaan yhteys Dovecotiin.

'listen' on IP-osoite, johon yhteys sallitaan. Asetuksena on "*", joten IP-osoitteita ei ole rajoitettu. Jos sinulla on tietty IP-osoite, johon haluat muodostaa yhteyden, määritä tietty IP-osoite turvallisuussyistä. "::" on IPv6-asetus, mutta IPv6:ta ei tällä kertaa käytetä, ja se tulisi poistaa. Jos se poistetaan, vain IPv4 hyväksytään.

'login_greeting' on viesti, kun yhteys muodostetaan. Muutos ei ole pakollinen, mutta turvallisuussyistä vaihda viesti niin, ettei yhteyden muodostamisen yhteydessä ole selvää, että kyseessä on dovecot.

2-2. POP3- ja IMAP-asetukset

Määritetään 110-portti, joka on POP3:n tunnettu portti, ja 143-portti, joka on IMAP:n tunnettu portti. Todentamismenetelmä on liitetty Postfixiin ja todennus on haluttu.

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

Muutetaan seuraavasti.

10-master.conf【Ennen muutosta】


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

10-master.conf【muutoksen jälkeen】


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

2-3. Dovecot-todennusmenetelmän asetukset

Lisää kirjautuminen Dovecot-todennusmenetelmään.

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

Muutetaan seuraavasti.

10-auth.conf【Ennen muutosta】


#disable_plaintext_auth = yes
~lyhennelmä~
auth_mechanisms = plain

10-auth.conf【muutoksen jälkeen】


disable_plaintext_auth = no
~lyhennelmä~
auth_mechanisms = login plain

2-4. Sähköpostin tallennusmuodon muuttaminen Maildir-muotoon.

Aseta sähköpostin tallennuspaikaksi kunkin käyttäjän kotihakemisto (osoitteessa "/home/xxx/").

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

Muutetaan seuraavasti.

10-mail.conf【Ennen muutosta】


#mail_location =
~lyhennelmä~
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【muutoksen jälkeen】


mail_location = maildir:~/Maildir
~lyhennelmä~
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. Todennusasetukset

Ota ssl-konfiguraatio käyttöön.

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

Muutetaan seuraavasti.

10-ssl.conf【Ennen muutosta】


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

10-ssl.conf【muutoksen jälkeen】


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

'ssl_cert' ja 'ssl_key' on asetettava ympäristön mukaan. Määritä polku, johon palvelimen varmenne tallennetaan.

SSL-asetukset vaaditaan etukäteen, joten jos et ole määrittänyt SSL-asetuksia, tee SSL-asetukset ensin. Katso seuraavaa.

Asenna Apache HTTP Server turvallisesti CentOSiin


Tämän jälkeen tulevat salasanaan liittyvät asetukset. 'auth-system.conf.ext'.

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

Muutetaan seuraavasti.

auth-system.conf.ext【Ennen muutosta】


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

auth-system.conf.ext【muutoksen jälkeen】


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

2-6. bootstrap-tarkistus

Tämä viimeistelee kokoonpanon, joten tarkista, että Dovecot käynnistyy, kun kokoonpano on valmis. Huomaa, että aloitusta ei tarvita argumenttina.

[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

Jos prosessi on käynnissä dovecot-käyttäjänä edellä kuvatulla tavalla, sen määritys on onnistunut ja se on käynnissä. Kun käynnistys on vahvistettu, on aika lopettaa.

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

2-7. Automaattinen käynnistysasetus

Lopuksi, vaikka se ei olekaan pakollista, Dovecotia on vaikea käynnistää joka kerta, kun palvelin käynnistetään uudelleen, joten Dovecot käynnistyy automaattisesti, kun palvelin käynnistyy. Se rekisteröityy myös systemctl-komentoon. Huomaa, että tämä menettely koskee CentOS7:ää, joten jos käytät jotain muuta kuin CentOS7:ää, sinun on käytettävä Service-komentoa.

Tarkista, onko tiedosto '/usr/lib/systemd/system/dovecot.service' olemassa. Jos sellaista ei ole, luo dovecot.service seuraavalla tavalla. Suorita pääkäyttäjänä.

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

Toimitetaan seuraavat tiedot.

[Unit]
#Kuvaus.
Description=Dovecot
#Toteutusta edeltävä ja sen jälkeinen valvonta.
#Before=xxx.service
After = network.target

[Service]
#Käyttäjän ja ryhmän nimeäminen
User=root
Group=root
#Kun se on aktivoitu, aseta tilaksi Aktivoitu.
Type=oneshot
RemainAfterExit=yes
#Käynnistä, pysäytä ja lataa uudelleen.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Runlevel 3:n vastaavat asetukset.
WantedBy=multi-user.target

Rekisteröidy seuraavaksi systemctl-komennolla.

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

Olemme kuvailleet Dovecotin asennuksen yhteydessä tarvittavia alkukokoonpanoja.

Sen asentaminen oli melko vaikeaa, joten jos olet rakentamassa Dovecotia, tutustu tähän osioon.

Tässä ovat tärkeimmät huomioitavat vaiheet ja rajoitukset.