Dovecot no CentOS: configuração legada de IMAP/POP3


Data de Publicação:

Atualizado:


Artigos > Dovecot no CentOS: configuração legada de IMAP/POP3

status 2026 e uso seguro

Conclusão: um serviço Dovecot atual deve usar um pacote compatível, certificados válidos e renováveis, autenticação criptografada imposta, armazenamento de correio com privilégios mínimos, integração Postfix com escopo cuidadoso e registros monitorados. Exponha apenas os protocolos que seus usuários exigem.

O que você aprenderá

  • O que a configuração original do Dovecot 2.2/CentOS 7 tentou fornecer.
  • Como os ouvintes IMAP/POP3, TLS, mecanismos de autenticação, locais de correio e integração SASL do Postfix se relacionam.
  • Por que as configurações de autenticação de texto simples são perigosas, a menos que a criptografia seja rigorosamente aplicada antes que as credenciais sejam aceitas.

A quem se destina: administradores de e-mail que analisam uma implantação legada do Postfix/Dovecot, e não leitores que procuram um padrão pronto para Internet.

Atualização para 2026: As versões antigas e os comandos abaixo são mantidos como histórico e não foram validados como uma compilação atual segura. Não copie disable_plaintext_auth=no para produção sem um design que garanta TLS; prefira IMAP em vez de TLS, desative o POP3 não utilizado e use a unidade systemd revisada da distribuição.

Nota de segurança: os comandos e exemplos de configuração do artigo original não foram novamente executados num ambiente de produção atual. Antes de os aplicar, confirme as versões suportadas, as cópias de segurança, os controlos de acesso e o procedimento de reversão num ambiente de teste isolado.

Fontes primárias oficiais

Visão geral

As etapas iniciais de configuração necessárias para instalar e iniciar o Dovecot no CentOS. A informação baseia-se no pressuposto de que o CentOS7 é utilizado. Os protocolos de entrada são estabelecidos com imaps (IMAP sobre SSL) e pop3s (POP3 sobre SSL).

Por favor, também configure o Postfix com antecedência a partir daqui, uma vez que é configurado em conjunto com o Postfix.

As versões são as seguintes.

Versão CentOS7.6 (1810)
Versão Postfix2.10.1
Versão de Dovecot2.2.36

Tabela de Conteúdos

  1. instalar
  2. Detalhes de configuração
  3. resumo

1. instalar

Esta secção descreve a configuração do Dovecot desde a instalação até ao arranque.

1-1. Instalar o Dovecot

Realizar a instalação do Dovecot através do comando yum. Efectuar o trabalho como utilizador root.

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

1-2. verificação do bootstrap check

Para verificar se foi instalado com sucesso, verifique o arranque. Note-se que Dovecot não requer começar como um argumento ao começar.

[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

Qualquer processo em execução como utilizador do pombal, tal como descrito acima, está OK. Parar.

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

2. Detalhes de configuração

2-1. inicialização

A configuração inicial do Dovecot está feita.

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

Alterar como se segue.

dovecot.conf【Antes da mudança】


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

dovecot.conf【após a mudança】


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

O 'protocolo' especifica os protocolos de ligação ao Dovecot.

"ouvir" é o IP ao qual a ligação é permitida. A configuração é "*", pelo que não existem restrições aos IPs a que se possa ligar. Se tiver um IP específico para ligar, especifique um IP específico para fins de segurança.

O "::" é uma configuração IPv6, mas o IPv6 não é utilizado desta vez e deve ser apagado. Ao eliminá-lo, apenas o IPv4 é aceite.

'login_greeting' é a mensagem quando a ligação é feita. A mudança não é obrigatória, mas por razões de segurança, altere a mensagem de modo a não ser óbvio que seja dovecot quando se liga.

2-2. Configurações POP3 e IMAP

O porto 110, que é o porto bem conhecido do POP3, e o porto 143, que é o porto bem conhecido do IMAP, serão configurados. O método de autenticação está ligado ao Postfix e a autenticação é desejada.

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

Alterar como se segue.

10-master.conf【Antes da mudança】


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

10-master.conf【após a mudança】


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

2-3. Configurações do método de autenticação do pombal

Acrescentar login ao método de autenticação Dovecot.

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

Alterar como se segue.

10-auth.conf【Antes da mudança】


#disable_plaintext_auth = yes
~abridgement~
auth_mechanisms = plain

10-auth.conf【após a mudança】


disable_plaintext_auth = no
~abridgement~
auth_mechanisms = login plain

2-4. Alteração do armazenamento de correio electrónico para o formato 'Maildir'.

Definir o local de armazenamento do e-mail para estar no directório home de cada utilizador (em "/home/xxx/").

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

Alterar como se segue.

10-mail.conf【Antes da mudança】


#mail_location =
~abridgement~
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【após a mudança】


mail_location = maildir:~/Maildir
~abridgement~
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. Definições de autenticação

Habilitar a configuração ssl.

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

Alterar como se segue.

10-ssl.conf【Antes da mudança】


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

10-ssl.conf【após a mudança】


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

ssl_cert' e 'ssl_key' devem ser definidas de acordo com o ambiente. Definir o caminho onde o certificado do servidor é armazenado.

As definições SSL são necessárias com antecedência, por isso, se não tiver configurado definições SSL, por favor execute primeiro as definições SSL. Consulte por favor o seguinte.

Instalar o Apache HTTP Server com segurança no CentOS


Isto é seguido por definições relativas a palavras-passe. 'auth-system.conf.ext'.

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

Alterar como se segue.

auth-system.conf.ext【Antes da mudança】


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

auth-system.conf.ext【após a mudança】


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

2-6. verificação do bootstrap check

Isto completa a configuração, portanto verifique se o Dovecot começa com a configuração concluída. Note-se que o início não é necessário como argumento.

[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

Se existe um processo em execução como utilizador de pombal, tal como descrito acima, foi configurado com sucesso e está em execução. Uma vez confirmado o arranque, é tempo de parar.

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

2-7. Configuração de arranque automático

Finalmente, embora não seja obrigatório, é difícil iniciar o Dovecot cada vez que o servidor é reinicializado, pelo que é colocada uma configuração para que o Dovecot inicie automaticamente quando o servidor é iniciado. Também se regista para o comando systemctl. Note que este procedimento é para o CentOS7, por isso, se estiver a utilizar algo que não o CentOS7, terá de usar o comando Service para lidar com isto.

Verificar se '/usr/lib/systemd/systemd/system/dovecot.service' existe. Se não houver nenhum, criar um 'dovecot.service' utilizando o seguinte procedimento. Funciona como utilizador root.

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

É fornecida a seguinte informação.

[Unit]
#Descrição.
Description=Dovecot
#Controlo pré e pós-execução.
#Before=xxx.service
After = network.target

[Service]
#Designação do utilizador e do grupo
User=root
Group=root
#Uma vez activado, definir o estado para Activado.
Type=oneshot
RemainAfterExit=yes
#Iniciar, parar e recarregar.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#Configurações equivalentes ao nível de execução 3.
WantedBy=multi-user.target

A seguir, registar-se com o comando 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. resumo

Descrevemos a configuração inicial necessária quando o Dovecot é instalado.

Foi uma grande luta para se instalar, por isso se estiver a construir um Dovecot, consulte por favor esta secção.

■INFORMATION

Artigos


■PROFILE

Perfil


■Contacto

Contacto