Groups | Search | Server Info | Login | Register


Groups > pt.comp.programacao > #344

Re: como montar um servidor de e-mail nos padrões de hoje

From Patricia Ferreira <pferreira@example.com>
Newsgroups pt.comp.programacao
Subject Re: como montar um servidor de e-mail nos padrões de hoje
Date 2024-11-11 11:22 -0300
Organization A noiseless patient Spider
Message-ID <87cyj1rgtk.fsf@example.com> (permalink)
References (10 earlier) <87sesohzg9.fsf@example.com> <87ed3kwp6z.fsf@example.com> <87v7wwozkp.fsf@ic.ufrj.br> <871pzjxdut.fsf@example.com> <87r07jvyp0.fsf@example.com>

Show all headers | View raw


Patricia Ferreira <pferreira@example.com> writes:

> Patricia Ferreira <pferreira@example.com> writes:
>
>> Patricia Ferreira <pferreira@example.com> writes:
>>
>> [...]
>>
>>>> Vou precisar recompilar o sendmail pra habilitar autenticação de
>>>> clientes: o sendmail precompilado do FreeBSD não vem com suporta a
>>>> autenticação.  Nem com AUTH PLAIN nem qualquer outro mecanismo.
>>>
>>> Cerqueira, estou com um sendmail perfeitamente operacional.
>>> Retransmissão de e-mail completamente fechada exceto pra usuários com
>>> senha devidamente cadastrada.  Métodos de autenticação DIGEST-MD5 e
>>> CRAM-MD5.  STARTTLS em perfeita operação também.  Servidor POP3 em
>>> operação também e exigindo TLS.  Mas sem DKIM.  Próxima tarefa então vai
>>> ser aderir ao DKIM.  Mais notícias em breve.
>>
>> Cerqueira, tenho DKIM em operação.  Mas tem coisas a serem
>> investigadas.  Por exemplo, agora num primeiro teste, a mensagem é
>> realmente enviada e encontro uma assinatura nela:
>>
>> --8<-------------------------------------------------------->8---
>> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=my.domain; s=default; 
>>   t=1731254856; bh=ecGWgWCJeWxJFeM0urOVWP+KOlqqvsQYKOpYUP8nk7I=; 
>>   h=Date:To:From:Subject; 
>>   b=Hg9ThE+cWPxSdOxilB/8JDzVG6PqWfvVg4Kjz1hdcC7iUoh6BVvqW2crkd2z0xsWb
>>   NK7y07dwf+y3+0rJOg4XIXH4+Csl+AYhYFa9kZEqpNH3oIrBjc2NSmkjf/84KZ8HWW
>>   pPVkxQtkY1TL4lu9hBokdgDJNoXO/gcBuN96Rk7Y=
>> --8<-------------------------------------------------------->8---
>>
>> Por outro lado, mx.google.com anota o seguinte cabeçalho:
>>
>> --8<-------------------------------------------------------->8---
>> Authentication-Results: mx.google.com;
>>        dkim=permerror (no key for signature) header.i=@my.domain header.s=default header.b=Hg9ThE+c;
>>        spf=pass (google.com: domain of me@my.domain designates 1.2.3.4 as permitted sender) smtp.mailfrom=me@my.domain
>> --8<-------------------------------------------------------->8---
>>
>> Note que troquei meu domínio verdadeiro por my.domain e meu usuário por
>> me, bem como meu endereço IP por 1.2.3.4.  Somos tão sensíveis na
>> Internet de hoje. :)
>>
>> Note que minha chave está cadastrada na minha zona de DNS:
>>
>> --8<-------------------------------------------------------->8---
>> %host -t txt my.domain
>> my.domain descriptive text "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9yjHh4+28QGxMOXOVIxQM5kpESx1ILsdtVRwqwVEmnNozOgPdx8N42iHPlpvYALsDdHxX/sY6AYurdZCgtRSlnieoCFu2eeA7KczpO8o8evpqzUqEUnxH7YIFbi4ZqP+FMocNal4WCPWr5XLdsyQ7mQacVb3L/AxUOIyUvclPnQIDAQAB"
>> my.domain descriptive text "v=spf1 a mx ip4:1.2.3.4 -all"
>> --8<-------------------------------------------------------->8---
>
> Cadastrei-a incorretamente.  A chave pública precisa estar em 
>
>   default._domainkey.my.domain.
>
> Ajustei e learndmarc.com confirma a instalação.  O mx.google.com
> continua a dizer que não encontra a chave pública do filtro dkim, mas
> isso pode ser caching the DNS em mx.google.com.  Agora é esperar.  Ele
> deveria usar o cache por no máximo 1 minuto, já que esse é o tempo de
> caching que tenho configurado na minha zona, mas não há mais nada a
> fazer senão esperar.  Valeu!

