ISPconfig – service email : DKIM & Amavis

By Nemo (Public Domain CC0)

Edit 13/04/2015 : Ajout d’@mynetworks pour que les réseaux connus soient marqués DKMI.

DKIM (DomainKeys Identified Mail)  est une norme d’authentification par clef publique/privé du nom de domaine de l’expéditeur d’un courrier électronique. Une partie de la signature est comprise dans l’entête du message & une autre dans un enregistrement DNS TXT dédié.

Elle constitue une protection efficace contre le spam et l’hameçonnage. Elle permet aussi surtout (et c’est en ça qu’elle nous intéresse le plus) d’éviter de se faire considérer comme SPAM.

Je parle d’ISPconfig dans mon titre car c’est ce qui motorise mon serveur en ce moment, mais je pense que la procédure fonctionne avec Amavis en règle générale.

Mise en place

Il faut déjà préparer le terrain :

srv:~$ mkdir /etc/amavis/pki
srv:~$ ln -s /etc/amavis/pki /var/lib/amavis/pki

Ensuite on génère la clef :

srv:~$ amavisd-new genrsa /var/lib/amavis/pki/dkmi-mercereau.info-key.pem

Puis il faut créer le fichier /etc/amavis/conf.d/99-dkmi avec la configuration suivante :

$enable_dkim_verification = 1;
$enable_dkim_signing = 1;
dkim_key('mercereau.info', 'default', '/var/lib/amavis/pki/dkmi-mercereau.info-key.pem');
@dkim_signature_options_bysender_maps = (
    { '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } 
);
@mynetworks = qw(0.0.0.0/8 
                127.0.0.0/8     
                123.123.123.123/32  # IP maison 1
                456.456.456.456/32  # IP boulot
);

Ensuite il faut redémarrer le service Amavis :

srv:~$ service amavis restart

Ensuite récupérer la clef DKIM qu’il va falloir insérer dans votre enregistrement DNS avec la commande suivante : :

srv:~$ amavisd-new showkeys
; key#2, domain mercereau.info, /var/lib/amavis/pki/dkmi-mercereau.info-key.pem
default._domainkey.mercereau.info.    3600 TXT (
  "v=DKIM1; p="
  "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvF925xN7NeMekLrSMSTtZaSx6"
  "9u6njS+mG99DcM1kqj+9RW79KsdKxNXlMull3Mcp6KwKHV7eb8bSvx2TeJ0YUxuA"
  "hZK0dc971R+F6Xmq4fYW02PeuF1fiyl2oL/rxojGT20anxEc9hzFR8jaCFv4CXhh"
  "1efU2BxngTD/onYQVQIDAQAB")

Il faut donc créer un enregistrement DNS comme tel :

default._domainkey 18000 TXT « v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
[..]
QVQIDAQAB »

Vérification

Après propagation DNS (que vous pouvez vérifier avec l’outil Dig), vous pouvez lancer la commande :

srv:~$ amavisd-new testkeys
TESTING#2: default._domainkey.mercereau.info => pass

Pour être vraiment certain que votre message est signé vous pouvez vous envoyer un email sur une adresse externe et vérifier les entêtes. Sinon vous pouvez envoyer un email à : check-auth [arobase] verifier.port25.com et vous reverser un rapport complet sur « l’état de votre port 25 »

==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham

[…]
———————————————————-
SpamAssassin check details:
———————————————————-
SpamAssassin v3.3.1 (2010-03-16)

Result: ham (-2.0 points, 5.0 required)

La partie importante pour nous est donc le DKIM check qui doit être à « pass ». D’autre part je ne peux que vous conseiller d’ajouter aussi un enregistrement SPF.

Le rapport m’indique que j’ai un SpamAssassin score de -2 ce qui est très bon car la configuration par défaut de SpamAssassin annonce les messages en SPAM lorsqu’il dépasse un score de +5.

Ressources :

[rkhunter] Warning The file properties have changed

Rkhunter sert à détecter les rootkits, portes dérobées et exploits. Il se base en partie sur les Inodes des exécutables. Après avoir fait des aptitude safe-upgrade. vos exécutables changent…  Il faut donc en avertir Rkhunter…

Après mon premier upgrade j’ai reçu le mail suivant :

Warning: The file properties have changed:
File: /bin/bash
Current inode: 21372580 Stored inode: 44044163

Warning: The file properties have changed:
File: /usr/sbin/cron
Current inode: 25046249    Stored inode: 44305975
[...]

Il faut donc mettre la base Rkhunter à jour avec les nouveaux inodes.

Méthode manuel :

Lancer les commandes suivantes :

$ rkhunter --update
$ rkhunter --propupd

Méthode automatique

Si comme moi, vous êtes un chouilla fainéant créer le script /etc/apt/apt.conf.d/98-rkhunter avec le contenu suivant :

$ cat /etc/apt/apt.conf.d/98-rkhunter 
DPkg::Post-Invoke {
    "rkhunter --update;"
    "rkhunter --propupd";
};

Ainsi la base Rkhunter sera remis à jour à chaque fois que vous utiliserez apt/aptitude.

Astuce trouvé sur le forum debian-fr.org

Serveur proxy Squid3 avec SSL (rebuild debian squeeze package)

Le paquet Debian pour squid3 n’a pas été compiler avec l’option « –enable-ssl » il va donc falloir recompiler le paquet avec cet option.

# Installation des outils de compilations
apt-get install devscripts build-essential fakeroot libssl-dev
# Déplacement dans l'environnement de travail
cd /usr/src
# Téléchargement des sources
apt-get source squid3
# Installation des dépendances pour la compilation
apt-get build-dep squid3
# Édition des règles de compilations
cd /usr/src/squid3-3.*
# Ajouter dans "--enable-ssl \" dans le fichier rules
vi debian/rules
# Compilation
./configure
debuild -us -uc -b
# Installation des paquets :
cd ..
dpkg -i  squid3_*.deb squid3-common_*.deb

Générer le certificat

Pour le SSL il nous faut un certificat

mkdir /etc/squid3/ssl
cd /etc/squid3/ssl
openssl genrsa -des3 -out privkey.pem 204
openssl req -new -x509 -nodes -key privkey.pem -out cacert.pem -days 3650
# Retirer la passphrase
openssl rsa -in privkey.pem -out privkey_noPwd.pem

Configuration de squid

Modification du fichier /etc/squid3/squid.conf

[...]
https_port 3130 [...] cert=/etc/squid3/ssl/cacert.pem key=/etc/squid3/ssl/privkey_noPwd.pem
[...]

Edit : De Bourseguin : omission de libssl-dev

Connexion SSH avec clé RSA + passphrase

Pour ce connecter de façon vraiment sécurisé à vos serveur, la clé RSA et la passphrase sont un très bon début…

D’abord générer des clés

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/thouveni/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): ***********************************************
Enter same passphrase again: ***********************************************
Your identification has been saved in /home/thouveni/.ssh/id_rsa.
Your public key has been saved in /home/thouveni/.ssh/id_rsa.pub.
The key fingerprint is:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ensuite diffuser sa clé publique

