Exigir autenticação SMTP no Postfix

Iniciado por Apaxe, 22 de Fevereiro de 2010, 18:06

tópico anterior - próximo tópico

Apaxe

Olá a todos.
Tenho um servidor de Email a funcionar com o Postfix (SMTP) e o Courier (IMAP/POP).
Queria que todos os clientes POP que usem o meu servidor fossem obrigados a activar a opção "O meu servidor de envio SMTP requer autenticação" mas de forma que não afecta-se os servidores da internet no envio de correio para o meu domínio.
Com a configuração que tenho no ficheiro "main.cf" do meu Postfix, os clientes POP quer activem ou não a opção: "O meu servidor de envio SMTP requer autenticação" conseguem sempre enviar correio mas eu pretendia que só conseguissem os autenticados.
No ficheiro "main.cf" do Postfix tenho a seguinte configuração:
...
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

# Esta configuracao controla o relay do servidor SMTP
# Utilizadores locais ou autenticados podem enviar emails para qualquer endereco
# Rejeita todos os outros
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
...

Alguém pode-me ajudar a resolver este problema?
Obrigados

jeflui

Remova o permit_mynetworks de smtpd_recipient_restrictions.
Se caso ainda não funcionar, coloque aqui a saída de:
postconf -n

Apaxe

#2
Citação de: jeflui online 23 de Fevereiro de 2010, 14:24
Remova o permit_mynetworks de smtpd_recipient_restrictions.
Se caso ainda não funcionar, coloque aqui a saída de:
postconf -n

Olá jeflui! Obrigado pela sua atenção.
1-) Removi o permit_mynetworks de smtpd_recipient_restrictions e reiniciei o Postfix mas não funcionou pois continua igual

2-) Não percebi a parte do postconf -n?? Usei este comando e agora não consigo fazer Relay no meu RelayHost!!!!??? Como reponho a situação?

3-) Envio-lhe a configuração do ficheiro main.cf do meu Postfix caso lhe sirva para me ajudar (ocultei a parte do myhostname e do mydestination):

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = xxx.xxxx.xxx
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = xxx.xxxx.xxx
relayhost = smtpa.netcabo.pt
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = mail/

smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes


# Esta configuracao controla o relay do servidor SMTP
# Utilizadores locais ou autenticados podem enviar emails para qualquer endereco
# Rejeita todos os outros
smtpd_recipient_restrictions = permit_sasl_authenticated,reject_unauth_destination


#
# Transport com relay autenticado
#

smtp_sasl_auth_enable = yes
smtp_sasl_security_options =  noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/saslpass

jeflui

Adicione:
smtpd_sender_restrictions = permit_sasl_authenticated,reject_sender_login_mismatch,reject_unauthenticated_sender_login_mismatch

Apaxe

Citação de: jeflui online 23 de Fevereiro de 2010, 16:15
Adicione:
smtpd_sender_restrictions = permit_sasl_authenticated,reject_sender_login_mismatch,reject_unauthenticated_sender_login_mismatch

jeflui, adicionei o que me disse mas também continua igual.
Fiz a edição do ficheiro main.cf com o editor vim e a indicação reject_unauthenticated_sender_login_mismatche em vez de ficar a verde como as restantes fica a cor preto. Será que está mal escrito?

Quando usei o comando postconf -n deixei de conseguir fazer Relay no meu RelayHost!!!!??? Como reponho a situação?

Mais uma vez obrigado

jeflui

Não tem o "e" no final reject_unauthenticated_sender_login_mismatch
postconf -n
É um comando que apenas exibe sua configuração atual que está sendo usada.

Apaxe

Citação de: jeflui online 23 de Fevereiro de 2010, 16:33
Não tem o "e" no final reject_unauthenticated_sender_login_mismatch
postconf -n
É um comando que apenas exibe sua configuração atual que está sendo usada.

Experimentei com e sem o "e"  (reject_unauthenticated_sender_login_mismatch) (reject_unauthenticated_sender_login_mismatche) e continua a cor preto em vez de verde. Pode rever?

Obrigado

jeflui

reject_unauthenticated_sender_login_mismatch
Enforces the reject_sender_login_mismatch restriction for unauthenticated clients only. This feature is available in Postfix version 2.1 and later.
Sua versão do postfix?


Apaxe

Citação de: jeflui online 23 de Fevereiro de 2010, 16:48
reject_unauthenticated_sender_login_mismatch
Enforces the reject_sender_login_mismatch restriction for unauthenticated clients only. This feature is available in Postfix version 2.1 and later.
Sua versão do postfix?



A minha versão é a 2.6.5-3

Apaxe

Problema Resolvido.

jeflui, obrigado pela sua atenção ao meu problema, mas o que estava a acontecer era um problema de má interpretação minha.

O cliente POP que eu estou a usar é o Microsoft Outlook e como ele tem a opção de testar as definições da conta, nos testes que fazia, sempre conseguia completar com sucesso o teste quer activa-se ou não a opção "O meu servidor de envio (SMTP) requer autenticação". Pelo que conclui a situação é mesmo assim quando o envio é através da rede local ou no envio de correio para um utilizador local. Ao enviar correio para um domínio exterior ai se eu não tiver activado a opção "O meu servidor de envio (SMTP) requer autenticação" recebo uma mensagem de falta de permissão de Relay (Relay acess denied). Então aqui residia também a minha confusão de ter perdido a possibilidade de fazer Relay no meu RelayHost.
Concluindo, as configurações que tenho no meu Postfix estão correctas as relação à autenticação no SMTP e não é necessário mais nada.

Obrigado e desculpe a confusão.