SpamAssassin, Postgrey, et les RBL

Transcription

SpamAssassin, Postgrey, et les RBL
Installation d'une solution de messagerie sous GNU/Linux Debian SpamAssassin, Postgrey, et les RBL
Table des matières
Introduction : ................................................................................................................
............................2
Ce qu'il faut savoir : .................................................................................................................
.................2
Configuration de Postfix :...............................................................................................
..........................2
Configuration de postgrey : ........................................................................................................
..............3
Configuration de Spamassassin : .................................................................................
............................3
Configuration de Procmail :..................................................................................................
....................4
Création des comptes de messagerie : ...............................................................................................
.......5
Test de notre configuration : ...........................................................................................................
..........6
Introduction : Ce howto me sert d'aide mémoire pour la mise en place d'un serveur de messagerie sous GNU/Linux Debian, avec le maximum de protection en terme de SPAM.
Ce qu'il faut savoir : Je vais vous resumer ici rapidement le fonctionnement d'une messagerie et de ses differents occupants.
–
le MTA : Mail Transport Agent, c'est lui qui transporte vos mail. (ex: Postfix, Sendmail)
–
le MDA : Mail Delivery Agent, c'est lui qui dépose les mails dans votre BAL. (ex: procmail)
–
le MUA : Mail User Agent, autrement votre logiciel de messagerie. (ex: IceDove, Outlook)
Pour résumer vous allez grace a ce howto mettre en place votre propre MTA (Postfix) qui se chargement de recevoir vos mail et de les router vers votre MDA (procmail) qui après certaines vérifications déposera vos mails dans votre boite de reception, prets à être réceptionné par votre MUA.
En effet revenons sur un point important, avant d'être déposé dans votre boite de reception, vos mails seront passés à la moulinette. Tout d'abord le MTA va vérifier le mail, voir si sont FQDN est correct (auquel cas il le refusera), il vérifiera si le FQDN est blacklisté, puis si le mail passe ce test (qui permet de réduire considérablement le spam dans vos bal), il sera délivré au MDA, qui lui l'enverra à SpamAssassin qui fera sa popotte. Ensuite et seulement si le mail est ok, sera délivré dans votre boite de réception. Et dire que tout cela se fait à la vitesse de l'eclair :o)
Maintenant mettons tout cela en place.
Nous commencerons par installer les paquets suivant : postfix, spamassassin, postgrey, procmail, xmail.
Configuration de Postfix :
/etc/postfix/main.cf
#CONFIGURATION POSTFIX + RBL + ANTISPAM
#Ncrapoulet 2006 ­ 2007
#Déja on se présente
smtpd_banner = $myhostname ESMTP $mail_name Spammer Sux
biff = no
#exige la commande helo et peut­être découragera quelques serveurs de spam
smtpd_helo_required = yes
myorigin = fqdn.tld
myhostname = ma_machine.fqdn.tld
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = fqdn.tld
relayhost =
mynetworks = 127.0.0.0/8 192.168.1.0/24
# Indique qu'il faudrat consulter le daemon procmail pour obtenir les information de délivrance du courrier.
mailbox_command = procmail ­a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#Configuration des RBL
# Rejeter tout mail mal formatéou le nom de domaine est inconnu
smtpd_helo_restrictions = reject_non_fqdn_hostname
# Puis on check un peu la forme du mail et on regarde si l'expéteur est connu comme spammer. On a avant le permit un ligne relative a POSTGREY.
smtpd_recipient_restrictions =reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_sender_domain,reject_unknow
n_recipient_domain,permit_mynetworks,reject_unauth_destination,reject_unauth_pipelining,reject_i
nvalid_hostname,reject_rbl_client relays.ordb.org,reject_rbl_client opm.blitzed.org,reject_rbl_client sbl­xbl.spamhaus.org,reject_rbl_client bl.spamcop.net,check_policy_service inet:127.0.0.1:60000,permit
Configuration de postgrey : Aucune configuration n'est à effectuer, tout se configurer dans le fichier main.cf de postfix que nous venons de voir. Le seul gros travail consiste à editer les whitelist de Postgrey dans /etc/postgrey/... et à y inscrire les FQDN que vous voulez ne pas se voir controlés par postgrey.
Configuration de Spamassassin : /etc/spamassassin/local.cf
#################################################
## Configuration de Spam Assassin #
##################################################
#
## Mettre le spam en pièce jointe du message d'avertissement de spam (0=no, 1=yes, 2=safe)
report_safe 1
## Activation de l'utilisation du filtre de Bayes
use_bayes 1
## Active le filtre d'auto­apprenstissage de Bayes
bayes_auto_learn 1
## Nombre de hits requit par le mail avant d'etre considéré comme spam
required_hits 6
## Réécruture du sujet du mail rewrite_header Subject *****SPAM*****
report_safe 1
## Réseau non filtré
trusted_networks 192.168.1.
#Whitelist (mieux vaut privilégier les whitelists de Postgrey)
whitelist_from *@lineis.fr
whitelist_from *@techdata.fr
whitelist_from *@actebis*
whitelist_from *@autodesk.com
whitelist_from *@eur.autodesk.com*
whitelist_from *@matfor.fr
whitelist_from *@manandmachine.fr
whitelist_from *@aiga­fr.com
whitelist_from *@batiweb.com
whitelist_from *@hitechpro.com
whitelist_from *@softeurope.com
Configuration de Procmail :
/home/<utilisateur>/.procmailrc
# Quelques variables d'environement
VERBOSE=Yes
SHELL=/bin/bash
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
MAILDIR=/home/<utilisateur>/Maildir/
DEFAULT=$MAILDIR
ORGMAIL=$MAILDIR
LOGFILE=$MAILDIR/.procmail.log
LOCKFILE=$HOME/.lockmail
LOGNAME=$USERNAME
# SpamAssassin
# # Cette recette limite le contrôle aux mails inféeurs à102400 ko (1024 x 100) elles est expriméen octets, # # :0 indique le début d 'une recette, f pour que le programme appelé agisse en tant que filtre et w pour attendre la fin de l'exétion avant la suite.
:0fw
* < 102400
# exécution de spamc | /usr/bin/spamc ­f
{
EXITCODE=$? # renvoie du code de sortie
}
# #On filtre du contenu pour allé plus vite que spamassassin sur certains mots interdits
:0
* ^Subject: .*(price| mortgage|doctor|viagra|sex|casino|spam|spam alert|pharmacy|pharma|doctor|
money|bank|penis|enlargment|sperm)
## Si le mail répond à une des règles précédentes, on l'envoi à l'adresse ci­dessous
! [email protected]
## Sinon on le délivre dans la mailbox de l'utilisateur
:0
$MAILDIR
Création des comptes de messagerie : Dans le /home de chaques utilisateurs, nous allons créer un dossier Maildir qui contiendra les mails. Ce même répertoire utilisateur contiendra un fichier .procmailrc que nous venons de voir précédement (Attention il est important de vérifier que le .procmailrc de l'utilisateur possède les bons chemins dans les variables). Création du la BAL du l'utilisateur foo :
Dans le /home/foo :
maildirmake Maildir (la commande maildirmake fait partie du paquet xmail)
Nous possédons maintenant notre répertoire qui contiendra nos mails. Rappelons que notre postfix est configurer pour interroger procmail sur les methode de délivrance du courrier. Créons dont un fichier .procmailrc dans /home/foo. Le contenu de ce répertoire sera le même que celui vu ci­dessus. Attention à ne pas oublier de modifier la variable MAILDIR en remplacant <utilisateur> par foo dans notre exemple : MAILDIR=/home/<utilisateur>/Maildir/
Notre démonstration touche à sa fin, nous allons vérifier les droits sur le fichiers .procmailrc et le dossier Maildir :
Fichier
Utilisateur
Groupe
Droits
Maildir
foo
foo
770
.procmailrc
foo
foo
600
Test de notre configuration : Envoyons un mail à l'aide de la commande : > mail ­s test_messagerie foo
Puis vérifions la presence du mail dans la boite de reception : > ls /home/foo/Maildir/new
1187368392.28665_1.machine.fqdn.tld
Nous avons bien recu notre mail

Documents pareils