Os nossos serviços, honorários e produtos estão compatíveis com qualquer porte de empresa. O nosso cliente principal possui uma conexão Internet e uma rede local, ou é, ou pretende montar um provedor de acesso Internet. O nosso objetivo principal é encontrar a solução com melhor relação custo/beneficio para o parceiro. Consulte-nos e pede um orçamento sem compromisso. |
Como configurar DKIM e Domainkeys |
![]() Este meconismo é um pouco dificil de configurar porque existem muitas informações na Internet, quais eventualmente estão misturadas (domainkey e DKIM) ou os documentos originais RTF interpretados de forma errada ou baseadas em informações ou documentos antigos. Fato é que Domainkeys é um mecanismos antigo, é o original desenvolvido pelo Yahoo, DKIM é a evolução mais nova e em constante desenvolvimento. Ocorre que, ainda estão trabalhando na forma de avaliar e usar a chave. Dificulta que poucos provedores de serviço usam esse método e ainda menos colaboram com resultados, experiências e sugestões. Esperamos que este artigo esclarece um pouco o assunto, deixa ele mais claro e ajuda a usar uma correta configuração no Brasil que, no final, ajuda a diminuir a quantidade de SPAM que enche nossas (e as suas!) caixas postais. Resumo explicativo da operação 1. Básico - Email em transito Sempre existe um MTA, Mail Transfer Agent, que é o servidor de envio e recebimento de mensagens. É o nome que o usuário configura no seu programa de email como servidor de envio, de praxe algo como smtp.dominio.com.br. Este servidor (máquina) está localizado nas instalações do provedor de acesso. MTA Origem <----> MTA DestinoO pequeno diagrama de cima demonstra o que ocorre. As mensagens estão sendo enviados de um servidor para o outro, o usuário ou a máquina do dono do email Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo não tem conexão direto como a caixa postal do destinatário final, por exemplo nome@outro_dominio.com.br Dessa forma, dependendo de quem envia, qualquer MTA num provedor de acesso pode ser remetente ou destinatário. 2. Problema - Origem verdadeira ou não? É realmente fácil configurar no programa de email um endereço de remetente qualquer. Outras formas de falsificar a origem existem e com emails falsos o interessado pode obter dados ou simplesmente provocar reações não desejados. O sistema DKIM é destinado a combate anti-spam e anti-fraude. Com o uso do mecanismo DKIM os provedores podem reduzir a qauntidade de SPAM e as tentativas de roubo ou estelionato na Internet. 3. Identificar a Origem O dono do MTA configura o sistema dele para inserir uma chave encriptada e única em cada mensagem de email autentica que seus usuários enviam através dele. Junto a chave ele publica alguns parametros e a política de identificação o que permite ao servidor de destino verificar a chave e tomar medidas de aceitar ou não essa mensagem. 4. Efeito e Política Caso as medidas estão corretamente implementadas uma relação de confiança pode ser estabelecida entre o montante de MTAs na Internet, onde de um lado o remetente publica uma política de assinatura rigorosa, ou seja, assina todas as mensagens suas - e - de outro lado o destinatário interpreta rigorosamente essa política e aplica-la, ou seja, rejeita ou descarta qualquer mensagem sem a correta assinatura. 5. Quem pode? Qualquer pessoa que é detentor (dono) de um domínio internet pode usar essa prática. As vezes precisa a ajuda do provedor de serviços onde o domínio está hospedado. Requisitos do mecanismo 1. Um domínio Internet devidamente cadastrado no registro.brConfiguração do Sistema MTA No site DKIM.ORG encontra detalhes e referencias específicos para o seu sistema operacional e programa MTA, assim como implemetar no seu sistema. Para a maioria de sistemas de envio de email (MTA), os mais comuns Sendmail, Postfix, Qmail e outros, existem boas instruções e how-to que podem assistir perfeitamente na instalação e configuração do Milter. Muitas vezes a configuração padrão insere corretamente as chaves nas mensagens, um empreendimento bastante fácil. A dificuldade encontramos sempre na correta divulgação das chaves com os devidos parametros e especialmente da política e como configurar o serviço DNS. Configuração DNS, Publicação DKIM Para poder publicar uma chave precisa gerar essa. A ferramenta para faze-lo é o comando openssl. Precisamos gerar uma chave RSA encriptada com algoritmo de 1024 bits. Existem documentos na Internet indicando 256 ou 512 bits mas essas chaves, a pesar de poderem estar aceitadas no destinatário, não são corretas. O comando é assim: openssl genrsa -out rsa.private 1024 Gravamos assim a chave num arquivo rsa.private para ser usada depois. Caso quer usar ou ver na tela execute o comando sem ou abre o arquivo. A chave privada deve estar num lugar seguro no servidor MTA. Crie um diretório, por exemplo /etc/mail/dkim. Limite o acesso a este diretório com chown root:milter_user_group e depois com chmod -R 640 milter_user_group seria o grupo do usuário (GUID) que roda o dkim-milter. Essa chave privativa está sendo usada pelo programa dkim-milter para gerar a chave de assinatura. A chave privativa nunca está sendo publicada e deve ser mantido em segredo. Anunciamos com o serviço DNS a chave pública (RSA Pulic Key) e essa geramos da seguinte forma: openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM Gravamos assim outro arquivo que contém a chave pública, rsa.public, e essa pode ser divulgada sem problema alguma or ser destinado exatamente ara essa finalidade. No programa dkim-milter indicamos na configuraçao qual arquivo usar, seguindo neste exemplo, o caminho /etc/mail/dkim/rsa.private como path para a chave privativa. Veja no manual desse programa como fazer A chave pública, no arquivo rsa.public, tem um contedo semelhante a: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwSNEaXsdi SpUAqbuMskkYHYDGrQAMzIVxWOPLvkKWS8Dx6qCkUvY/sHD5 kctG1uNks5ui7shOoNFjrmILlfZ+u9lnhwPY9EksEiGPhVPj Cv2zJggBQG7fdPI/kZykV35kgnn2Dm0TodNFbItV/hVQ3bX4 kSneD8kJ5YVWLZlVewIDAQAB -----END PUBLIC KEY----- onde a chave é entre as linhas que começam com ---- Essa chave usamos no DNS. Procure não confundir as duas, somente a chave rsa.public funciona e somente essa deve ser usada. A entrada no seu DNS tem a seguinte sintaxe: nome._domainkey IN TXT "p=rsa.public;" E é aqui onde começa a confusão com diversas informações que voce encontra na Internet. Observação: As informações a seguir são corretas e baseam-se no nosso entendimento e data base de Setembro de 2009. Depende o funcionamento ainda na correta configuração do seu programa dkim-milter e a correta interpretação no destino. Mesmo que não podemos assumir garantia, confirmamos que a configuração a seguir funciona. Em caso de dúvida consulte-nós. nome é um nome, pode definir livremente o que quiser. Serve apenas para diferenciar caso usa chaves diferentes.A confusão que falei encima ocorre devido a instruções incorretas de usar outros parametros entre as aspas. É confuso, mesmo para administradores experientes, porque existem aqui pequenas diferenças entre DK e DKIM mas o importante é que os parametros adicionais estão sendo inseridos pelo seu programa dkim-milter no cabeçalho da mensagem. O sistema DNS serve somente para divulgar a chave pública. Existem apenas dois parametros adicionais que podem ser usados aqui. O paramtro k= pode ser usado para indicar um algoritmo diferente, quando não usa RSA, enquanto usa RSA que é o padrão atualmente, não precisa inserir. O segundo parametro seria t= e a única opção que pode ser usada é t=y e significa que este domínio está testando o sistema, sugerindo assim ao destinatário de tomar nenhuma ação de filtragem rejeição ou descarte. É uma opção válida durante os primeiros dias de uso do sistema para conferir e testar mesmo. A entrada completa de exemplo poderia ser assim: nome._domainkey IN TXT "t=y; p=MIGfMA0GCSqG...;" Configurado assim, seu servidor DNS divulga corretamente a chave para outros MTAs poderem consulta-la. Dentro das configurações do seu programa dkim-milter deve definir o nome, chama-se SELECTOR (selecionador) e é necessário. Este nome pode ser qualquer, por exemplo dkim ou nome do seu cachorrinho, tanto faz, apenas deve existir e deve ter um ponto assim nome._domainkey. Lembre, _domainkey é uma palavra chave e deve ser escrita exatamente assim. Lembre! Não oriente-se e não use qualquer outra opção nessa linha do DNS sob o perigo que a consulta feita por outro MTA falha ou produz resultados incorretos ou não desejados. Opcional Caso quer usar DK e DKIM junto, que é válido, publique a mesma linha duas vezes. Use apenas u, SELECTOR (nome) diferente. Mais tarde verá o porque, use por exemplo dk._domainkey .... e dkim._domainkey .... Agora temos um programa, por exemplo dkim-milter que faz a inserção na mensagem de email e o sistema DNS que publica a nossa chave para consulta. Com estes dados o sistema remoto, aquele que recebe uma mensagem desse domínio e pode marcar ela como suspeita caso a chave está incorreta, não coincide com a publicação pelo DNS ou falta. Fica depois por critério do destinatário, o usuário final, o que fazer com essa mensagem. Essa As informações na Internet novamente são confusas ou incompletas. Existem aparentemente três políticas a serem aplicadas. Princípio delas é indicar como ocorre a assinatura dos emails e uma sugestão como proceder no destino com essas mensagens. Definem-se as seguintes opções: Em SSP e ADSP < > A. unknown - o domínio eventualmente assina ou não a sua mensagens.Os nomes das políticas SSP e ADSP aparentemente definem o mesmo, tanto que possuem as mesmas opções, mas SSP é relacionado ao sistema DK e ADSP ao sistema DKIM. São porém palavras chaves e devem ser usadas exatamente assim, _ssp ou _adsp como prefixo para _domainkey. A configuração dessas políticas no DNS deve ser feito assim: _ssp._domainkey IN TXT "dkim=all"Já sabemos da confusão e como são definições únicas sugero o uso das duas com a mesma política, all ou discardable, mesmo que usa somente DK ou só DKIM. Não causa dano nenhum e não provoca consultas com erro. Em política geral o=~ mensagens desse domínio podem aparecer sem assinturaEstes parametros pode ser divulgados numa linha de política de assinatura geral que define-se somente com a palavra _domainkey numa linha DNS, sintaxe é: _domainkey IN TXT "o=-; t=y; r= Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo ;" Bom, agora já tratamos de todo, espero que ficou compreensível. Quem tiver dúvidas pode entrar em contato e quem sabe se consigo ajudar. Veja no final mais um exemplo completo de como ficariam as linhas no DNS: _ssp._domainkey IN TXT "dkim=discardable" _adsp._domainkey IN TXT "dkim=discardable" _domainkey IN TXT "o=-; t=y; r= Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo ;" dk._domainkey IN TXT "t=y; p=MIGfMA0GCSq...ewIDAQAB;" dkim._domainkey IN TXT "t=y; p=MIGfMA0GCSq...ewIDAQAB;" Uma vez concluídos os seus testes pode remover os parametros t=y; para que as suas configurações realmente conseguem sucesso. Não esqueça adaptar também no seu programa dkim-milter que aceita as políticas SSP e ADSP sugeridas. Finalmente acrescento o seguinte, não fiquem com t=y ou com políticas moles. De certa forma então não valeu a pena de fazer todo este trabalho. Implementam o sistema, testem ele e sejam rigorosos. Só assim podemos ganhar o combate anti-spam e aos poucos acabar com a quantidade de fraudes. Lembrem desse detalhe. existe uma proposta de lei que quer responsabilizar o provedor de acesso internet onde o invasor estava conectado quando invadiu a conta de alguém. Para não pagar o prejuízo seja firma e não atende os pedidos dos spammers (sejam eles caseiros o sujeitos mesmos), feche o seu sistema e use o que tiver para proteger o seu investimento e as caixas postais do usuários honestos. Cas gostaria ajudar na divulgação dessa práticas, linke este artigo no seu website, no seu blog ou onde quiser. Pegue o endereço completo no seu navegador. - ![]()
|
< Anterior | Próximo > |
---|
|