j-chkmail
Logiciel de filtrage de courrier. Il remplace avantageusement des logiciels comme Amavisd-new. Tout est centralisé dans le même logiciel. Il minimise les entrées sorties, fait nativement du greylisting, du rate limiting, surveille les attaques au dictionnaire, et gère l'anti-spam.
- Utilise les thread. Voir les awards de Sendmail pour l'auteur
- Utilise la libmilter et donc intercepte les courriers avant de fermer la discussion avec l'émetteur.
- Le greylisting est utilisable en local ou via un service.
- Plusieurs niveaux anti-spam. URLBL (liste noire de URLs de spammers) BAYESIEN (construction de bases bayesiennes) ORACLE (à la SpamAssassin)
- Protection du serveur par limitation de consommation de ressources (cadence de connexion, connexions ouvertes simultanement, ...) par adresse IP.
- Filtrage des messages avec pièces jointes exécutables (Unsafe files). Possibilité aussi de coupler j-chkmail avec un anti-virus de passerelle (ClamAV, Mc Afee et F-prot).
- Grande richesse des commandes ligne (CLI).
- Contrôle du filtre à chaud : consultation de l'état du filtre et modification de paramètres de fonctionnement sans arrêt du filtre.
La réponse du filtre à un message indésirable peut être soit "rejet", "mise en quarantaine" ou "marquage d'en-tête". Le rejet est fait dans la session SMTP, ce que évite de générer des bounces.
Il s'installe sous Sendmail ou Postfix via l'API milter.
La configuration se fait via un fichier de configuration classique où l'on active certaines options. Le reste est fait dans des fichiers textes (description des réseaux amis, des serveurs où on ne veut pas faire d'antivirus..), et un simple make transforme les données en base BDB.
- Adaptation des paramètres de filtrage selon le niveau de charge (nombre de connexions en cours et charge CPU) et utilisation du rate limiting pour favoriser les réseaux amis. La machine reste stable en cas d'attaque.
- Deux processus tournent. L'un d'eux surveille l'état du filtre, prêt à le relancer.
- Possibilité de définir les adresses mail valides et de contrôler les machines qui sondent et donc de mettre en liste noire dynamiquement (pendant 4 heures) les clients SMTP qui font trop d'erreurs de destinataires.
- La plupart des options de filtrage sont configurables, selon le cas, par l'adresse IP, l'expéditeur et destinataire.
- Statistiques conservées sur plusieurs jours (en mémoire et sur disque) accessibles via j-printstats. On peut facilement interfacer avec rrdtool
- Tout évènement autre que le traitement transparent d'une connexion est enregistré.
Filtrage des courriers entrants de notre Université pour plusieurs milliers de comptes. Nous avions eu quelques soucis sur le trio Amavisd-new + SpamAssassin + Postgrey tournant avec postfix.
Nous avons préféré cette solution, car elle intègre toutes les fonctionnalités dans un seul programme. Celui-ci est très stable. On peut rejeter un SPAM directement dans la session appelante sans faire d'abord un "accept", puis un "reject" basé sur l'expéditeur.
De plus on a des statistiques via la CLI et on peut voir les scores du SPAM dans les logs systèmes. La vitesse de traitement est impressionnante.
Pour le moment, le support d'IPV6 est limité. Par exemple, IPV6 ne sera pas soumis au greylisting et à beaucoup d'autres fonctions. Il y a bien un traitement antiviral et antispam selon la configuration, mais IPV6 sera simplement considéré comme AMI.
La gestion d'une base bayesienne est un peu complexe si l'on veut la gérer soi-même. Pour l'instant, nous prenons celle distribuée par l'auteur.
Commentaires
Responsable thématique précédent
Cette fiche a d'abord été suivie par le responsable thématique Jacquelin Charbonnel. Gilian Gambini l'a reprise en février 2012.