Servidor SMTP atualmente um relé aberto

1

Estou usando o Postfix (2.3.3) no CentOS (5.7). No momento, meu servidor parece estar agindo como um retransmissor aberto. Se eu especificar um login, ele funciona bem, tanto inseguro quanto com TLS (no entanto, o TLS me incomoda sobre o certificado inválido, mas acho que preciso apenas obter um certificado). Isso é o que eu quero, se um cliente não suportar o TLS e, em seguida, voltar para o inseguro.

No entanto, parece que, se eu não fornecer login, ele ainda envia e-mail.

Este é o meu arquivo de configuração main.cf:

command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix

myhostname = mail.valdron.ca
mydomain = valdron.ca
myorigin = $mydomain
mydestination = $myhostname, $mydomain

unknown_local_recipient_reject_code = 550

mynetworks = 127.0.0.0/8

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

debug_peer_level = 2

debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix

setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES

virtual_alias_maps = hash:/etc/postfix/virtual
sender_bcc_maps = hash:/etc/postfix/bcc
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
home_mailbox = Maildir/

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes

smtpd_tls_key_file = /etc/pki/tls/private/mail.valdron.ca.key
smtpd_tls_cert_file = /etc/pki/tls/certs/mail.valdron.ca.cert
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache
tls_random_source = dev:/dev/urandom
mailbox_size_limit = 0
notify_classes = bounce, delay, resource
smtpd_recipient_restrictions = reject_unauth_destination permit_sasl_authenticated permit_mynetworks check_relay_domains
smtpd_tls_security_level = may

Além disso, não relacionado à primeira pergunta, os usuários do iPhone recebem o seguinte erro (traduzido do francês): "O destinatário foi rejeitado pelo servidor porque a retransmissão não é permitida". Eu não tenho um iPhone para testar. É possível que o ISP bloqueie 25 servidores de correio, como muitos ISPs fazem?

    
por jValdron 18.01.2012 / 21:22

2 respostas

1

Tente alterar a linha smtpd_recipient_restrictions para esta:

smtpd_recipient_restrictions = reject_unauth_destination, permit_sasl_authenticated, permit_mynetworks, check_relay_domains

Eu tentei pesquisar a sintaxe, mas eu sempre uso, entre valores, a menos que eu coloque os valores em linhas separadas (caso em que os seguintes parâmetros têm que começar com um espaço em branco) como:

smtpd_recipient_restrictions = reject_unauth_destination
                               permit_sasl_authenticated
                               permit_mynetworks
                               check_relay_domains

Editar 1
Uma boa ferramenta para testar remotamente se um servidor é realmente um retransmissor aberto é benéfico para usar, apenas para evitar erros ou "falsos positivos". Este testa uma dúzia ou mais de maneiras de retransmitir e informará se algum deles funciona. Basta digitar seu endereço IP na caixa e clicar em "Testar":
link

    
por 18.01.2012 / 22:06
0

Para a segunda pergunta, você pode verificar se a porta está aberta usando nmap para verificar o host ou simplesmente telnet hostname 25 .

Se o telnet responder com algo ao nível de 220 mailserver_name ESMTP , a porta estará aberta.

    
por 18.01.2012 / 22:00