Era caching mesmo.

Aproveitei o momento SMTP da minha vida e configurei DMARC também.
Comecei com a política mais agressiva possível:

# host -t txt _dmarc.my.domain
_dmarc.my.domain descriptive text "v=DMARC1; p=reject; aspf=s; adkim=s; rua=mailto:postmaster@my.domain;"

Instalei o OpenDMARC.

Não parece ainda que tudo está certo.  Embora mx.google.com confirme que
tudo está certo e aprove meus e-mails pra lá, parece que meu próprio
sendmail não aprova minhas próprias mensagens.  Eis uns cabeçalhos
recebidos por mx.google.com de uma mensagem minha enviada pra lá.

--8<-------------------------------------------------------->8---
Delivered-To: me@remote.host
Received: by 2002:a17:505:5392:b0:1be7:a527:160d with SMTP id ma18csp4442001njb;
        Mon, 11 Nov 2024 05:14:27 -0800 (PST)
X-Google-Smtp-Source: [...]
X-Received: by 2002:a05:6808:1520:b0:3e6:63b5:f248 with SMTP id [...];
        Mon, 11 Nov 2024 05:14:26 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1731330866; cv=none;
        d=google.com; s=arc-20240605;
        b=[...]
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=message-id:subject:from:to:date:dkim-signature;
        bh=[...];
        fh=[...];
        b=[...];
        dara=google.com
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@my.domain header.s=default header.b=hlrKpCsb;
       spf=pass (google.com: domain of me@my.domain designates 1.2.3.4 as permitted sender) smtp.mailfrom=me@my.domain;
       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=my.domain
Return-Path: <me@my.domain>
Received: from my.domain (mx.my.domain. [1.2.3.4])
        by mx.google.com with ESMTPS id [...]
        for <me@remote.host>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Mon, 11 Nov 2024 05:14:26 -0800 (PST)
Received-SPF: pass (google.com: domain of me@my.domain designates 1.2.3.4 as permitted sender) client-ip=1.2.3.4;
Authentication-Results: mx.google.com;
       dkim=pass header.i=@my.domain header.s=default header.b=hlrKpCsb;
       spf=pass (google.com: domain of me@my.domain designates 1.2.3.4 as permitted sender) smtp.mailfrom=me@my.domain;
       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=my.domain
Received: from my.domain (mx.my.domain [1.2.3.4])
	(authenticated bits=0)
	by my.domain (8.18.1/8.18.1) with ESMTPA id 4ABDEK9W052215
	for <me@remote.host>; Mon, 11 Nov 2024 10:14:21 -0300 (-03)
	(envelope-from me@my.domain)
Authentication-Results: my.domain; dmarc=fail (p=reject dis=none) header.from=my.domain
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=my.domain;
	s=default; t=1731330861;
	bh=[...];
	h=Date:To:From:Subject;
	b=[...]
Date: Mon, 11 Nov 2024 10:14:18 -0300
To: me@remote.host
From: me@my.domain
Subject: test Mon, 11 Nov 2024 10:14:18 -0300
Message-Id: <20241111101418.052214@my.domain>
X-Mailer: swaks v20240103.0 jetmore.org/john/code/swaks/
X-Test: test email

[... body ...]
--8<-------------------------------------------------------->8---

Leia os cabeçalhos de baixo pra cima.  Observe como o primeiro
Authentication-Results resulta em dmarc=fail.  Meu entendimento é que
esse cabeçalho foi adicionado pelo próprio OpenDMARC.  Os logs confirmam
o fracasso, apesar da mensagem ser aceita.

Nov 11 10:14:21 my.host opendmarc[52048]: implicit authentication service: my.domain
Nov 11 10:14:21 my.host opendmarc[52048]: 4ABDEK9W052215: my.domain fail
Nov 11 10:14:21 my.host sm-mta[52215]: 4ABDEK9W052215: Milter (opendmarc) insert (1): header: Authentication-Results: my.domain; dmarc=fail (p=reject dis=none) header.from=my.domain
Nov 11 10:14:21 my.host sm-mta[52215]: 4ABDEK9W052215: Milter accept: message

