dimanche 14 février 2010
P3scan, clamav et spamassassin sur une machine dédiée sous Lenny...
Par david techer, dimanche 14 février 2010 à 11:24 :: Mon réseau et compagnie...
0. Comment c'était avant...
Avant l'arrivée de melina sur le réseau (voir ce lien), P3Scan tournait sur olivia. Donc un coup de iptables et REDIRECT sur le port 8110 suffisait amplement sur la machine pour tout ça...Le problème est que clamav peut-être le temps d'un travail sur un mail assez consommateur au niveau CPU...
Comme Xen est opérationnel sur melina, il m'est maintenant possible de faire tourner p3scan sur une machine dédiée.
1. Google et solutions possibles pour p3scan:
- [1]http://irp.nain-t.net/doku.php/100iproute:010_topologie
- [2] http://irp.nain-t.net/doku.php/100iproute:020_iproute2
2. Réseau et solution
J'ai donc retenu une solution sans "passerelle miroir" par rapport à lui comme exposé dans [1].J'ai procédé samedi soir à la configuration suivante sur mon réseau:

Les habitués du site ont du remarqués des coupures ce vendredi ou samedi pour accéder au site. Normal, je procédais à des tests sur olivia...Désolé pour les coupures et les gênes encourus.
Installation de p3scan, clamav et spamassassin
Depuis melina-xen05:apt-get update apt-get install clamav spamassassin p3scan razor pyzorAu niveau des configurations:
- spamassassin:
melina-xen05:~# grep -vE '^(#|$)' /etc/spamassassin/local.cf rewrite_header Subject *****SPAM***** report_safe 1 use_bayes 1 bayes_auto_learn 1
- clamav
Commencez par ajouter l'utilisateur au groupe
adduser clamav p3scan
melina-xen05:~# grep -vE '^(#|$)' /etc/clamav/clamd.conf LocalSocket /var/run/clamav/clamd.ctl FixStaleSocket true User clamav AllowSupplementaryGroups true ScanMail true ScanArchive true ArchiveLimitMemoryUsage false ArchiveBlockEncrypted false MaxDirectoryRecursion 15 FollowDirectorySymlinks false FollowFileSymlinks false ReadTimeout 180 MaxThreads 12 MaxConnectionQueueLength 15 StreamMaxLength 10M LogSyslog false LogFacility LOG_LOCAL6 LogClean false LogVerbose false PidFile /var/run/clamav/clamd.pid DatabaseDirectory /var/lib/clamav SelfCheck 3600 Foreground false Debug false ScanPE true ScanOLE2 true ScanHTML true DetectBrokenExecutables false MailFollowURLs false ExitOnOOM false LeaveTemporaryFiles false AlgorithmicDetection true ScanELF true IdleTimeout 30 PhishingSignatures true PhishingScanURLs true PhishingAlwaysBlockSSLMismatch false PhishingAlwaysBlockCloak false DetectPUA false ScanPartialMessages false HeuristicScanPrecedence false StructuredDataDetection false LogFile /var/log/clamav/clamav.log LogTime true LogFileUnlock false LogFileMaxSize 0
- p3scan
melina-xen05:~# grep -vE '^(#|$)' /etc/p3scan/p3scan.conf pidfile = /var/run/p3scan/p3scan.pid maxchilds = 10 ip = 0.0.0.0 port = 8110 user = p3scan notifydir = /var/spool/p3scan/notify virusdir = /var/spool/p3scan justdelete scannertype = basic scanner = /usr/bin/clamscan --no-summary virusregexp = .*: (.*) FOUND template = /etc/p3scan/p3scan-fr.mail subject = [virus] dans un message pour vous: notify = Pour information, le message a ete detruit. checkspam spamcheck = /usr/bin/spamc
4. Configuration
Avant de continuer merci de suivres les explications et tests fournis Ã- http://irp.nain-t.net/doku.php/100iproute:020_iproute2
- http://irp.nain-t.net/doku.php/100iproute:030_netfilter
- http://irp.nain-t.net/doku.php/100iproute:040_le_proxy
-
Du coup avant que celà ne marche chez moi, le serveur a du être redémarré plusieurs fois.
- Depuis olivia
echo "200 pop3" >> /etc/iproute2/rt_tables
puis dans /etc/rc.local,on ajoute les lignesip rule add fwmark 6 table pop3 ip route add default via 192.168.2.246 dev eth0 table pop3 iptables -t mangle -A PREROUTING -i eth1 -p tcp -m tcp --dport 110 -j MARK --set-mark 6
- Sur melina-xen05:Dans
/etc/rc.local, on ajouteiptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110 -j REDIRECT --to-port 8110 iptables -t nat -A OUTPUT -p tcp --dport pop3 -m owner --uid-owner 106 -j ACCEPT iptables -t nat -A OUTPUT -p tcp --dport pop3 -j REDIRECT --to 8110
Ici 106 correspond au uid de l'utilisateur de p3scan, obtenu par la commande
id p3scan
5. Mise à jour pour SpamAssassin 3.3.0 et pour Clamav
Bien que celà fonctionne avec la version actuel de SpamAssassin sous Lenny, il est possible de profiter de la version de la toute dernière version de clamav et de SpamAssassin en suivant les indications depuis https://admin-serv.net/blog/2010/01/31/456/spamassassin-v3-3-0-nouveautes-et-mise-a-jour/#more-456.
Ca a marché au poil pour moi...



