Signature des emails avec DKIM

Je me suis finalement décidé à utiliser DKIM pour signer les emails que j'envoie via mon domaine personnel. J'utilise postfix et amavis du coup l'opération est très rapide.

Tout d'abord, on commence par générer la clé RSA qui servira à signer et vérifier les messages :

$ amavisd genrsa /var/db/dkim/<mon domaine>.pem

La taille de cette clé est par défaut de 1024 octets.

Ensuite, on active la signature des emails par amavis. Ajoutez les lignes suivantes dans le fichier de configuration qui va bien :

# DKIM signing
$enable_dkim_signing = 1;
dkim_key('mon domaine', '<selecteur>', '/var/db/dkim ...

Indiquer à amavisd ce qu'il doit filtrer

Pour les besoins de ma boite actuelle, j'ai mis un peu de temps (trop à mon goût) à retrouver la manière d'indiquer à Amavisd de ne pas filtrer les emails sortant.

Outre le fait de désactiver tout filtrage pour la policy bank MYNETS:

$policy_bank{'MYNETS'} = {
    # Trucs avant...
    bypass_spam_checks_maps   => [1],
    bypass_banned_checks_maps => [1],
    bypass_header_checks_maps => [1],
};

il faut aussi indiquer à Postfix d'utiliser l'extension XFORWARD lorsqu'il cause avec amavisd. Extrait de mon fichier master.cf:

smtp-amavis unix        -       -       n       -       2       smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes

On redémarre les services et le tour est joué!