OpenDKIM no servidor Fedora, opendkim-testkey carrega a chave, diz que está verificando e depois diz apenas "query failed" Como faço para encontrar (e corrigir) o que está errado?

OpenDKIM no servidor Fedora, opendkim-testkey carrega a chave, diz que está verificando e depois diz apenas "query failed" Como faço para encontrar (e corrigir) o que está errado?

No Fedora Serverdia 37 (atualizado em 1º de fevereiro de 2023), uma nova OpenDKIMinstalação foi realizada (é a versão v2.11.0). A configuração incluiu a criação de uma tabela de assinatura e uma tabela de chaves, e a criação de uma chave, além de publicá-la no formato DNS. Até agora tudo bem...

Cheguei ao ponto em que você testou opendkim-testkeye falhou.

A primeira vez que executei ele reclamou de "permissões inseguras", embora isso não tenha impedido, no entanto, concentrei-me um pouco nisso; NADA que eu fiz - alterar propriedades e permissões em meia dúzia ou mais permutações - fez com que esse erro desaparecesse, então, que se dane por enquanto!

Reconheci que deve ter havido um erro na tabela de assinatura, então fiz uma alteração sutil. ... Aparentemente exige o uso de "_domainkey", embora a documentação oficial não diga que isso é obrigatório e pareça totalmente desnecessário fazê-lo, mas aparentemente isso é obrigatório. E acho que sim porque quando me comportei com a adição aparentemente boba deste texto "_domainkey" à entrada na tabela de assinatura, ele avançou ainda mais, pelo menos agora dizendo que está carregando o arquivo keyfile. Mesmo assim, ainda recebo o erro "falha na consulta".

Para ser claro, a sessão é assim:

opendkim-testkey -d some-fqdn.com -s default -vvvvvvv
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: /etc/opendkim/keys/some-fqdn.com/<prefix>.private: WARNING: unsafe permissions
opendkim-testkey: key loaded from /etc/opendkim/keys/some-fqdn.com/<prefix>.private
opendkim-testkey: checking key 'default._domainkey.some-fqdn.com'
opendkim-testkey: 'default._domainkey.some-fqdn.com' query failed

Bem, obrigado pela pista opendkim-testkey!

Não obtive nada de útil systemctl status opendkim.service- diz que o status é "ativo (em execução)" sem erros. Então, verifiquei o log (neste caso /var/log/messages) e havia algumas entradas. Então, para ter certeza de que eles estão atualizados, alternei opendkimwhile systemctl reloadping grepem um tail -fcomando e obtive:

Mar  5 11:17:21 fs1 systemd[1]: Started opendkim.service - DomainKeys Identified Mail (DKIM) Milter.
Mar  5 11:17:21 fs1 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=opendkim comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar  5 11:17:22 fs1 abrt-notification[3173323]: Process 348313 (opendkim) crashed in _nl_load_domain.cold()

UAU! Caiu? Por que diz que está instalado e funcionando então?! Estranho!

Algumas investigações mostram que _nl_load_domain.cold() é na verdade uma função C++.

A definição da função começa:

internal_function
_nl_find_domain (const char *dirname, char *locale,
         const char *domainname, struct binding *domainbinding)
{
  struct loaded_l10nfile *retval;
  const char *language;
  const char *modifier;
  const char *territory;
  const char *codeset;
  const char *normalized_codeset;
  const char *alias_value;
  int mask;

Isso é o suficiente para fazer esse cara dizer: "Hmmm... e agora?!"

(Observe que o domínio em questão está funcionando bem - exceto opendkim! - com um DNS zonedomínio bastante robusto e ativo, E o sistema em questão tem acesso total às DNSconsultas.)

OBSERVAÇÃO OpenDKIMestá validando DKIMchaves de e-mail de entrada perfeitamente! Eu só preciso fazer a parte da assinatura funcionar também!

informação relacionada