http://www.zago.eti.br/email/postfix-sasl_auth.txt FAQ, tutorias, indicações e dicas pra servidores postfix com relay autenticado utilizando o SASL. Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux Postfix SASL Howto http://www.postfix.org/SASL_README.html http://www.postfix.org/SASL_README.html#client_sasl veja outros tutoriais e FAQ relacionados a e-mail em: http://www.zago.eti.br/email/ veja um exemplo de uso do SASL no tutorial: http://www.zago.eti.br/email/servidor-interno-cl10.txt Procure pelo tópico: TOPICO SOBRE SASL, fazer relay no provedor. http://www.underlinux.com.br/modules.php?name=Forums&file=viewtopic&t=15218 Assunto: Postfix Autenticando com o SASL no conectiva 8 http://virtual.internett.com.br/postfix+auth/ Roteiro de como instalar e configurar o Postfix + AUTH com o CL8 (instalação padrão). ******************************************************** ******************************************************** De:  Joao Paulo Rojas Vidal Responder-a:  polilinux@yahoo.com.br Para:  Antonio F. Zago Cc:  linux-br@bazar2.conectiva.com.br Assunto:  [SOLUCAO] SMTP+AUTH - autenticando usuario de dominio virtual, como fazer? Data:  18 Jun 2004 10:33:15 -0300 Em Qui, 2004-06-10 às 19:45, Antonio F. Zago escreveu: > > > > Eu estou ficando louco pois nao posso entender como o evolution > > consegue fazer o que o postfix não faz no mesmo provedor, com as > > mesmas credenciais. > > > > Olá João > [CORTA] > Vou tentar alguns testes amanhã durante o dia ou no domingo e qualquer > coisa retorno. > [CORTA] > Avise se encontrar a solução..... > > Zago Zago, valeu pela atenção! Resolvi o problema e, conforme combinamos, faço um depoimento para constar na lista e no seu FAQ. ASSUNTO: Problemas na autenticação SASL_AUTH do Postfix em determinados provedores de SMTP **** SITUAÇÃO **** * Conexão ADSL com IP dinamico * Servidor Postfix interno encarregado das entrega locais e fazendo relay no SMTP do provedor para mensagens de quaisquer dominios nao locais * baixa de mensagens do POP3 do provedor via crontab+fetchmail * Metodo de autenticacao no provedor: SMTP_AUTH, utilizando o SASL_AUTH * dominio próprio, inclusive nos endereços de email ***dados ficticios para demonstração didatica ****** * dominio proprio: meudominio.com.br * dominio do provedor: oprovedor.com.br * servidor SMTP do provedor: mail.meudominio.com.br, que é um cname para mail.oprovedor.com.br que aponta para o IP 200.200.200.200 **** O QUE DIZEM OS FAQs E HOW-TOs **** (trechos do "servidor-interno-cl10.txt do site do Zago) Pra fazer relay no provedor, precisa configurar o main.cf pra utilizar os SASL, apos a instalacao e configuracao do SASL, edite o /etc/postfix/main.cf e acrescente no final deste arquivo as seguintes linhas: # Autenticacao smtp smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd Criar o arquivo de senhas: echo "mail.meudominio.com.br usuario:suasenha" > \ /etc/postfix/sasl_passwd OBS. Na configuracao do SASL o dominio deve ser o mesmo utilizado no item (relayhost = mail.meudominio.com.br) do /etc/postfix/main.cf, portanto utilize o mesmo dominio nas duas configuracoes, nos dois arquivos, tanto no: /etc/postfix/sasl_passwd e /etc/postfix/main.cf **** O PROBLEMA **** Não autenticava de jeito nenhum com o mail.meudominio.com.br nem com mail.meuprovedor.com.br no relay_host do main.cf. ***** A SOLUÇÃO ********** Parte 1: ativei os logs no maximo no /etc/postfix/main.cf acrescentar as seguintes linhas debug_peer_level = 9 debug_peer_list = 200.200.200.200 o primeiro parametro aumenta o nivel do log no maximo quando a mensagem for destinada ou vier enviada do IP 200.200.200.200. Isto fará com que inclusive a senha utilizada apareça no log, qual credencial foi trocada com o SMTP do provedor e mais uma serie de informações uteis. Parte 2: analisando o /var/log/maillog pude observar que o meu postfix recebia a seguinte string do provedor Jun 15 10:41:09 mailhost postfix/smtp[1850]: 228824073A: to=, relay=mail.meudominio.com.br[200.200.200.200], delay=12, status=bounced (host mail.oprovedor.com.br[200.200.200.200] said: 553 sorry, that domain isn't allowed to be relayed thru this MTA (#5.7.1) (in reply to RCPT TO command)) Notem que quando o dominio é externo ele tenta entregar para mail.meudominio.com.br, informação que ele pegou no "relay_host" do main.cf, mas a resposta vem do mail.oprovedor.com.br que é o nome verdadeiro da maquina. Nos detalhes do log (que nao tenho agora para citar) pude ver que ele buscava no arquivo sasl_passwd.db as credenciais para o dominio OPROVEDOR.COM.BR e não MEUDOMINIO.COM.BR. Então, a solução que encontrei foi, contrariando todos os FAQs e HOW-TOs, alterar o sasl_passwd echo "mail.oprovedor.com.br usuario:suasenha" > \ /etc/postfix/sasl_passwd que fazia com que ele encontrasse as credenciais necessárias. ************ RECOMENDAÇÕES FINAIS ************************** Citei apenas o tutorial do Zago, simplesmente porque ele é o indicado pela lista. A informação de que devemos repetir no sasl_passwd o mesmo dominio do relay_host (main.cf) consta em todos os tutoriais e how-tos e inclusive no site do postfix. O debug_peer_list e o debug_peer_level são ferramentas incriveis quando temos problemas. Devemos retira-los do /etc/postfix/main.cf depois de localizado o problema e o solucionado. Cada vez que alteramos o sasl_passwd devemos recriar o sasl_passwd.db através do comando: # postmap hash:sasl_passwd (sem o # inicial) Cada vez que alteramos o main.cf devemos reler as configurações do postfix: (caso seja um postfix instalado a partir do rpm da conectiva) # service postfix reload (caso voce tenha compilado o fonte e colocado o binario dele no path) # postfix reload O meu problema foi que quando hospedamos nosso dominio proprio no oprovedor.com.br ele criou um cname mail.meudominio.com.br que apontava para mail.oprovedor.com.br. Esta situação fez com que a maquina SMTP dele respondesse pelos dois dominios, porem sempre com o nome verdadeiro dela (mail.oprovedor.com.br), que não é conhecido da minha lista de dominios constantes do sasl_passwd. A alteração deste dado fez tudo funcionar. Desculpem o tamanho da mensagem, mas prometi detalhar o maximo o problema e a solução para o Zago colocar no FAQ dele. Valeu Zago pela atenção e ajuda, William da Rocha Lima pela indicação do tutorial e Thiago Macieira pelo palpite de pesquisar a autenticação metodo BASIC, que me fez descobrir o jeito de detalhar o log. []s Joao ******************************************************** De:  Joao Paulo Rojas Vidal Responder-a:  polilinux@yahoo.com.br Para:  linux-br@bazar2.conectiva.com.br Assunto:  (linux-br)[Fwd: (ERA) Log completo do Kmail [ SOLUCAO para log no postfix]] Data:  18 Jun 2004 09:47:06 -0300 Em Qui, 2004-06-17 às 13:08, Thiago Macieira escreveu: > Joao Paulo Rojas Vidal wrote: > > Gostaria de fazer um log do trafego entre meu kmail e o servidor de > > smtp do meu provedor, no momento do envio da mensagem. É que estou > > interessado em saber como ele faz a autenticação, que strings envia e > > recebe, etc. > > Ele não faz isso normalmente. Você pode tentar as seguintes opções: > > 1) ativar o modo debug no KMail e nos ioslaves (kio_smtp principalmente) > para ver o que ele grava no ~/.xsession-errors > > 2) use o tcpdump ou o ethereal para capturar o tráfego > - -- >   Thiago Macieira  -  Registered Linux user #65028 Thiago, muito obrigado! Voce me ajudou indiretamente. Explico: quando fui buscar mais informações sobre o método de autenticação BASIC, que voce citou, no site do postfix www.postfix.org, não encontrei. Mas encontrei o parametro "debug_peer_level", que estabelece o nível de log para os dominios, IPs ou máquinas que estiverem listados no parametro "debug_peer_list". (parametros colocados no /etc/postfix/main.cf) Resolvi testar e coloquei o numero 9 no nivel  (nao sei quais os niveis possiveis entao testei logo com esse) e na lista inclui o IP do meu servidor de SMTP - e mágica: toda a conversa, com strigs de autenticação, senha, tradução para a base64 e tudo mais, estava no meu /var/log/maillog. A partir do estudo desse log eu pude corrigir a falha na autenticação que meu postfix apresentava e o kmail não. Daqui a minutos vou escrever uma mensagem com a solução que encontrei para poder autenticar no meu provedor SMTP usando meu o postfix+sasl_auth. Ah, Thiago e todo mundo, desculpe a mensagem de ontem com este mesmo cabeçalho e só a frase "Entenderam?" no final. É que eu tinha escrito esta resposta e na hora de enviar acabei dando um "control+x" no conteúdo e só ficou a frase final. Entenderam? Valeu, Thiago Macieira e Zago (os dois que me deram ajuda). Abração! Joao ******************************************************** De:  Thiago Macieira Para:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Enviando e-mails automaticamente. Data:  Tue, 3 Aug 2004 21:57:17 -0300 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Brunhara wrote: >Aqui ele usar sempre o smtp da propria maquina, como ela >esta em um circuito velox tem alguns provedores recusando >se eu coloco meu postfix para fazer o relay para o provedor >as mesagens demoram a chegar. Sim, claro. No /etc/postfix/main.cf, você coloca: relayhost = smtp.meuprovedor.com Caso você queira enviar esse email, em específico, diretamente, não use o relayhost, mas coloque no /etc/postfix/main.cf: transport_maps = hash:/etc/postfix/transport E no /etc/postfix/transport: meudominio.com.br               : *                                               smtp:[smtp.meuprovedor.com.br] Isso fará com que todas as mensagens @meudominio.com.br sejam enviadas diretamente para o MX desse domínio, enquanto que o resto é mandado através do provedor. - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info     ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint: ******************************************************** De:  Andreas Responder-a:  Discussão relacionada ao Conectiva Linux Para:  Discussão relacionada ao Conectiva Linux Assunto:  Re: [cl] Autenticacao no Postfix Data:  Tue, 26 Oct 2004 18:52:41 -0300 On Tue, Oct 26, 2004 at 06:46:48PM -0300, Jose Paulo Batista Silva wrote: > Olá pessoal, > > alguém tem uma receita de bolo para ativar autenticação no postfix do > CL10? > > Eu peguei alguns Howtos no postfix.org mas quando chega na parte de > configurar o /usr/local/lib/sasl/smtpd.conf, este arquivo não está na > distribuição (pelo menos não neste local e nome). É /usr/lib/sasl2/smtpd.conf > Eu entendi a parte do main.cf, mas acho que estou me perdendo na parte Exemplo para /usr/lib/sasl2/smtpd.conf: pwcheck_method: saslauthd Depois configure /etc/sysconfig/saslauthd para usar o método adequado (provavelmente shadow vai ser o mais simples, pois utiliza os usuários do /etc/shadow) e inicie o serviço saslauthd. Ainda tem a parte do main.cf, claro. _______________________________________________ CL mailing list CL@distro2.conectiva.com.br https://distro2.conectiva.com.br/mailman/listinfo/cl ******************************************************** De: Cassio Luiz Para: Sergio A. Gutheil - CPD Ferrabraz Cc: Linux-BR (E-mail) Assunto: Re: (linux-br)SMTP+AUTH Postfix Data: Wed, 10 Nov 2004 17:42:57 -0200 Sergio A. Gutheil - CPD Ferrabraz escreveu: >Alguem já fez autenticação via passwd com o postfix no CL 10 to tentando >mais não funciona, toda ajuda é bem vinda. > > > > > Simples, apenas instale os pacotes: sasl2-plug-plain sasl2-plug-digestmd5 sasl2-programs sasl2-plug-anonymous sasl2-plug-crammd5 sasl2 sasl2-plug-login colocar essas linhas no final do arquivo main.cf do postfix. # Autenticacao do smtp smtpd_sasl_local_domain = $myhostname smtpd_sasl_application_name = smtpd smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated, Editar o arquivo: /usr/lib/sasl2/smtpd.conf Inserir as seguintes linhas. pwcheck_method: saslauthd mech_list: PLAIN LOGIN log_level: 3 Executar os comandos: service saslauthd start chkconfig --level 345 saslauthd on service postfix stop service postfix start chkconfig --level 345 postfix on -- Cássio Luiz Bureau de Software Livre Fone: +55 61 325-3620 E-mail: cassiol@ios.com.br Web : www.ios.com.br Linux Registered User #354513 - http://counter.li.org ******************************************************** De: Guilherme B. Araújo Para: linux-br@bazar2.conectiva.com.br Assunto: (linux-br)ERRO Relay usando yahoo.com.br Data: Thu, 5 May 2005 19:27:43 -0300 --Intrudução-- DÚVIDA: Estou com problemas para configurar meu relay no POSTFIX usando o smtp.mail.yahoo.com.br p/ entregar minhas msgs. --Desenvolvimento-- Tenho um servidor em uma máquina bastante lenta e gostaria que o yahoo entragasse as mensagens de email para mim. Segui passo a passo a configuração do relay mas está ocorrendo um erro de autenticação requerida para enviar msg. Obs: Funciona perfeitamente para outros host esse erro acontecendo comigo so no yahoo Minha configurações são as seguintes. --main.cf-- ... transport_maps = hash:/etc/postfix/transport smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous --/etc/postfix/transport-- * smtp:[smtp.mail.yahoo.com.br] --/etc/postfix/sasl_passwd-- smtp.mail.yahoo.com.br usuario@yahoo.com.br :senha #postmap transport ; postmap sasl_passwd #postfix reload ERRO May ... =, relay=smtp-v2.mail.vip.sc5.yahoo.com[216.136.173.122], delay=1, status=bounced (host smtp-v2.mail.vip.sc5.yahoo.com[216.136.173.122] said: 530 authentication required - for help go to http://help.yahoo.com/help/us/mail/pop/pop-11.html) Isso esta causando porque o yahoo alem da autenticação de login ele cobra autenticação para enviar mensagem. Alguem sabe como resolvo esse problema no POSTFIX? Desde já muito obrigado se puder colaborar comigo. Atenciosamente Guilherme Braga Araújo ******************************************************** De: Andreas Hasenack Para: linux-br@bazar2.conectiva.com.br Assunto: Re: (linux-br) Postfix com autenticação SASL? Data: Wed, 8 Jun 2005 20:12:20 -0300 Em Quarta 08 Junho 2005 16:47, Paulo escreveu: > No arquivo sasl_passwd está da seguinte forma: > 200.201.202.203 > meuusuario@meudominio.com.br:minhasenha > > O que pode estar faltando? Já li tudo quanto é > tutorial, procurei no google e não consegui resolver o > problema. Veja se você tem o plugin SASL PLAIN em /usr/lib/sasl2 (deve ser algo como libplain). ******************************************************** De: Paulo Para: Antonio F. Zago Cc: Conectiva Linux-br Assunto: Re: (linux-br) Postfix com autenticação SASL? [Solução] Data: Thu, 9 Jun 2005 06:04:27 -0700 (PDT) Olá Zago, Obrigado pela ajuda. Realmente alterei o campo relayhost e o endereço de stmp do arquivo transport para stmp.meudominio.com.br ao invés do endereço IP e funcionou. Na verdade até desabilitei o relayhost, já que prefiro encaminhar diretamente o e-mail. Só faço relay através do arquivo transport para um único cliente que tem domínio hospedado no vivax.com.br. Neste caso, o e-mail é encaminhado para o smtp da Locaweb, pois quando tento entregar diretamente na Vivax, recebo um e-mail de erro gerado pelo sistema SPF (spf.pobox.com)da Vivax. Bom, mais um problema resolvido. Até mais. --- "Antonio F. Zago" wrote: > > > > > Meu Main.cf está com as seguintes linhas de > > configuração: > > relayhost = 200.201.202.203 > > #AUTENTICAÇÃO DO SMTP > > smtp_sasl_auth_enable = yes > > smtp_sasl_password_maps > =hash:/etc/postfix/sasl_passwd > > smtp_sasl_security_options = > > > > > > No arquivo sasl_passwd está da seguinte forma: > > 200.201.202.203 > > meuusuario@meudominio.com.br:minhasenha > > Paulo, > > Tente usar o dominio em lugar do IP, não sei > explicar em detalhes, acho > que a localweb usa varias maquinas, algo como um > data center e o > redirecionamento é feito pelo dominio, quanto testei > e funcionou foi com > este formato: > > smtp.csr.com.br zago@csr.com.br:minhasenha > > Lembre que após alterações precisa recriar o banco > de dados de senhas, > tem dicas neste tutorial: > > http://www.zago.eti.br/email/servidor-interno-cl10.txt > > procure pelo tópico sobre sasl que tem todos os > comandos e mais dicas... > > Depois mande a solução pra lista, acrescente > [solução] no > assunto/subject. ******************************************************** ********************************************************