Minha configuração do OpenDMARC é mínima:

%grep -v '^#' opendmarc.conf | grep -v '^$'
HistoryFile /var/run/opendmarc/history.txt
RecordAllMessages true

No history.txt, encontro spf -1, o que significa que SPF não foi
analisado.  Deve ser esse o problema.  Preciso de um 0 lá, que significa
``pass''.  É o que me reporta o README do OpenDMARC em

  https://raw.githubusercontent.com/trusteddomainproject/OpenDMARC/refs/heads/master/opendmarc/README

Eis um relatório que encontro no history.txt relativo a uma mensagem que
é aprovada pelo DMARC Google, mas não é aprovada pelo próprio DMARC:

--8<-------------------------------------------------------->8---
job 4ABDiW59052746
reporter my.domain
received 1731332674
ipaddr 1.2.3.4
from my.domain
mfrom my.domain
spf -1
pdomain my.domain
policy 16
rua mailto:postmaster@my.domain
pct 100
adkim 115
aspf 115
p 114
sp 0
align_dkim 5
align_spf 5
arc 7
arc_policy 2 json:[]
action 2
--8<-------------------------------------------------------->8---

Então meu OpenDMARC não identifica que dkim e spf estão alinhados com mfrom:

align_dkim 5
align_spf 5

O valor teria que ser 4 e não 5.  Além disso, spf -1.  Tem coisa errada.
Vamos dar uma olhada numa mensagem na direção gmail --> my.domain.
Obtenho uma aprovação DMARC do meu próprio DMARC.  Então não é o caso
que toda verificação DMARC esteja fracassando em my.domain.  As
evidências:

--8<-------------------------------------------------------->8---
Nov 11 11:14:10 my.host opendkim[35443]: 4ABEE8nA053200: DKIM verification successful
Nov 11 11:14:10 my.host sm-mta[53200]: 4ABEE8nA053200: Milter (dkim-filter) insert (1): header: Authentication-Results:  my.domain;\n\tdkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=gEybCgM7
Nov 11 11:14:10 my.host opendkim[35443]: 4ABEE8nA053200: s=20230601 d=gmail.com SSL
Nov 11 11:14:10 my.host sm-mta[53200]: 4ABEE8nA053200: milter=opendmarc, action=header, continue
Nov 11 11:14:10 my.host syslogd: last message repeated 13 times
Nov 11 11:14:10 my.host sm-mta[53200]: 4ABEE8nA053200: milter=opendmarc, action=eoh, continue
Nov 11 11:14:10 my.host opendmarc[53126]: 4ABEE8nA053200: gmail.com pass
Nov 11 11:14:10 my.host sm-mta[53200]: 4ABEE8nA053200: Milter (opendmarc) insert (1): header: Authentication-Results: my.domain; dmarc=pass (p=none dis=none) header.from=gmail.com
Nov 11 11:14:10 my.host sm-mta[53200]: 4ABEE8nA053200: Milter accept: message
--8<-------------------------------------------------------->8---

Na mensagem em si, podemos ver os cabeçalhos esperados:

--8<-------------------------------------------------------->8---
Authentication-Results: my.domain; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: my.domain;
	dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=gEybCgM7
--8<-------------------------------------------------------->8---

Esses foram adicionados pelo meu OpenDMARC.

Uma suspeita.  Seria o caso que meu filtro DMARC esteja trabalhando em
paralelo ao DKIM?  Porque DMARC precisa dos resultados de DKIM e SPF.  A
impressão que tenho dos logs do sendmail é que ambos começam a trabalhar
em paralelo:

--8<-------------------------------------------------------->8---
Nov 11 11:14:09 my.host sm-mta[53200]: 4ABEE8nA053200: milter=dkim-filter, action=mail, continue
Nov 11 11:14:09 my.host sm-mta[53200]: 4ABEE8nA053200: milter=opendmarc, action=mail, continue
Nov 11 11:14:09 my.host sm-mta[53200]: 4ABEE8nA053200: --- 250 2.1.0 <someone@gmail.com>... Sender ok
--8<-------------------------------------------------------->8---

Isso faria com que minhas mensagens emitidas a parti do meu sendmail
cheguem ao OpenDMARC sem qualquer cabeçalho DKIM e aí não serão
aprovadas mesmo.  Não faço ideia.  Valeu!

