De acuerdo ahttp://opendkim.org/opendkim.conf.5.html, las opciones ExternalIgnoredHosts
y InternalHosts
admiten el mismo formato que la PeerList
opción siguiente:
El conjunto debe contener en cada línea un nombre de host, un nombre de dominio (por ejemplo, ".example.com"), una dirección IP, una dirección IPv6 (incluida una dirección asignada IPv4) o una especificación IP de estilo CIDR (por ejemplo, "192.168.1.0/ 24").
Las direcciones IP y las subredes se identifican correctamente como hosts internos, pero no se detectan todos los nombres de host y dominios.
Aquí está/etc/opendkim.conf
LogWhy yes
Syslog yes
SyslogSuccess yes
UMask 002
UserID opendkim:opendkim
KeyTable refile:/etc/opendkim/key.table
SigningTable refile:/etc/opendkim/signing.table
ExternalIgnoreList refile:/etc/opendkim/trusted.hosts
InternalHosts refile:/etc/opendkim/trusted.hosts
AutoRestart yes
AutoRestartRate 10/1M
Background yes
Canonicalization relaxed/simple
DNSTimeout 5
Mode sv
Nameservers 192.168.100.1,192.168.100.2
OversignHeaders From
SignatureAlgorithm rsa-sha256
SubDomains no
Socket local:/var/spool/postfix/opendkim/opendkim.sock
PidFile /run/opendkim/opendkim.pid
Y/etc/opendkim/trusted.hosts
127.0.0.1
::1
localhost
mailserver # mail server hostname
192.168.100.50 # test server
webserver.domain.local # web server
.domain.local # entire local domain
*.testdomain.local # entire local test domain
Y main.cf
opciones milter:
milter_default_action = accept
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_type} {auth_authen}
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
El correo de 192.168.100.50
está firmado como se esperaba:
mailserver postfix/qmgr[5406]: 59CA920E11: removed
mailserver postfix/smtpd[5412]: connect from testserver.mydomain.com[192.168.100.50]
mailserver postfix/smtpd[5412]: 41BD520E11: client=testserver.mydomain.com[192.168.100.50]
mailserver postfix/cleanup[5436]: 41BD520E11: message-id=<>
mailserver opendkim[5427]: 41BD520E11: DKIM-Signature field added (s=default, d=contoso.com)
mailserver postfix/qmgr[5406]: 41BD520E11: from=<[email protected]>, size=371, nrcpt=1 (queue active)
mailserver postfix/smtp[5437]: 41BD520E11: to=<[email protected]>, relay=ASPMX.L.GOOGLE.COM[173.194.76.27]:25, delay=0.4, delays=0.01/0/0.13/0.26, dsn=2.0.0, status=sent (250 2.0.0 OK 1610364907 k20si14443742wrc.23 - gsmtp)
mailserver postfix/qmgr[5406]: 41BD520E11: removed
Pero el correo de webserver.domain.local
no se recoge como interno a pesar de que se resolvió el nombre del cliente:
mailserver postfix/smtpd[5846]: connect from webserver.domain.local[192.168.100.51]
mailserver postfix/smtpd[5846]: 4F00620E11: client=webserver.domain.local[192.168.100.51]
mailserver postfix/cleanup[5850]: 4F00620E11: message-id=<>
mailserver opendkim[5840]: 4F00620E11: webserver.domain.local [192.168.100.51] not internal
mailserver opendkim[5840]: 4F00620E11: not authenticated
mailserver opendkim[5840]: 4F00620E11: no signature data
mailserver postfix/qmgr[5821]: 4F00620E11: from=<[email protected]>, size=371, nrcpt=1 (queue active)
mailserver postfix/smtp[5851]: 4F00620E11: to=<[email protected]>, relay=ASPMX.L.GOOGLE.COM[74.125.133.27]:25, delay=0.83, delays=0.01/0/0.43/0.39, dsn=2.0.0, status=sent (250 2.0.0 OK 1610365309 g124si15021166wma.170 - gsmtp)
mailserver postfix/qmgr[5821]: 4F00620E11: removed
¿Me falta algo relacionado con cómo se resuelven los nombres de host o algo más fundamental sobre cómo se implementa esta funcionalidad? También probé combinaciones de dominios de *.domain.local
y .domain.local
sin /etc/opendkim/trusted.hosts
éxito.
Cualquier ayuda será recibida con gratitud.
Números de versión:
~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
~$ postconf mail_version
mail_version = 3.3.0
opendkim -V
~$ opendkim -V
opendkim: OpenDKIM Filter v2.11.0
Compiled with OpenSSL 1.1.1 11 Sep 2018
SMFI_VERSION 0x1000001
libmilter version 1.0.1
Supported signing algorithms:
rsa-sha1
rsa-sha256
Supported canonicalization algorithms:
relaxed
simple
Active code options:
POLL
QUERY_CACHE
USE_DB
USE_LDAP
USE_LUA
USE_ODBX
USE_UNBOUND
_FFR_ATPS
_FFR_RBL
_FFR_REPLACE_RULES
_FFR_SENDER_MACRO
_FFR_STATS
_FFR_VBR
libopendkim 2.11.0: atps query_cache
Respuesta1
Esto se resolvió eliminando los asteriscos iniciales de un comodín de dominio en /etc/opendkim/trusted.hosts
. Los asteriscos que estaban allí no solo impidieron que funcionara el comodín del dominio, sino que también impidieron que funcionaran todas las demás entradas de cadena en el archivo, aunque las direcciones IP no se vieron afectadas.
Las direcciones IP funcionan pero las cadenas no:
127.0.0.1
::1
localhost
mailserver # mail server hostname
192.168.100.50 # test server
webserver.domain.local # web server
.domain.local # entire local domain
*.testdomain.local # entire local test domain
Tanto las direcciones IP como las cadenas funcionan:
127.0.0.1
::1
localhost
mailserver # mail server hostname
192.168.100.50 # test server
webserver.domain.local # web server
.domain.local # entire local domain
.testdomain.local # entire local test domain