Dovecot op CentOS: verouderde IMAP/POP3-installatie


Datum van publicatie:

Bijgewerkt:


Artikelen > Dovecot op CentOS: verouderde IMAP/POP3-installatie

2026 status en veilig gebruik

Conclusie: Een huidige Dovecot-service moet gebruik maken van een ondersteund pakket, geldige en hernieuwbare certificaten, afgedwongen gecodeerde authenticatie, minst-privilege mail opslag, zorgvuldig gescopeerde Postfix integratie, en bewaakt logs. Stel alleen de protocollen die uw gebruikers nodig hebben.

Wat je zult leren

  • Wat de originele Dovecot 2.2/CentOS 7 configuratie probeerde te bieden.
  • Hoe IMAP/POP3 luisteraars, TLS, authenticatiemechanismen, maillocaties en Postfix SASL integratie relateren.
  • Waarom plaintext authenticatieinstellingen gevaarlijk zijn, tenzij encryptie strikt wordt afgedwongen voordat referenties worden geaccepteerd.

Voor wie: E-mailbeheerders bekijken een legacy Postfix/Dovecot implementatie, niet lezers die op zoek zijn naar een internet-ready standaard.

Actualisatie voor 2026: De oude versies en commando's hieronder worden bewaard als geschiedenis en zijn niet gevalideerd als een veilige huidige opbouw. Niet kopiëren disable_plaintext_auth=no in productie zonder een ontwerp dat TLS garandeert; prefereer IMAP boven TLS, schakel ongebruikte POP3 uit en gebruik de herziene systeemeenheid van de distributie.

Veiligheidsopmerking: de opdrachten en configuratievoorbeelden uit het oorspronkelijke artikel zijn niet opnieuw in een moderne productieomgeving uitgevoerd. Controleer ondersteunde versies, back-ups, toegangsbeheer en terugrolstappen eerst in een afzonderlijke testomgeving.

Officiële primaire bronnen

Overzicht

De initiële configuratiestappen die nodig zijn om Dovecot te installeren en te starten op CentOS. De informatie is gebaseerd op de veronderstelling dat CentOS7 wordt gebruikt. Inkomende protocollen zijn ingesteld met imaps (IMAP over SSL) en pop3s (POP3 over SSL).

Gelieve ook Postfix vooraf in te stellen vanaf hier, aangezien het samen met Postfix wordt ingesteld.

De versies zijn als volgt.

CentOS versie7.6 (1810)
Postfix versie2.10.1
Versie van Dovecot2.2.36

Inhoudsopgave

  1. installeer
  2. Setup details
  3. samenvatting

1. installeer

Dit gedeelte beschrijft de configuratie van Dovecot vanaf de installatie tot het opstarten.

1-1. Installatie van Dovecot

Voer de installatie van Dovecot uit met behulp van het commando yum. Voer het werk uit als root gebruiker.

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

1-2. opstartcontrole

Om te controleren of de installatie is geslaagd, controleert u de opstart. Merk op dat Dovecot geen start nodig heeft als argument bij het opstarten.

