Mon système local se base sur Exim ( pour les users du réseau ) et fetchmail ( pour récupérer sur le net ) sur Debian. C'est relativement léger puisque ça a tourné sur un 486. J'ai créé un fichier .forward dans /etc/exim/. Le voici :
# Exim filter
if ( $header_content-type: matches "(?:file)?name=(\"[^\"]+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc])\")" ) or
( $header_content-type: matches "(?:file)?name=(\\\\S+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc]))" ) or
( $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\"[^\"]+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc])\")[\\\\s;]" ) or
( $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\\\\S+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc]))[\\\\s;]" )
then
logfile /var/log/exim/filter.log
logwrite "$tod_log Message de $sender_address : virus\n"
save /root/mailbox/VIRUS
seen mail to POSTMASTER subject "Message en attente : virus." text "Un message de $sender_address a destination de $header_To est actuellement en attente car il semblerai qu'il contienne un virus.\n\n"
finish
endif
Et pour forwarder le tout vers ça, j'ai mis ça dans Exim dans la section DIRECTORS CONFIGURATION :
Ça me permet de savoir quand un user à reçu un virus, je peux vérifier le mail puis lui renvoyer dans le cas où c'est une fausse alerte. J'ai trouvé la partie filtre sur le Net mais je n'ai pas gardé la reférence. Il doit être aussi possible de prévenir l'user qu'il a reçu un virus ou encore l'envoyeur qu'il envoie de mauvais formats ... ( cf. la doc d'exim, très complète ... ).
Voila, voila ... ( excusez pour le massacre de la page ... )
[^] # Re: filtrer les virus dans les mails.
Posté par tuxic . En réponse au journal filtrer les virus dans les mails.. Évalué à 2.
# Exim filter
if ( $header_content-type: matches "(?:file)?name=(\"[^\"]+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc])\")" ) or
( $header_content-type: matches "(?:file)?name=(\\\\S+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc]))" ) or
( $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\"[^\"]+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc])\")[\\\\s;]" ) or
( $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\\\\S+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc]))[\\\\s;]" )
then
logfile /var/log/exim/filter.log
logwrite "$tod_log Message de $sender_address : virus\n"
save /root/mailbox/VIRUS
seen mail to POSTMASTER subject "Message en attente : virus." text "Un message de $sender_address a destination de $header_To est actuellement en attente car il semblerai qu'il contienne un virus.\n\n"
finish
endif
Et pour forwarder le tout vers ça, j'ai mis ça dans Exim dans la section DIRECTORS CONFIGURATION :
central_filter:
driver = forwardfile
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
file = /etc/exim/.forward
no_check_local_user
no_verify
filter
allow_system_actions
user = mail
Ça me permet de savoir quand un user à reçu un virus, je peux vérifier le mail puis lui renvoyer dans le cas où c'est une fausse alerte. J'ai trouvé la partie filtre sur le Net mais je n'ai pas gardé la reférence. Il doit être aussi possible de prévenir l'user qu'il a reçu un virus ou encore l'envoyeur qu'il envoie de mauvais formats ... ( cf. la doc d'exim, très complète ... ).
Voila, voila ... ( excusez pour le massacre de la page ... )