Como habilitar o TLS com porta 587 com autenticação segura no Postfix?

Como habilitar o TLS com porta 587 com autenticação segura no Postfix?

Como fazer com que meu servidor Postfix envie e-mails apenas na porta 587 e também habilite o TLS com a porta 587 com autenticação segura (que usa usuários do sistema Linux)?

Em primeiro lugar, esta questão pode parecer muito ampla, mas não consegui encontrar uma solução única para isso na internet. Muitos artigos fornecem uma solução, mas pulam algumas partes.

Quero forçar a autenticação e forçar conexões TLS.

Posso postar a configuração se alguém me perguntar.

Desde já, obrigado. Eu sou novo no postfix. Além disso, eu poderia dar uma olhadahttp://www.postfix.org/documentation.html, mas antes que você me conte sobre isso, não consigo entendê-lo corretamente, portanto, tenho certeza de que bagunçaria uma configuração e tornaria meu servidor inutilizável. Além disso, o postfix aqui foi instalado usando o gerenciador de pacotes apt. Mas tenho certeza de que isso não está particularmente relacionado ao Ubuntu. Eu estava usando o Exim4 antes de usar o postfix, mas há tão pouco suporte para o Exim, porque a maioria das pessoas o tem no cPanel, então não recebo suporte básico do Exim.

Isto precisa de ajuda urgente porque a segurança do nosso servidor está em perigo.

Responder1

Para habilitar a porta 587, edite o arquivo/etc/postfix/master.cf

vi /etc/postfix/master.cf

e remova o # na frente da linha (descomente a linha):

#submission inet n - n - - smtpd

para que fique assim:

submission inet n - n - - smtpd

Você pode remover o comentário de linhas adicionais que habilitam a autenticação SASL logo após esta linha. Cada nova linha deve começar com espaço!

 -o syslog_name=postfix/submission
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Todas as outras configurações a serem definidas em/etc/postfix/main.cfcom base no seu ambiente.

Além disso, pode ser necessário definir as configurações de TLS:

# TLS parameters
# you need to specify a real certificate location
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert.key
smtpd_use_tls=yes
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtpd_sasl_tls_security_options=noanonymous
smtpd_tls_auth_only=yes

Dependendo se você usa o dovecot para receber e-mails, pode ser necessário adicionar:

smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
broken_sasl_auth_clients=yes

Restrições de segurança adicionais:

smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_helo_hostname,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_non_fqdn_recipient,reject_unknown_recipient_domain

verifique e reinicie o postfix:

postfix check
systemctl restart postfix

Você pode ter certeza de que o postfix agora está escutando nas portas 25 e 587:

netstat -na | grep LISTEN | grep 25
netstat -na | grep LISTEN | grep 587

Não se esqueça de permitir a porta 587 no seu firewall.

A criação de usuários postfix é outra história. Como foi mencionado nos comentários, você deve usar SQL para armazenar caixas de correio (usuários de email). Se você não quiser fazer isso, você pode usar os usuários do Linux, descritos em detalhesaqui.

PS Não creio que seja viável fornecer a configuração completa aqui porque sempre depende muito dos requisitos específicos do caso e do seu ambiente.

Responder2

Isso permitirá apenas conexões seguras:

smtpd_tls_auth_only = yes

Então você tem as outras opções necessárias:

smtpd_tls_security_level = may

smtp_sasl_auth_enable = yes

smtp_use_tls = yes

Para usar 587, edite master.cf e remova o comentário da linha:

submission inet n - n - - smtpd

O postfix de reinicialização.

informação relacionada