Dovecot på CentOS: äldre IMAP/POP3-installation


Datum för offentliggörande:

Uppdaterad:


Tekniska artiklar > Dovecot på CentOS: äldre IMAP/POP3-installation

2026 status och säker användning

Slutsats: En aktuell Dovecot-tjänst bör använda ett paket som stöds, giltiga och förnybara certifikat, påtvingad krypterad autentisering, e-postlagring med minst privilegier, noggrant avgränsad Postfix-integrering och övervakade loggar. Visa endast de protokoll som dina användare kräver.

Vad du kommer att lära dig

  • Vad den ursprungliga Dovecot 2.2/CentOS 7-konfigurationen försökte tillhandahålla.
  • Hur IMAP/POP3-lyssnare, TLS, autentiseringsmekanismer, e-postplatser och Postfix SASL-integration relaterar.
  • Varför autentiseringsinställningar för klartext är farliga om inte kryptering tillämpas strikt innan autentiseringsuppgifterna accepteras.

Vem detta är till för: E-postadministratörer som granskar en äldre Postfix/Dovecot-distribution, inte läsare som letar efter en internetklar standard.

2026-kontext: De gamla versionerna och kommandona nedan behålls som historik och har inte validerats som en säker aktuell version. Kopiera inte disable_plaintext_auth=no till produktion utan en design som garanterar TLS; föredrar IMAP framför TLS, inaktivera oanvänd POP3 och använd distributionens granskade systemd-enhet.

Säkerhetsanmärkning: Kommandona och konfigurationsexemplen i den ursprungliga artikeln har inte körts om i en aktuell produktionsmiljö. Verifiera versioner som stöds, säkerhetskopior, åtkomstkontroller och återställningssteg i en separat testmiljö innan du använder dem.

Viktiga officiella källor

Översikt.

De inledande konfigurationssteg som krävs för att installera och starta Dovecot på CentOS. Informationen bygger på antagandet att CentOS7 används. Inkommande protokoll är konfigurerade med imaps (IMAP över SSL) och pop3s (POP3 över SSL).

Du kan också konfigurera Postfix i förväg härifrån eftersom den konfigureras tillsammans med Postfix.

Versionerna är följande.

CentOS-version7.6 (1810)
Postfix-version2.10.1
Version av Dovecot2.2.36

Innehållsförteckning

  1. installera
  2. Uppsättningsinformation
  3. sammanfattning

1. installera

I det här avsnittet beskrivs konfigurationen av Dovecot från installation till uppstart.

1-1. Installera Dovecot

Installera Dovecot med hjälp av kommandot yum. Utför arbetet som rotanvändare.

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

1-2. kontroll av uppstartsklämma

För att kontrollera att den har installerats framgångsrikt kan du kontrollera starten. Observera att Dovecot inte kräver start som ett argument vid 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

Alla processer som körs som dovecot-användare enligt beskrivningen ovan är OK. Stopp.

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

2. Uppsättningsinformation

2-1. Initialisering

Den första konfigurationen av Dovecot är klar.

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

Ändra på följande sätt.

dovecot.conf【Före förändring】


#protocols = imap pop3 lmtp
~förkortning~
#listen =  *, ::
~förkortning~
#login_greeting = Dovecot ready.

dovecot.conf【efter ändringen】


protocols = imap pop3
~förkortning~
listen = *
~förkortning~
login_greeting = pop3 and imap ready.

protocols anger protokollen för anslutning till Dovecot.

"listen" är den IP-adress som anslutningen tillåts till. Inställningen är "*", så det finns inga begränsningar för vilka IP:er du kan ansluta till. Om du har en specifik IP att ansluta till, ange en specifik IP för säkerhets skull. "::" är en IPv6-inställning, men IPv6 används inte den här gången och bör tas bort. Genom att ta bort den accepteras endast IPv4.

"login_greeting" är meddelandet när anslutningen görs. Ändringen är inte obligatorisk, men av säkerhetsskäl bör du ändra meddelandet så att det inte är uppenbart att det är dovecot när du ansluter.

2-2. Inställningar för POP3 och IMAP

Port 110, som är den välkända porten för POP3, och port 143, som är den välkända porten för IMAP, kommer att konfigureras. Autentiseringsmetoden är kopplad till Postfix och autentisering önskas.

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

Ändra på följande sätt.

10-master.conf【Före förändring】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~förkortning~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【efter ändringen】


service imap-login {
  inet_listener imap {
    port = 143
  }
~förkortning~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Inställningar för autentiseringsmetoden Dovecot

Lägg till inloggning som autentiseringsmetod för Dovecot.

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

Ändra på följande sätt.

10-auth.conf【Före förändring】


#disable_plaintext_auth = yes
~förkortning~
auth_mechanisms = plain

10-auth.conf【efter ändringen】


disable_plaintext_auth = no
~förkortning~
auth_mechanisms = login plain

2-4. Ändring av e-postlagring till Maildir-format.

Ställ in lagringsplatsen för e-post i varje användares hemkatalog (under "/home/xxx/").

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

Ändra på följande sätt.

10-mail.conf【Före förändring】


#mail_location =
~förkortning~
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【efter ändringen】


mail_location = maildir:~/Maildir
~förkortning~
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. Inställningar för autentisering

Aktivera ssl-konfiguration.

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

Ändra på följande sätt.

10-ssl.conf【Före förändring】


ssl = required
~förkortning~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【efter ändringen】


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

"ssl_cert" och "ssl_key" ska ställas in i enlighet med miljön. Ange sökvägen där servercertifikatet lagras.

SSL-inställningar krävs i förväg, så om du inte har ställt in SSL-inställningar bör du göra det först. Se följande.

Installera Apache HTTP Server säkert på CentOS


Därefter följer inställningar för lösenord. 'auth-system.conf.ext'.

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

Ändra på följande sätt.

auth-system.conf.ext【Före förändring】


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

auth-system.conf.ext【efter ändringen】


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

2-6. kontroll av uppstartsklämma

Detta avslutar konfigurationen, så kontrollera att Dovecot startar när konfigurationen är klar. Observera att start inte krävs som 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

Om det finns en process som körs som dovecot-användare enligt beskrivningen ovan har den konfigurerats och körs. När startskottet har bekräftats är det dags att sluta.

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

2-7. Inställning för automatisk start

Slutligen, även om det inte är obligatoriskt, är det svårt att starta Dovecot varje gång servern startas om, så en inställning läggs in så att Dovecot startas automatiskt när servern startar. Den registrerar också kommandot systemctl. Observera att den här proceduren gäller för CentOS7, så om du använder något annat än CentOS7 måste du använda kommandot Service för att hantera detta.

Kontrollera om "/usr/lib/systemd/system/dovecot.service" finns. Om det inte finns någon skapar du en "dovecot.service" med hjälp av följande procedur. Kör som root-användare.

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

Följande information tillhandahålls.

[Unit]
#Beskrivning.
Description=Dovecot
#Kontroll före och efter utförandet.
#Before=xxx.service
After = network.target

[Service]
#Användar- och gruppbeteckning
User=root
Group=root
#När den är aktiverad, sätts statusen till Aktiverad.
Type=oneshot
RemainAfterExit=yes
#Starta, stoppa och ladda om.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Motsvarande inställningar för Runlevel 3.
WantedBy=multi-user.target

Registrera dig sedan med kommandot 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. sammanfattning

Vi har beskrivit den första konfigurationen som krävs när Dovecot installeras.

Det var ganska svårt att installera den, så om du bygger en Dovecot bör du läsa det här avsnittet.

Tack för att du tittade på till slutet.