OpenDKIM en Fedora Server, opendkim-testkey carga la clave, dice que la está comprobando y luego simplemente dice "consulta fallida" ¿Cómo encuentro (y soluciono) lo que está mal?

OpenDKIM en Fedora Server, opendkim-testkey carga la clave, dice que la está comprobando y luego simplemente dice "consulta fallida" ¿Cómo encuentro (y soluciono) lo que está mal?

El día Fedora Server37 (actualizado aproximadamente el 1 de febrero de 2023), OpenDKIMse realizó una nueva instalación (es la versión v2.11.0). La configuración incluyó la creación de una tabla de firmas y una tabla de claves, y la creación de una clave, además de publicarla en formato DNS. Hasta ahora, todo bien...

Llegué al punto en el que lo probaste opendkim-testkeyy esto falló.

La primera vez que lo ejecuté se quejó de "permisos inseguros", aunque eso no lo detuvo, sin embargo, me concentré en eso por un momento; NADA de lo que hice (cambiar propiedades y permisos en media docena o más de permutaciones) hizo que ese error desapareciera, ¡así que al diablo con eso por ahora!

Reconocí que debía haber habido un error en la tabla de firmas, así que hice un cambio sutil. ...Aparentemente exige usar "_domainkey", aunque la documentación oficial no dice que sea necesario y parece completamente innecesario que lo haga, pero aparentemente es necesario. Y creo que sí porque cuando me comporté con la adición aparentemente tonta de este texto "_domainkey" a la entrada en la tabla de firmas, avanzó más, al menos ahora dice que está cargando el archivo keyfile. Sin embargo, sigo apareciendo el error "consulta fallida".

Para ser claros, la sesión es así:

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

Bueno, ¡gracias por la pista opendkim-testkey!

No obtuve nada útil systemctl status opendkim.service: dice que su estado es "activo (en ejecución)" sin errores. Entonces, revisé el registro (en este caso /var/log/messages) y había algunas entradas. Entonces, para asegurarme de que estén actualizados, hice un ciclo opendkimmientras systemctl reloadhacía grepping a un tail -fcomando y obtuve:

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()

¡GUAU! ¿Se estrelló? ¿Por qué dice que está funcionando entonces? ¡Extraño!

Algunas investigaciones muestran que _nl_load_domain.cold() es de hecho una función de C++.

La definición de la función comienza:

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;

Eso es suficiente para que este tipo diga: "Hmmm... ¡¿y ahora qué?!"

(Tenga en cuenta que el dominio en cuestión funciona bien, ¡excepto opendkim! - Con un DNS zonefuncionamiento bastante sólido, Y el sistema en cuestión tiene acceso completo a DNSlas consultas).

NOTA OpenDKIM¡Está validando DKIMbien las claves de correo electrónico entrante! ¡Solo necesito que la parte de firma funcione también!

información relacionada