exim аттачи.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
lucas
проходил мимо

exim аттачи.

Непрочитанное сообщение lucas » 2007-04-19 8:49:36

Привет всем.
Подскажите как можно блокирнуть письма с определёнными аттачами (по имени аттачей) или удалять письма при получении с таким аттачем.
Просто прут вирусы с вложением (price_data_mount_year.zip) clamav их неловит, проверил нодом загрузил к ним на сайт, прошёл месяц а толку нету...
Вот думаю ка порезать это дело?
Спасибо

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-19 9:02:57

Убей их всех! Бог потом рассортирует...

Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

Непрочитанное сообщение gmn » 2007-05-04 18:34:04

Я делал так (блокировка плохих атачей в архивах тоже).

В Exim:

Код: Выделить всё

# Block EXE in ZIP archive, when zip > 150 Kb.
deny    message = Attachment ZIP with dangerous extention.
        condition = ${if >{$message_size}{150K}{0}{1}}
        condition = ${run {/usr/local/etc/exim/exeinzip.pl /var/spool/exim/scan/${message_id}/${message_id}.eml} {yes}{no} }
        demime = zip
Сам perl script exeinzip.pl:

Код: Выделить всё

#!/usr/bin/perl

$file= $ARGV[0];

use Email::MIME::Attachment::Stripper;
open (FF, $file);
while (<FF> ){
    $message .= $_;
}
close (FF);

my $stripper = Email::MIME::Attachment::Stripper->new($message);

my Email::MIME $msg = $stripper->message;

my @attachments = $stripper->attachments;

use Archive::Zip;
use IO::File;

foreach my $hash (@attachments) {
    if ($hash->{'filename'}=~ '.*\.zip') {
        # write archive zip to tmp file
        $fh = IO::File->new_tmpfile  or die "IO::File->new_tmpfile: $!";
        $fh->autoflush(1);
        print ( $fh $hash->{'payload'} );
        seek($fh,0,0);

        # search files in ZIP
        $zip = Archive::Zip->new($fh);
        @hashmembers = $zip->membersMatching( '.*\.(exe$|com$|pif$)' );
        $exefound=$#hashmembers;
    if ( $exefound >=0 ) {print "$exefound"; exit(0);};
    };
};

$exefound=$#hashmembers;
print "$exefound";
exit(1);
"exit(1)" - добавлял, помоему, на случай поврежденного архива.

lucas12
рядовой
Сообщения: 19
Зарегистрирован: 2007-01-30 19:54:46
Контактная информация:

Непрочитанное сообщение lucas12 » 2007-05-11 14:39:25

Хм...чёта рукается на модуль Email::MIME::Attachment::Stripper 87 линия эррор...пробовал по новому как там щас и то же самое...