30 janv. 2009
Policyd et policyd-weight
Par Christophe de saint leger le vendredi, janvier 30 2009, 11:21 - Serveur - Lien permanent
!!!!Luttons encore contre le spam
{{Nous allons voir ici comment installer policyd et policyd-weight . Pour rappel , ces deux petites extensions , servent , entre autre , à limiter les abus d'envoi et de reception de mails , gérer ou pas une greylist , whitelist , blacklist , gestion des rbls ect ... }}
policyd-weight
Comme précisé au dessus , cette extension , s'occupe d'interroger les RBL's ..
installation
Pour l'installer , rien de plus simple :
apt-get install policyd-weight
liaison avec postfix
Pour le lier à postfix , nous allons éditer notre fichier /etc/postfix/main.cf et ajouter la ligne suivante :
check_policy_service inet:127.0.0.1:12525
Juste avant le permit de smtpd_recipient_restrictions
conclusion
Et voilà , il ne vous reste plus qu'à redémarrer postfix pour prendre en compte les modifications .
policyd
Policyd , et une extension trés utile , qui permet entre autre , de gérer le volume de mails entrant/sortant par utilisateur , ou de gérer une grey/white/black liste , ainsi que quelques autres options ..
Prerequis
Ici , il nous faut en plus de postfix , une base de données mysql prête à l'emploi .
installation
L'installation est aussi simple que pour policyd-weight :
apt-get install postfix-policyd
Pendant l'installation laisser le paquet s'occuper de la base de données , il vous demande alors login et mot de passe de l'administrateur de mysql ... une fois cette étape terminé , policyd est pret à l'emploi , mais n'est pas encore configuré .
Configuration
Le fichier de configuration se trouve ici : /etc/postfix-policyd.conf
Dans ce fichier plusieurs sections sont configurables :
- WHITELISTING
- BLACKLISTING
- BLACKLISTING HELO
- BLACKLISTING HELO
- BLACKLIST SENDER
- HELO_CHECK
- SPAMTRAP
- GREYLISTING
- SENDER THROTTLE
- RECIPIENT THROTTLE
ça nous en fait pas mal pour une seule extension hein !!!
Personnellement , je ne vais utiliser que les Blacklistes et les quotas de mails envoyés ( SENDER THROTTLE ) .
Pour activer les différents modules , il y a à chaque fois au debut de la configuration de ce module , un paramétre pour activer ou désactiver le module .. exemple , pour les greylists :
GREYLISTING=0
Pour activer la greyliste , il suffit de remplacer le 0 par 1 , et c'est la même chose pour tous les module ...
Ici , je vais donc juste activer tous les "blacklisting" sans aller plus loin dans les paramètres , et aussi le comptage des mails sortant .
Pour limiter les mails sortant , nous allons dans la section SENDER THROTTLE
On active le module :
SENDERTHROTTLE=1
Pour mon serveur , je me connecte via SASL , je vais donc mettre les deux paramétres comme ci-dessous :
SENDER_THROTTLE_SASL=1 SENDER_THROTTLE_HOST=0
Si votre serveur est en réseau local , il faut faire l'inverse , c'est à dire : sender_throttle_sasl=0 et sender_throttle_host=1 , vous ne pouvez pas mettre les deux à 1 .
Ensuite , pour les autres options , j'ai laissé par defaut sauf :
SENDERMSGLIMIT=50
Qui correspond au nombre maximum de mails envoyés dans la période de temps définie plus bas .
SENDERRCPTLIMIT=100
Le nombre maximum de destinataires dans la période de temps définie plus bas ( et oui car un mail peut être égale à X destinataires , il faut donc aussi limiter de ce coté )
SENDERQUOTALIMIT=250000000
La taille total cumulé maximum des mail envoyés dans la période de temps définie plus bas ( ici 250Mo )
SENDERTIMELIMIT=1h
Cette fameuse période de temps .. ici 1 heure
Voilà les paramètres que j'ai modifiés .
Liaison avec postfix
Ici , une ligne suffit pour prendre en compte policyd dans postfix , mais selon ce que vous souhaitez faire , il vous faut la placer au bon endroit ... pour plus d'infos d'infos à ce sujet , je vous envoie vers cet article qui explique pourquoi mettre la ligne suivante à tel ou tel endroit dans le main.cf de postfix Starbridge
Moi je veux absolument compter le nombre de mail sortant , et les destinataires .. la taille m'importe peu ...
Je vais donc placer la ligne :
check_policy_service inet:127.0.0.1:10031
Juste avant
permit_mynetworks
Dans smtpd_recipient_restrictions .
Attention : comme expliqué sur le site Starbridge , il faut désactiver les modules de whitelisting , à défaut , votre serveur risque de devenir OpenRelais . ( Vous êtes prévenu )
Voilà pour la configuration de policyd il ne vous reste plus qu'à relancer postfix et policy :
/etc/init.d/postfix restart /etc/init.d/postfix-policyd restart /// Vous devriez ensuite voir apparaître , dans les logs de postfix
tail -f /var/log/mail.log ///
des choses de ce genre :
postfix-policyd: rcpt=104, throttle=clear(a), host=195.146.***.***, from=***@****.fr, to=*******@*****.fr, size=26928/51200000, quota=26928/250000000, count=1/50(1), rcpt=1/100(6), threshold=0%
