Installer Postgrey

Auteur : Olivier BOYER - oboyer () ajoute ! org

Mots clés

OpenBSD, OpenBSD 3.8, postfix, postgrey, greylist, spam

Introduction

Page du projet : http://isg.ee.ethz.ch/tools/postgrey/

Page de Postfix : http://www.postfix.org/

Le greylisting est une technique qui permet de lutter contre le spam.

Pour plus d'informations sur le greylisting, lisez la page suivante (en Anglais) : http://projects.puremagic.com/greylisting/

Dans notre implémentation, on se sert du script perl Postgrey développé par David Schweikert. Il s' interface avec le MTA Postfix (développé par Wietse Venema).

Le produit va être installé via les ports.

Note

Toutes les commandes présentées ici, sont à exécuter, sauf mention contraire, en tant qu'administrateur de la machine.

Installer Postgrey

Installer le produit

Pour installer Prostgrey via les ports, exécutez les commandes suivantes :

# cd /usr/ports/mail/postgrey
# make install

Créer un utilisateur dédié

Le script de greslisting, dans notre configuration, va tourner en tant que daemon. Pour limiter les problèmes de sécurité, il faut créer un utilisateur dédié. Procédez comme suit :

# groupadd -g 601 _postgrey
# useradd -d /nonexistent -s /sbin/nologin -u 601 -g 601 _postgrey

Créer un répertoire de stockage

Créez le répertoire de stockage des mails en attente de validation :

# mkdir /var/spool/postfix/postgrey
# chown _postgrey:_postgrey /var/spool/postfix/postgrey
# chmod 750 /var/spool/postfix/postgrey

Copier les fichiers de greylist

Copiez les fichiers de whitelist (c'est à dire les clients connus comme non spammeur) fournis avec le produit. Procédez comme suit :

# cd /usr/ports/mail/postgrey/w-postgrey-1.18/postgrey-1.18
# cp postgrey_whitelist_clients /etc/postfix
# cp postgrey_whitelist_recipients /etc/postfix

Par défaut, Postgrey lit aussi le fichier : /etc/postfix/postgrey_whitelist_clients.local

Vous pouvez donc ajouter vos entrées de clients autorisés dans ce fichier. Par exemple :

# touch /etc/postfix/postgrey_whitelist_clients.local
# echo "un_domaine_ami.org" >> /etc/postfix/postgrey_whitelist_clients.local

Nettoyer l'installation de Postgrey

Exécutez les commandes suivantes :

# cd /usr/ports/mail/postgrey
# make clean clean-depends

Modifier la configuration de Postfix

Le script de greylisting s'interface avec Postfix. Il agit sur les règles de filtrage des destinataires des messages.

Dans le fichier de configuration de Postfix, /etc/postfix/main.cf, ajoutez à l'entrée smtpd_recipient_restrictions les lignes suivantes :

smtpd_recipient_restrictions =
   [ ... ],
   reject_unauth_destination,
   check_policy_service inet:127.0.0.1:10023,
   [ ... ],
   permit

Intégrer le service Postgrey au système

Créer un script de démarrage pour Postgrey

Le script de greylisting tourne en tant que daemon. Le produit installé par les ports contient uniquement le script Perl de greylisting. Pour le démarrer en tant que daemon, il faut créer un script de démarrage. Ce script sera installé, par exemple, dans le répertoire /etc/rc.d. Ce répertoire n'existe pas par défaut sous OpenBSD.

Créer le répertoire /etc/rc.d

Pour le créer, procédez comme suit :

# mkdir /etc/rc.d
# chown root:wheel /etc/rc.d
# chmod 750 /etc/rc.d

Créer le script /etc/rc.d/postgrey

Créez le script de démarrage /etc/rc.d/postrey.

Puis, fixez les permissions comme suit :

# chown root:wheel /etc/rc.d/postgrey
# chmod 750 /etc/rc.d/postgrey

Modifier le fichier /etc/rc.conf.local

le fichier /etc/rc.conf.local contient les paramètres d'activation des services exécutés au démarrage de la machine. Ajouter la ligne suivante à la fin du fichier :

# Start postgrey (greylist daemon for postfix)
postgrey_flags="YES"

Modifier le fichier /etc/rc.local

Pour activer le daemon postgrey à chaque démarrage, modifiez comme suit le fichier /etc/rc.local :

# Start postgrey (postfix greylisting daemon)
if [ -x /etc/rc.d/postgrey ]; then
        echo -n ' postgrey';    /etc/rc.d/postgrey start
fi

Modifier le fichier /etc/rc.shutdown

Pour stopper le daemon postgrey à chaque arrêt du système, modifiez comme suit le fichier /etc/rc.shutdown :

# Stop postgrey (postfix greylisting daemon)
if [ -x /etc/rc.d/postgrey ]; then
        echo -n ' postgrey';    /etc/rc.d/postgrey stop
fi

Modifier le fichier /etc/changelist

OpenBSD offre la fonctionnalité de sauvegarde et de suivi de modifications des fichiers de configuration. Pour cela, le système s'appuie sur le fichier /etc/changelist, voir changelist(5), qui est lu par le script /etc/daily(8).

Pour suivre les fichiers créés dans ce document, ajoutez les lignes suivantes au fichier /etc/changelist :

# postgrey (greylisting) daemon
/etc/postgrey.conf
/etc/rc.d/postgrey

Activer Postgrey

Démarrer Postgrey

Pour activer dès maintenant postgrey, exécutez la commande suivante :

# /etc/rc.d/postgrey start

Relire la configuration de Postfix

Exécutez la commande suivante :

# postfix reload

Documentation

Page de manuel

$ perldoc /usr/local/libexec/postgrey

Liens

 
doc/openbsd/postgrey.txt · Dernière modification: 2009/12/23 22:36 (édition externe)     Haut de page