relecture et ajouts
This commit is contained in:
parent
83d24f865f
commit
959306e69a
|
@ -32,6 +32,12 @@ RestartSec=5s
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
# opendkim -V | head -4
|
||||||
|
opendkim: OpenDKIM Filter v2.11.0
|
||||||
|
Compiled with OpenSSL 1.1.0f 25 May 2017
|
||||||
|
SMFI_VERSION 0x1000001
|
||||||
|
libmilter version 1.0.1
|
||||||
|
|
||||||
# systemctl status opendkim
|
# systemctl status opendkim
|
||||||
● opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
|
● opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
|
||||||
Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
|
Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
|
||||||
|
@ -65,21 +71,17 @@ Les options de configuration se combinent principalement sur deux modes :
|
||||||
* Configuration par domaine d'expédition (conseillée) :
|
* Configuration par domaine d'expédition (conseillée) :
|
||||||
* `/etc/opendkim/KeyTable` : liste des clés privées / sélecteurs
|
* `/etc/opendkim/KeyTable` : liste des clés privées / sélecteurs
|
||||||
* `/etc/opendkim/SigningTable` : clés privées à utiliser en fonction de l'adresse `From:`
|
* `/etc/opendkim/SigningTable` : clés privées à utiliser en fonction de l'adresse `From:`
|
||||||
* Pas de Domain, ni KeyFile, ni de Selector
|
* Configuration avec une seule clé privée (méthode dépréciée chez Evolix) :
|
||||||
* Configuration avec une seule clé privée) :
|
* `/etc/opendkim/Domain` : liste des domaines acceptés
|
||||||
* Domain (liste des domaines acceptés)
|
* `/etc/opendkim/KeyFile` : clé privée
|
||||||
* KeyFile (clé privée)
|
* `/etc/opendkim/Selector` : nom de la clé dans l'enregistrement DNS
|
||||||
* Selector (nom de la clé dans l'enregistrement DNS)
|
* Pas de `KeyTable` ni de `SigningTable`
|
||||||
* Pas de KeyTable, ni de SigningTable
|
|
||||||
|
|
||||||
### Configuration par adresse ou domaine d'expédition, avec plusieurs clés privées
|
### Configuration par domaine d'expédition, avec une ou plusieurs clés privées
|
||||||
|
|
||||||
Cette méthode est conseillée dans le cas où on gère de nombreux domaines.
|
|
||||||
|
|
||||||
Elle évite de devoir changer en une fois les enregistrement TXT de tous les domaines (ils contiennent les clés publiques) en cas en de génération d'une nouvelle clé privée.
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# cat /etc/opendkim.conf
|
# cat /etc/opendkim.conf
|
||||||
|
|
||||||
UserID opendkim:opendkim
|
UserID opendkim:opendkim
|
||||||
Syslog yes
|
Syslog yes
|
||||||
#SyslogSuccess yes
|
#SyslogSuccess yes
|
||||||
|
@ -104,11 +106,11 @@ key1 example.com:key1_selector:/etc/ssl/private/dkim_example.com.key
|
||||||
key2 example.org:key2_selector:/etc/ssl/private/dkim_example.org.key
|
key2 example.org:key2_selector:/etc/ssl/private/dkim_example.org.key
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Un **sélecteur** est un mot clé qui sert aux clients à trouver le sous-domaine de l'enregistrement TXT qui contient la clé publique DKIM du domaine (via `<SELECTOR>._domainkey.example.com`).
|
Un **sélecteur** est une expression qui sert aux clients à trouver le sous-domaine de l'enregistrement TXT qui contient la clé publique DKIM du domaine (via `<SELECTOR>._domainkey.example.com`).
|
||||||
|
|
||||||
Si on a plusieurs serveurs de messagerie (et donc plusieurs clé privées), des sélecteurs différents permettent d'avoir plusieurs clés publiques associées à un même domaine, dans des enregistrements TXT de différents sous-domaines.
|
Si on a plusieurs serveurs de messagerie (et donc plusieurs clé privées), des sélecteurs différents permettent d'avoir plusieurs clés publiques associées à un même domaine, dans des enregistrements TXT de différents sous-domaines.
|
||||||
|
|
||||||
Pour détecter automatiquement le domaine à utiliser dans la signature à partir du champ `From:` (pratique sur les serveurs avec beaucoup de domaines) :
|
On peut utiliser un même sélecteur et clé privée pour plusieurs domaines (pratique sur les serveurs avec beaucoup de domaines) ainsi :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
key1 %:key1_selector:/etc/ssl/private/dkim_my_mail_server.key
|
key1 %:key1_selector:/etc/ssl/private/dkim_my_mail_server.key
|
||||||
|
@ -123,13 +125,7 @@ key1 %:key1_selector:/etc/ssl/private/dkim_my_mail_server.key
|
||||||
|
|
||||||
Les lignes sont traitées dans l'ordre, seul le premier match est utilisé, sauf si `MultipleSignatures` est activé.
|
Les lignes sont traitées dans l'ordre, seul le premier match est utilisé, sauf si `MultipleSignatures` est activé.
|
||||||
|
|
||||||
Pour signer tous les mails avec la même clé :
|
**Pour générer une clé**, on utilise la commande :
|
||||||
|
|
||||||
~~~
|
|
||||||
* key1
|
|
||||||
~~~
|
|
||||||
|
|
||||||
**Pour générer les clés**, on utilise la commande :
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# opendkim-genkey -h sha256 -b 4096 -D /etc/ssl/private/ -d example.com -s foo -v
|
# opendkim-genkey -h sha256 -b 4096 -D /etc/ssl/private/ -d example.com -s foo -v
|
||||||
|
@ -173,32 +169,10 @@ Et l'on peut enfin démarrer le démon :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# systemctl start opendkim
|
# systemctl start opendkim
|
||||||
|
|
||||||
# opendkim -V | head -4
|
|
||||||
opendkim: OpenDKIM Filter v2.11.0
|
|
||||||
Compiled with OpenSSL 1.1.0f 25 May 2017
|
|
||||||
SMFI_VERSION 0x1000001
|
|
||||||
libmilter version 1.0.1
|
|
||||||
|
|
||||||
# systemctl status opendkim
|
|
||||||
● opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
|
|
||||||
Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
|
|
||||||
Docs: man:opendkim(8)
|
|
||||||
man:opendkim.conf(5)
|
|
||||||
man:opendkim-genkey(8)
|
|
||||||
man:opendkim-genzone(8)
|
|
||||||
man:opendkim-testadsp(8)
|
|
||||||
man:opendkim-testkey
|
|
||||||
http://www.opendkim.org/docs.html
|
|
||||||
Process: 13917 ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf (code=exited, status=0/SUCCESS)
|
|
||||||
Main PID: 13918 (opendkim)
|
|
||||||
Tasks: 6 (limit: 7372)
|
|
||||||
CGroup: /system.slice/opendkim.service
|
|
||||||
└─13918 /usr/sbin/opendkim -x /etc/opendkim.conf
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
### Configuration avec une seule clé privée
|
### Configuration avec une seule clé privée (deprecated)
|
||||||
|
|
||||||
Générer une paire de clés avec le sélecteur `dkim-<SERVER_NAME>` (par exemple) dans le répertoire `/etc/opendkim/keys/` :
|
Générer une paire de clés avec le sélecteur `dkim-<SERVER_NAME>` (par exemple) dans le répertoire `/etc/opendkim/keys/` :
|
||||||
|
|
||||||
|
@ -247,7 +221,6 @@ Selector dkim-<SERVER_NAME>
|
||||||
Domain refile:/etc/opendkim/domains_whitelist
|
Domain refile:/etc/opendkim/domains_whitelist
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
#### Ajouter un domaine à OpenDKIM
|
#### Ajouter un domaine à OpenDKIM
|
||||||
|
|
||||||
Ajouter le texte contenu dans le fichier `/etc/opendkim/keys/dkim-<SERVER_NAME>.txt` aux enregistrements DNS du domaine.
|
Ajouter le texte contenu dans le fichier `/etc/opendkim/keys/dkim-<SERVER_NAME>.txt` aux enregistrements DNS du domaine.
|
||||||
|
@ -469,3 +442,13 @@ Cela peut venir de lignes trop longues (cf plus bas).
|
||||||
|
|
||||||
D'après <https://www.rfc-editor.org/rfc/rfc2822#section-2.1.1> les lignes d'un email ne doivent pas être trop longues sinon elles peuvent se faire découper par un serveur SMTP entre le départ et l'arrivée (inclus)... ce qui changer le payload du message car il aura notamment des sauts de ligne en plus.. et donc le body hash de la signature DKIM ne sera plus valide.
|
D'après <https://www.rfc-editor.org/rfc/rfc2822#section-2.1.1> les lignes d'un email ne doivent pas être trop longues sinon elles peuvent se faire découper par un serveur SMTP entre le départ et l'arrivée (inclus)... ce qui changer le payload du message car il aura notamment des sauts de ligne en plus.. et donc le body hash de la signature DKIM ne sera plus valide.
|
||||||
|
|
||||||
|
|
||||||
|
### Signer tous les emails avec la même clé ?
|
||||||
|
|
||||||
|
Pour signer tous les domaines avec un même clé, on peut mettre un *wildcard* dans `/etc/opendkim/SigningTable` :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
* key1
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Mais c'est déconseillé car tous les emails car OpenDKIM tenteraient de traiter tous les domaines, et cela peut poser des problèmes avec des emails tordus (par exemple OpenDKIM plante quand on trouve une [espace sans chasse](https://fr.wikipedia.org/wiki/Espace_sans_chasse) dans le nom de domaine)
|
||||||
|
|
Loading…
Reference in a new issue