P3scan permet de scanner a l'aide d'un antivirus les messages entrants d'un client email. Il est en outre possible de l'utiliser avec un client antispam (tel spamassassin).
Si vous utilisez conjointement Thunderbird sous Ubuntu et Windows, que vous ne voulez pas infecter d'autres ordinateurs en renvoyant des messages reçus, ou tout simplement si vous êtes parano. De plus cela ne touche en rien votre configuration de client email et est valable pour tous les utilisateurs du système sans qu'ils ne le sachent. C'est pourquoi il peut être très utile pour un réseau domestique.
P3scan va s'intercaler entre le client (par exemple Thunderbird) et le serveur (par exemple pop.free.fr). Il se fait passer du coté client pour le serveur et du coté serveur pour le client. Ainsi il peut traiter les mails de manière transparente pour le serveur et le client (aucun des deux ne se rend compte qu'il y a P3scan entre les deux). Explication simple :
D'autres antivirus sont supportés par P3scan.
Installez le paquet p3scan.
éditer le fichier /etc/p3scan/p3scan.conf.
Pour la configuration du réseau | |
---|---|
pidfile | Endroit où inscrire le fichier indiquant le fonctionnement du programme |
maxchilds | Connexion maximum du programme (10 scans à la fois) |
ip | Adresse réseau sur laquelle attendre le mail |
port | Port où le mail doit arriver au programme |
Pour la configuration du système | |
user | Nom que le démon utilise pour travailler (utile pour les permissions) |
notifydir | Répertoire où le programme inscrit les notifications et repertoire temporaire de travail |
virusdir | Répertoire de sauvegarde des fichiers infectés |
justdelete | Effacement du fichier infecté sans sauvegarde |
Pour la configuration de l'antivirus | |
scannertype | Type de programme antivirus |
scanner | Endroit où se situe l'exécutable de l'antivirus |
viruscode | Expression du résultat du scan |
virusregexp | Nom du virus à inclure dans la notification |
demime | Scanner en fonction du type de fichier (zip,jpg,…) et pas tel que recu par le client |
Pour la configuration de l'antispam | |
checkspam | Vérifier le spam |
spamcheck | Endroit où se situe l'exécutable de l'antipsam |
Pour la configuration des notifications dans le mail | |
template | Fichier à renvoyer à la place du fichier infecté |
subject | Sujet du message à la place du fichier infecté |
notify | Notification dans le message avec l'option justdelete |
pidfile = /var/run/p3scan.pid maxchilds = 10 ip = 0.0.0.0 port = 8110 user = p3scan notifydir = /var/spool/p3scan/notify virusdir = /var/spool/p3scan justdelete template = /etc/p3scan/p3scan-fr.mail subject = [virus] dans un message pour vous: notify = Pour information, le message a été détruit.
scannertype = basic scanner = /usr/bin/clamscan --no-summary -i virusregexp = .*: (.*) FOUND
Installez le paquet clamav-daemon.
scannertype = basic scanner = /usr/bin/clamdscan --no-summary -i virusregexp = .*: (.*) FOUND
Vous devez ajouter clamav au groupe p3scan pour pouvoir lire dans les fichiers temporaires de P3scan :
sudo adduser clamav p3scan
Avec cette méthode, le scan des mails est légèrement plus rapide.
scannertype = basic scanner = /usr/bin/f-prot -archive -ai viruscode = 3,8 virusregexp = (?=Infection\:)[[:space:]]*(.*)$ demime
checkspam spamcheck = /usr/bin/spamc ## avec le démon spamassassin
Le fichier de configuration est bien détaillé, d'autres exemples sont indiqués.
Pour de plus amples informations sur le pare feu par défaut, je vous renvoie sur la page iptables
Pour que p3scan puisse fonctionner, il faut rediriger les mails entrants sur le port 110 (port par défaut) vers le port ou p3scan attend.
Ça c'est très bien mais comment fait-on ? Ma messagerie ne fonctionne plus maintenant!!!!!!!!!!!
sudo iptables -t nat -A OUTPUT -p tcp --dport pop3 -m owner --uid-owner <UID> -j ACCEPT sudo iptables -t nat -A OUTPUT -p tcp --dport pop3 -j REDIRECT --to 8110
En mettant l'UID que votre système a attribué à P3scan, pour l'obtenir :
sudo id p3scan
Pour ceux qui utiliseraient encore Firestarter, pour la persistance des règles, il suffit de copier les 2 règles iptables dans le fichier user-pre de Firestarter. Faites au préalable les tests à l'aide de telnet décrit plus bas.
sudo vi /etc/firestarter/user-pre
Pour obtenir le contenu suivant :
iptables -t nat -A OUTPUT -p tcp –dport pop3 -m owner –uid-owner <UID> -j ACCEPT
iptables -t nat -A OUTPUT -p tcp –dport pop3 -j REDIRECT –to 8110
Shorewall est un pare-feu basé sur iptables , seul la manière de le paramétrer diffère.
éditer le fichier /etc/shorewall/rules :
REDIRECT fw 8110 tcp pop3 - - - !p3scan
Pour cela on va utiliser une console telnet qui est un protocole de communication entre internet et son ordinateur dépourvu d'interface graphique.
telnet pop.votrefournisseur.fr 110 user votrelogindemessagerie pass votremotdepassedemessagerie list retr 1
Si tous se passe bien vous devriez avoir en reponse quelque chose comme :
retr 1 +OK P3Scan'ing...
pour quitter :
quit