Eu uso Debian 7.x amd64 + Exim 4.82 em um servidor dedicado, eu também tenho um servidor SMTP em funcionamento em uma hospedagem compartilhada.
Eu gostaria de configurar um SMTP no meu VPS que terá alguns scripts / filtros de entrega especiais (por exemplo, enviar uma cópia de todos os e-mails de saída para algumas contas)
Atualmente, a situação no VPS é a seguinte:
- envia e-mail local (entrada) via host inteligente sem qualquer autenticação
- envia todo o e-mail de saída via host inteligente sem qualquer autenticação < == Comportamento indesejado
- se o cliente SMTP tiver o tipo de autenticação definido como "Senha normal", ele solicitará as credenciais e entregará o email corretamente
- todos os casos acima se comportam da mesma maneira com ou sem a criptografia TLS ativada no lado do cliente
/etc/exim4/update-exim4.conf.conf
dc_eximconfig_configtype='smarthost'
dc_other_hostnames='myhost.mycompany.com; localhost'
dc_local_interfaces='127.0.0.1; xxx.xxx.xxx.xxx' <=== public IPv4 address
dc_readhost='mycompany.com'
dc_relay_domains='*'
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.external.com'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
/etc/exim4/passwd.client
content:
*:smtp.external.com:secret
Eu gerou certificados auto-assinados e habilitei TLS /etc/exim4/exim4.conf.localmacros
MAIN_TLS_ENABLE = 1
Eu tentei usar plan_text e plain_login, agora estou usando saslauthd (tenho certeza que funciona, porque eu já testei com o anterior com o postfix).
exim -bP authenticator_list
output:
plain_saslauthd_server
login_saslauthd_server
cram_md5
plain
login
telnet myhost.mycompany.com 25
output:
EHLO test
250-myhost.mycompany.com Hello xxxxxxxxx [xxx.xxx.xxx.xxx]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-STARTTLS
250 HELP
...
AUTH PLAIN <random string>
503 AUTH command used when not advertised
Eu assumo que é porque nenhum autenticador é anunciado (não existe uma linha 250-AUTH ... na resposta EHLO), mas por padrão TODOS os autenticadores padrão têm essa condição
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_in_cipher}{}{}{*}}
.endif
Suponho que tenho que adicionar AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
ao meu arquivo /etc/exim4/exim4.conf.localmacros
para obter a condição server_advertise_condition processada, mas ela não será considerada de qualquer maneira se o cliente não tiver a criptografia TLS ativada (sou eu certo?).
Então, estou um pouco confuso sobre o que fazer agora.
Quero que minha configuração funcione da seguinte maneira:
- solicitações fetchmail (mail) locais são roteadas localmente sem qualquer
autenticação (ou seja, tarefas agendadas)
- solicitações remotas (simples ou criptografadas, não importa) devem funcionar de qualquer
destino (laptops de meus colegas) para qualquer outro destino (nossos clientes) roteamento
através de um SMTP externo (smarthost) e DEVE exigir autenticação do usuário, se necessário
ele rejeitará / negará a solicitação