$ scp ~/.ssh/id_rsa.pub [user@]host:~/.ssh/authorized_keys2
id_rsa.pub 100% 401 0.4KB/s 00:00

OU

cat $HOME/.ssh/id_rsa.pub | ssh [user@]host "mkdir -p .ssh; chmod 700 .ssh; cat >> .ssh/authorized_keys"

OU

ssh-copy-id [user@]host

Enfin tester la connexion :

$ ssh [user@]host
Enter passphrase for key '/home/user/.ssh/identity':

Valider temporairement sa passphrase :

eval 'ssh-agent'
ssh-add ~/.ssh/id_rsa

Modification de votre passphrase :

ssh-keygen -p

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
5c:9b:16:56:a6:cd:11:10:3a:cd:1b:a2:91:cd:e5:1c.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:1
RSA host key for ras.mydomain.com has changed and you have requested strict checking.
Host key verification failed.

Solution :

ssh-keygen -R IP

En continuant à utiliser le site, vous acceptez l’utilisation des cookies (au chocolat) Plus d’informations

Les cookies sont utilisés à des fin de statistique de visite du blog sur une plateforme indépendante que j'héberge moi même. Les statistiques sot faites avec un logiciel libre. Aucune information n'est redistribué à google ou autre. Je suis seul autorisé à lire ces informations

Fermer