DKIM Proxy

De NCad Wiki
Aller à la navigation Aller à la recherche

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Filtrage anti-spam : Anti-Spam SpamAssassin | Anti-Virus Clamav


Filtrage anti-virus : Plateforme de filtrage Amavis >> Amavis avec MySQL


Plus de fonctions : Ajouter un Disclaimer | DKIM Proxy | OpenDKIM | Mailman | Maildrop | DANE | SPF


Clients de messagerie : Configurer Thundirbird | Configurer Roundcube


Pour aller plus loin : Commandes messagerie | DNSBL | MX Backup

Présentation

Architecture

Installation

Installation des dépendances

  • Les dépendances suivantes sont nécessaires pour la compilation du programme et l'installation de ses dépendances depuis le shell perl :

apt-get install libmail-dkim-perl build-essential gcc

  • Connexion au shell perl :

perl -MCPAN -e shell


Lors de la première connexion un assistance se lance automatiquement. Valider les réponses par défaut et le shell se mettra à jour. Relancez le shell perl une fois la mise à jour terminée.

  • Installation du module Perl Error :

install Error

  • Installation du module Perl Net::Server :

install Net::Server

  • Installation du module Perl Mail::DKIM :

install Mail::DKIM

Compilation de DKIM Proxy

  • Le service sera installé sous le répertoire OPTionnel de Linux :

cd /opt

  • Téléchargement des sources depuis le site du développeur :

wget http://downloads.sourceforge.net/dkimproxy/dkimproxy-1.4.1.tar.gz

  • Dépaquetage des sources précédement téléchargées :

tar -xzvf dkimproxy-1.4.1.tar.gz

  • On créée le répertoire dkimproxy - c'est dans ce répertoire qu'il y aura le service dkimproxy :

mkdir dkimproxy

  • On se place dans le répertoire des sources de DKIM Proxy :

cd dkimproxy-1.4.1

  • On lance le script de configuration. Si toutes les dépendances sont satisfaites, aucune erreur ne doit être retournée :

./configure --prefix /opt/dkimproxy

  • On procède à l'installation :

make install

Configuration

Le répertoire courant du service dkim proxy se trouve à la racine /opt/dkimproxy. On y trouvera 4 répertoire :

  • etc : contenant les fichiers de configuration du service.
  • bin : .
  • lib : .
  • share : .

Génération des clés

  • On va créer le dossier keys dans le dossier /opt/dkimproxy/etc/. Ce dossier contiendra la clé privée et la clé publique pour signer / vérifier les messages soumis à dkim proxy :

mkdir /opt/dkimproxy/etc/keys

  • On se place dans ce nouveau dossier pour y générer nos clés privé et publique à l'aide d'OpenSSL :

cd /opt/dkimproxy/etc/keys

  • On génère la clé privée :

openssl genrsa -out private.key 1024

  • Ainsi que la clé publique :

openssl rsa -in private.key -out public.key -pubout -outform PEM

Signature des messages sortants

  • Le fichier /opt/dkimproxy/etc/dkimproxy_out.conf permet de configurer la signature des messages sortants. Pour que ce système soit fonctionnel, il faudra renseigner notre nom de domaine ainsi que le fichier de clé privé utilisé pour la signature.
  • On fait une copie du fichier de configuration par défaut /opt/dkimproxy/etc/dkimproxy_out.conf.example en /opt/dkimproxy/etc/dkimproxy_out.conf :

cp /opt/dkimproxy/etc/dkimproxy_out.conf.example /opt/dkimproxy/etc/dkimproxy_out.conf

  • Ce fichier contient les paramètres du relayage SMTP (informations de connexion à Postfix) ainsi que les informations nécessaires à la signature des messages destinés à être envoyés :
# specify what address/port DKIMproxy should listen on
listen    127.0.0.1:10027

# specify what address/port DKIMproxy forwards mail to
relay     127.0.0.1:10028
  • D'après les lignes ci-dessus, Postfix soumettra les messages à signer à DKIM Proxy sur le port 10027 depuis son IP local (cas où Postfix et DKIM Proxy sont installé sur la même machine). Une fois signés, les messages seront retournés à Postfix sur le port 10028. Il faudra que Postfix écoute sur ce port.
  • Toujours dans ce fichier, il faut indiquer, la/les domaines de messageries pour lesquels les messages vont être signés :
domain    mail.glx,geocoucou.eu
  • Enfin, il faut indiquer l'emplacement de la clé privé :
keyfile   /opt/dkimproxy/etc/keys/private.key
  • On remarquera la valeur du paramètre selector à postfix qui sera important dans la configuration du DNS :
selector  postfix

  • On démarre dkimproxy :

./opt/dkimproxy/bin/dkimproxy.out --conf_file=/opt/dkimproxy/etc/dkimproxy_out.conf

Vérification

  • On se connecte à dkimproxy sur le port 10027 en local :

telnet 127.0.0.1 10027
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
421 Internal error (Next hop is down)
Connection closed by foreign host.

  • On remarque que la connexion est interrompu. En faite dkimproxy cherche à contacter Postfix mais ce dernier n'a pas encore été configuré et la connexion est donc par défaut refusée.

Intégration dans Postfix

Postfix va devoir interroger dkimproxy pour procéder à la signature des messages qu'il souhaite envoyer. Pour se faire, nous allons devoir modifier les règles de routage des courriels sortants. Il va donc falloir agir sur le fichier /etc/postfix/master.cf.

Signature des courriers sortants

Vérification des courriers entrants

Liens