[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

Elk proces dat draait als dovecot gebruiker zoals hierboven beschreven is OK. Stop.

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

2. Setup details

2-1. initialisatie

De eerste configuratie van Dovecot is klaar.

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

Als volgt te wijzigen.

dovecot.conf【Voor de verandering】


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

dovecot.conf【na de verandering】


protocols = imap pop3
~verkorting~
listen = *
~verkorting~
login_greeting = pop3 and imap ready.

"protocols" specificeert de protocollen voor verbinding met Dovecot.

luister" is het IP waarnaar de verbinding is toegestaan. De instelling is "*", dus er zijn geen beperkingen op de IP's om verbinding mee te maken. Als u een specifiek IP hebt om verbinding mee te maken, specificeer dan een specifiek IP voor veiligheidsdoeleinden.

De "::" is een IPv6-instelling, maar IPv6 wordt deze keer niet gebruikt en moet worden verwijderd. Door het te verwijderen, wordt alleen IPv4 geaccepteerd.

"login_greeting" is het bericht wanneer de verbinding wordt gemaakt. De verandering is niet verplicht, maar om veiligheidsredenen, verander de boodschap zodat het niet duidelijk is dat het dovecot is wanneer u verbinding maakt.

2-2. POP3 en IMAP instellingen

De 110 poort, die de bekende poort is voor POP3, en de 143 poort, die de bekende poort is voor IMAP, zullen worden geconfigureerd. De authenticatie methode is gekoppeld aan Postfix en authenticatie is gewenst.

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

Als volgt te wijzigen.

10-master.conf【Voor de verandering】


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

10-master.conf【na de verandering】


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

2-3. Dovecot authenticatie methode instellingen

Voeg login toe aan de Dovecot authenticatie methode.

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

Als volgt te wijzigen.

10-auth.conf【Voor de verandering】


#disable_plaintext_auth = yes
~verkorting~
auth_mechanisms = plain

10-auth.conf【na de verandering】


disable_plaintext_auth = no
~verkorting~
auth_mechanisms = login plain

2-4. Verandering van e-mail opslag naar "Maildir" formaat.

Stel de opslaglocatie voor e-mail in op de thuismap van elke gebruiker (onder "/home/xxx/").

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

Als volgt te wijzigen.

10-mail.conf【Voor de verandering】


#mail_location =
~verkorting~
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【na de verandering】


mail_location = maildir:~/Maildir
~verkorting~
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. Authenticatie-instellingen

Inschakelen ssl configuratie.

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

Als volgt te wijzigen.

10-ssl.conf【Voor de verandering】


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

10-ssl.conf【na de verandering】


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

"ssl_cert" en "ssl_key" moeten worden ingesteld volgens de omgeving. Stel het pad in waar het servercertificaat is opgeslagen.

SSL-instellingen zijn vooraf vereist, dus als u nog geen SSL-instellingen hebt ingesteld, gelieve dan eerst SSL-instellingen uit te voeren. Zie het volgende.

Apache HTTP Server veilig installeren op CentOS


Dit wordt gevolgd door instellingen met betrekking tot wachtwoorden. "auth-system.conf.ext".

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

Als volgt te wijzigen.

auth-system.conf.ext【Voor de verandering】


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

auth-system.conf.ext【na de verandering】


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

2-6. opstartcontrole

Hiermee is de configuratie voltooid, dus controleer of Dovecot start terwijl de configuratie voltooid is. Merk op dat start niet vereist is als 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

Als er een proces draait als dovecot gebruiker zoals hierboven beschreven, is het met succes geconfigureerd en draait het. Zodra de opstart bevestigd is, is het tijd om te stoppen.

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

2-7. Automatische opstart instelling

Tenslotte, hoewel het niet verplicht is, is het moeilijk om Dovecot te starten telkens als de server herstart wordt, dus is er een instelling ingebracht zodat Dovecot automatisch start wanneer de server opstart. Het registreert ook op het systemctl commando. Merk op dat deze procedure is voor CentOS7, dus als u iets anders gebruikt dan CentOS7, zult u het Service commando moeten gebruiken om dit af te handelen.

Controleer of '/usr/lib/systemd/system/dovecot.service' bestaat. Als er geen is, maak dan een "dovecot.service" aan met de volgende procedure. Start als root gebruiker.

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

De volgende informatie wordt verstrekt.

[Unit]
#Beschrijving.
Description=Dovecot
#Controle voor en na de uitvoering.
#Before=xxx.service
After = network.target

[Service]
#Aanwijzing gebruiker en groep
User=root
Group=root
#Eenmaal geactiveerd, zet de status op Geactiveerd.
Type=oneshot
RemainAfterExit=yes
#Starten, stoppen en herladen.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Runlevel 3 gelijkwaardige instellingen.
WantedBy=multi-user.target

Vervolgens, registreer met het systemctl commando.

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

We hebben de initiële configuratie beschreven die nodig is wanneer Dovecot wordt geïnstalleerd.

Het was een hele strijd om op te zetten, dus als je een Dovecot aan het bouwen bent, raadpleeg dan deze sectie.

■INFORMATION

Artikelen


■PROFILE

Profiel


■Contact

Contact