Bloquear archivos adjuntos Spamassassin

Esta es una manera que todavía no he probado, pero esta es la teoría para filtrar los correos con archivos adjuntos teniendo spamassassin, si alguien ya lo ha hecho seamos comunactivo.

1. Se creará un archivo con el siguiente nombre attachment.cf que contendrá las siguientes líneas:

loadplugin Mail::SpamAssassin::Plugin::Attachments

body ATTACHMENT_PRESENT eval:check_attach()

score ATTACHMENT_PRESENT 0.1

describe ATTACHMENT_PRESENT Contains a pdf or zip attachment


2. Coloque el plugin  Attachments.pm en el lugar correspondiente

Attachments.pm

Ejemplo de attachments.pm:

=head1 NAME

Attachments – simple tests for common attachments

=head1 SYNOPSIS

loadplugin     Mail::SpamAssassin::Plugin::Attachments

body ATTACHMENT_PRESENT   eval:check_attach()

=head1 DESCRIPTION

The ATTACHMENT PRESENT rule works by checking attachment

boundaries in multi-part messages.

=cut

package Mail::SpamAssassin::Plugin::Attachments;

use Mail::SpamAssassin::Plugin;

use Mail::SpamAssassin::Util;

use strict;

use warnings;

use bytes;

use vars qw(@ISA);

@ISA = qw(Mail::SpamAssassin::Plugin);

# constructor: register the eval rule

sub new {

my $class = shift;

my $mailsaobject = shift;

# some boilerplate…

$class = ref($class) || $class;

my $self = $class->SUPER::new($mailsaobject);

bless ($self, $class);

$self->register_eval_rule(“check_attach”);

return $self;

}

sub check_attach {

my ($self, $pms) = @_;

_check_attachments(@_) unless exists $pms->{attachment_attach};

return $pms->{attachment_attach};

}

sub _check_attachments {

my ($self, $pms) = @_;

$pms->{attachment_attach} = 0;

# triggered here

foreach my $p ($pms->{msg}->find_parts(qr/./, 1)) {

my ($ctype, $boundary, $charset, $name) =

Mail::SpamAssassin::Util::parse_content_type($p->get_header(‘content-type’));

$name = lc $name || ”;

my $cte = lc $p->get_header(‘content-transfer-encoding’) || ”;

$ctype = lc $ctype;

if ($name && $name =~ /\.(?:bat|exe|pif|com)$/)

{

# file extension indicates an attachment type of interest

$pms->{attachment_attach} = 1;

}

}

}

1;

dentro del  …/Mail/SpamAssassin/Plugin/

3. Si quiere modificar las extensiones  tendrá que hacer las modificaciones incluyendo las extensiones apropiadas dentro del archivo Attachments.pm

4. Por último  hay que ajustar la puntuación para  ATTACHMENT_PRESENT a la que consideres necesaria.

5. Reinicia el demonio spamd.

Share on Facebook

Te puede interesar también...