Dovecot v sistemu CentOS: podedovani postopek in varnostne opombe za leto 2026
Datum objave:
Posodobljeno:
Tehnični članki > Dovecot v sistemu CentOS: podedovani postopek in varnostne opombe za leto 2026
Stanje in varna uporaba v letu 2026
Sklep: Sodobna storitev Dovecot naj uporablja podprt paket, veljavne certifikate z urejeno obnovo, obvezno šifrirano overjanje, poštno shrambo z najmanjšimi potrebnimi pravicami, skrbno omejeno povezavo s Postfixom in nadzorovane dnevnike. Izpostavite samo protokole, ki jih uporabniki dejansko potrebujejo.
Kaj boste izvedeli
- Kaj je skušala zagotoviti prvotna konfiguracija Dovecota 2.2 v sistemu CentOS 7.
- Kako so povezani poslušalniki IMAP in POP3, TLS, načini overjanja, mesto poštnih predalov ter povezava SASL s Postfixom.
- Zakaj je overjanje z navadnim besedilom nevarno, če šifriranje ni obvezno že pred sprejemom poverilnic.
Komu je članek namenjen? Skrbnikom poštnih sistemov, ki pregledujejo podedovano namestitev Postfixa in Dovecota, ne bralcem, ki iščejo privzeto konfiguracijo za neposredno objavo v internetu.
Opomba za leto 2026: Spodnje stare različice in ukazi so ohranjeni kot zgodovinski zapis in niso potrjeni kot varna sodobna namestitev. Nastavitve disable_plaintext_auth=no ne prenesite v produkcijo brez zasnove, ki zagotavlja TLS; prednost dajte IMAP prek TLS, onemogočite neuporabljeni POP3 in uporabite preverjeno enoto systemd svoje distribucije.
Varnostna opomba: Ukazi in konfiguracijski primeri iz prvotnega članka niso bili znova preizkušeni v sodobnem produkcijskem okolju. Pred uporabo v ločenem preizkusnem okolju preverite podprte različice, izdelajte varnostne kopije ter določite nadzor dostopa in postopek povrnitve.
Uradni viri
Pregled
Ta zgodovinski postopek opisuje namestitev in začetno nastavitev Dovecota v sistemu CentOS 7. Obravnava dostop do pošte prek IMAP in POP3 ter njuno zaščito s TLS, vendar ne predstavlja sodobne produkcijske zasnove.
Pred omogočanjem povezave z Dovecotom varno nastavite Postfix.
V prvotnem okolju so bile uporabljene naslednje različice:
| Različica sistema CentOS | 7.6 (1810) |
|---|---|
| Različica programa Postfix | 2.10.1 |
| Različica Dovecot | 2.2.36 |
Kazalo vsebine
1. Namestitev
Ta razdelek prikazuje podedovani postopek od namestitve paketa do prvega zagona.
1-1. Namestitev storitve Dovecot
V prvotnem okolju je skrbnik namestil Dovecot z upravljalnikom paketov yum.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install dovecot
1-2. Preverjanje zagona
Po namestitvi je bil opravljen začetni preizkus zagona. Pri tem ukazu Dovecot ne potrebuje argumenta 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
Če izpis pokaže proces uporabnika dovecot, je začetni zagon uspel. Pred nadaljnjim urejanjem konfiguracije storitev ustavite.
[root@hostname ~]# /usr/sbin/dovecot stop
2. Podedovani postopek konfiguracije Dovecota
2-1. Osnovne nastavitve
Naslednji razdelki beležijo prvotno konfiguracijo Dovecota. Vsako direktivo primerjajte z dokumentacijo nameščene in podprte različice.
[root@hostname ~]# vi /etc/dovecot/dovecot.conf
Prvotni postopek je uporabil naslednjo spremembo.
#protocols = imap pop3 lmtp
~okrajšava~
#listen = *, ::
~okrajšava~
#login_greeting = Dovecot ready.
protocols = imap pop3
~okrajšava~
listen = *
~okrajšava~
login_greeting = pop3 and imap ready.
"protocols" določa protokole, ki jih Dovecot omogoči. Vključite samo tiste, ki jih uporabniki potrebujejo.
"listen = *" veže storitev na vse razpoložljive naslove. To samo po sebi ne odobri dostopa, vendar poveča omrežno izpostavljenost. Storitev vežite le na potrebne vmesnike ter jo dopolnite s požarnim zidom, šifriranimi protokoli in izrecnimi pravili overjanja. Odstranitev "::" v tem starem primeru izključi poslušanje prek IPv6.
"login_greeting" določa pozdrav ob povezavi. Skrivanje imena izdelka ni nadomestilo za posodobitve, varen TLS in nadzor dostopa.
2-2. Nastavitve POP3 in IMAP
Primer omogoči standardna vrata 110 za POP3 in 143 za IMAP. Na teh vratih zahtevajte TLS pred sprejemom poverilnic ali uporabite izrecna vrata za protokole prek TLS; nezaščitenega overjanja ne izpostavljajte omrežju.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-master.conf
Prvotni postopek je uporabil naslednjo spremembo.
service imap-login {
inet_listener imap {
#port = 143
}
~okrajšava~
service pop3-login {
inet_listener pop3 {
#port = 110
}
service imap-login {
inet_listener imap {
port = 143
}
~okrajšava~
service pop3-login {
inet_listener pop3 {
port = 110
}
2-3. Načini overjanja
Stari primer doda način LOGIN in hkrati dovoli overjanje z navadnim besedilom. To je varno samo, če je šifriranje strogo vsiljeno pred sprejemom poverilnic.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-auth.conf
Prvotni postopek je uporabil naslednjo spremembo.
#disable_plaintext_auth = yes
~okrajšava~
auth_mechanisms = plain
disable_plaintext_auth = no
~okrajšava~
auth_mechanisms = login plain
2-4. Poštna shramba v obliki Maildir
Primer nastavi poštne predale Maildir v domačem imeniku posameznega uporabnika. Preverite lastništvo, dovoljenja, varnostne kopije in omejitve prostora.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-mail.conf
Prvotni postopek je uporabil naslednjo spremembo.
#mail_location =
~okrajšava~
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 =
mail_location = maildir:~/Maildir
~okrajšava~
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 in vir gesel
Najprej je konfiguriran TLS.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-ssl.conf
Prvotni postopek je uporabil naslednjo spremembo.
ssl = required
~okrajšava~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
ssl = required
~okrajšava~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key
"ssl_cert" in "ssl_key" morata kazati na veljavno verigo certifikatov in ustrezno zaščiten zasebni ključ. Načrtujte obnovo ter preverite, da Dovecot po obnovi naloži nove datoteke.
Povezani članek o Apacheju vsebuje zgodovinski primer certifikata, ne sodobnega recepta za poštni certifikat. Upoštevajte dokumentacijo izdajatelja certifikata in Dovecota.
TLS v podedovanem postopku namestitve Apacheja v sistemu CentOS
Nato je v datoteki "auth-system.conf.ext" določen vir gesel.
[root@hostname ~]# vi /etc/dovecot/conf.d/auth-system.conf.ext
Prvotni postopek je uporabil naslednjo spremembo.
passdb {
driver = pam
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
# [cache_key=<key>] [<service name>]
#args = dovecot
}
~okrajšava~
#passdb {
#driver = shadow
# [blocking=no]
#args =
#}
#passdb {
#driver = pam
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
# [cache_key=<key>] [<service name>]
#args = dovecot
#}
~okrajšava~
passdb {
driver = shadow
# [blocking=no]
#args =
}
2-6. Preverjanje zagona
Po spremembah preverite, ali se Dovecot zažene. Pri prikazanem ukazu argument start ni potreben.
[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
Proces uporabnika dovecot potrdi le zagon storitve. Ne dokazuje pravilnega overjanja, TLS, dovoljenj poštnega predala, izpostavljenih protokolov ali povezave s Postfixom; preglejte dnevnike in izvedite nadzorovane odjemalske preizkuse.
[root@hostname ~]# /usr/sbin/dovecot stop
2-7. Samodejni zagon
V sodobnem okolju omogočite enoto systemd, ki jo dobavi paket operacijskega sistema. Imena enot in ukazi se med distribucijami razlikujejo; ne ustvarjajte druge, konkurenčne definicije storitve.
Spodnji koraki prikazujejo lastno enoto iz prvotnega postopka, če paketna datoteka "/usr/lib/systemd/system/dovecot.service" ni obstajala. Primer je zgodovinski in ni priporočilo za sodobno namestitev.
[root@hostname ~]# touch /etc/systemd/system/dovecot.service
[root@hostname ~]# vi /etc/systemd/system/dovecot.service
Uporabljena je bila naslednja vsebina.
[Unit]
#Opis.
Description=Dovecot
#Nadzor pred in po izvedbi.
#Before=xxx.service
After = network.target
[Service]
#Imenovanje uporabnikov in skupin
User=root
Group=root
#Ko je aktivirano, nastavite stanje na Aktivirano.
Type=oneshot
RemainAfterExit=yes
#Zagon, zaustavitev in ponovno polnjenje.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload
[Install]
#Enakovredne nastavitve na ravni Runlevel 3.
WantedBy=multi-user.target
Enota je bila nato omogočena z ukazom 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. Povzetek
Podedovani postopek zajema namestitev paketa, poslušalnike, overjanje, poštne predale, TLS, povezavo s Postfixom in zagon storitve.
Sodobna namestitev zahteva podprte pakete, obvezno šifrirano overjanje, najmanjše potrebne pravice, obnovo certifikatov, spremljanje dnevnikov in nadzorovane odjemalske preizkuse.
Stare konfiguracije ne prenesite neposredno v produkcijo; vsak parameter preverite v dokumentaciji trenutno podprte različice.