Back to pt.comp.programacao | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-09-27 10:41 -0300
  Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-09-28 09:26 +0100
    Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-09-28 08:55 -0300
      Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-09-29 11:30 +0100
        Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-20 21:39 -0300
          Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-10-21 14:03 +0100
            Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-21 17:45 -0300
              Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-10-22 07:50 +0100
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-22 08:54 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-10-22 13:24 +0100
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-22 13:31 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-10-22 18:44 +0100
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-22 20:26 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-10-23 13:29 +0100
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-23 14:53 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-01 20:20 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-23 08:24 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-01 20:16 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-05 17:06 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-05 20:26 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-05 18:37 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-05 22:00 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-05 19:26 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-06 10:13 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-09 09:45 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-09 17:50 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-09 17:02 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-09 20:06 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-09 18:38 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-09 20:10 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-09 18:38 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-09 18:40 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-10 13:17 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-10 13:30 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-11 11:22 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-12 22:40 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-13 19:44 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-13 18:05 -0300
                Emacs LISP e Common LISP (was: como montar um servidor de e-mail nos padrões de hoje) Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-16 14:26 +0000
                Re: Emacs LISP e Common LISP Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-16 17:34 +0000
                Re: Emacs LISP e Common LISP Patricia Ferreira <pferreira@example.com> - 2024-11-16 14:37 -0300
                Re: Emacs LISP e Common LISP Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-16 20:04 +0000
                Re: Emacs LISP e Common LISP Patricia Ferreira <pferreira@example.com> - 2024-11-16 19:44 -0300
                Re: Emacs LISP e Common LISP Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-17 12:09 +0000
                Re: Emacs LISP e Common LISP Patricia Ferreira <pferreira@example.com> - 2024-11-17 11:31 -0300
                Re: Emacs LISP e Common LISP Patricia Ferreira <pferreira@example.com> - 2024-11-27 07:45 -0300
                Re: Emacs LISP e Common LISP Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-27 17:36 +0000
                hackers (Was: Re: Emacs LISP e Common LISP) Patricia Ferreira <pferreira@example.com> - 2024-11-28 08:09 -0300
                Re: hackers Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-28 12:16 +0000
                Re: hackers Patricia Ferreira <pferreira@example.com> - 2024-11-28 14:14 -0300
                Re: hackers Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-29 17:01 +0000
                Re: hackers Patricia Ferreira <pferreira@example.com> - 2024-12-01 11:17 -0300
                Re: hackers Patricia Ferreira <pferreira@example.com> - 2024-12-03 10:22 -0300
                Re: hackers Daniel Cerqueira <dan.list@lispclub.com> - 2024-12-04 08:58 +0000
                Re: hackers Patricia Ferreira <pferreira@example.com> - 2024-12-04 08:05 -0300
                Re: hackers Daniel Cerqueira <dan.list@lispclub.com> - 2024-12-04 15:34 +0000
                Re: hackers Patricia Ferreira <pferreira@example.com> - 2024-12-04 13:04 -0300
                Re: hackers Ninguém <usenet@rasparta.org> - 2024-12-04 20:07 +0000
                Re: hackers Patricia Ferreira <pferreira@example.com> - 2024-12-05 19:22 -0300
                Re: hackers Nuno Silva <nunojsilva@invalid.invalid> - 2025-02-02 16:52 +0000
                Re: Emacs LISP e Common LISP Patricia Ferreira <pferreira@example.com> - 2024-11-16 14:37 -0300
                Re: Emacs LISP e Common LISP Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-16 20:11 +0000
                Re: Emacs LISP e Common LISP Patricia Ferreira <pferreira@example.com> - 2024-11-16 19:55 -0300
                Re: como montar um servidor de e-mail nos padrões de hoje Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-10 19:33 +0000
                Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-11-10 19:04 -0300
  Re: como montar um servidor de e-mail nos padrões de hoje Ninguém <usenet@rasparta.org> - 2024-09-28 09:48 +0100
    Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-09-28 09:00 -0300
  Re: como montar um servidor de e-mail nos padrões de hoje Ninguém <usenet@rasparta.org> - 2024-09-29 11:21 +0100
    Re: como montar um servidor de e-mail nos padrões de hoje Patricia Ferreira <pferreira@example.com> - 2024-10-20 21:38 -0300

csiph-web