A lista não aceita anexo então segue no corpo do e-mail

---------- authsender.pl -------------------
#!/usr/bin/perl

use Sys::Syslog qw(:DEFAULT setlogsock);

$syslog_socktype = 'unix';
$syslog_facility="mail";
$syslog_options="pid";
$syslog_priority="info";
$syslog_name="postfix/authsender";

sub get_domain {
  my($email) = @_;
  my($user,$domain);
  ($user, $domain) = split(/@/,$email);
  return $domain;
}

sub smtpd_access_policy {
    my($sasl_username, $sender, $sasl_domain, $sender_domain);
    my $permite = 1;

    $sender = $attr{"sender"};
    $sender_domain = get_domain($sender);

    $sasl_username = $attr{"sasl_username"};
    $sasl_domain = get_domain($sasl_username) if $sasl_username;

    syslog $syslog_priority, "Sender Domain %s", $sender_domain if $verbose;
    syslog $syslog_priority, "SASL Domain %s", $sasl_domain if ($verbose
and $sasl_domain);

    $permite = 0 if ($sasl_domain and ($sasl_domain ne $sender_domain));

    if ($permite) {
      return "dunno";
    } else {
      syslog $syslog_priority, "Não permitido %s => %s", $sasl_username,
$sender if $verbose;
      return sprintf("REJECT Voce nao pode enviar e-mail como %s", $sender);
    }

}

setlogsock $syslog_socktype;
openlog $syslog_name, $syslog_options, $syslog_facility;

while ($option = shift(@ARGV)) {
    if ($option eq "-v") {
        $verbose = 1;
    } else {
        syslog $syslog_priority, "Invalid option: %s. Usage: %s [-v]",
                $option, $0;
        exit 1;
    }
}

select((select(STDOUT), $| = 1)[0]);

while (<STDIN>) {
    if (/([^=]+)=(.*)\n/) {
        $attr{substr($1, 0, 512)} = substr($2, 0, 512);
    } elsif ($_ eq "\n") {
        if ($verbose) {
            for (keys %attr) {
                syslog $syslog_priority, "Attribute: %s=%s", $_, $attr{$_};
            }
        }
        $action = smtpd_access_policy();
        syslog $syslog_priority, "Action: %s", $action if $verbose;
        print STDOUT "action=$action\n\n";
        %attr = ();
    } else {
        chop;
        syslog $syslog_priority, "warning: ignoring garbage: %.100s", $_;
    }
}

# FINAL DO SCRIPT


> Oi Amigo,
>
> O anexo não veio, pode reencaminhar ?
>
> Valeu
>
> Nilton
>
> 2012/4/23 <k...@workscom.com.br>
>
>>
>>  Olá Paulo,
>>
>>    Obrigado pela dica, realmente eles reclamam bastante. Já tentei
>> algumas opções deste tipo no passado. Meu problema acaba se agravando
>> pois é um provedor de hospedagem e ai os clientes reclamam quando não
>> enviam por causa de bloqueio da reputação e reclamam quando tentamos
>> evitar o problema com limitações. Realmente usuários são complicados
>> demais.
>>
>>   Uma vez consegui bastante efeito com o reject_sender_login_mismatch
>> mais causou problemas pois o cliente autentica como clie...@dominio.com
>> e manda o e-mail como comerc...@dominio.com então tive que desabilitar.
>>  Agora a solução que resolvi usar foi adaptar de um script perl para
>> greylist que achei para que faça uma checagem semelhante ao
>> reject_sender_login_mismatch porem validando dominio, ou seja a pessoa
>> autenticada pode mandar o sender como qualquer nome desde que seja o
>> mesmo dominio. Acredito que isto resolva meu problema.
>>
>>  Ah pode parecer estranho adaptar meu script de um de greylist mais é
>> que
>> não sou programador perl então na verdade usei o script como exemplo
>> pois ja tentei criar algumas coisas em java ou mesmo em php e não gostei
>> da performance com o postfix e como parece que tudo que fazem para ele é
>> perl resolvi ver como fica.
>>
>>  O script é simples e quem conhece de perl faz com a mão nas costas mais
>> para que quiser dar uma olhada coloquei ele em anexo.
>>
>>  Para usar:
>>
>> na master.cf
>> authsender  unix  -       n       n       -       0     spawn
>>  user=nobody argv=/usr/bin/authsender.pl
>>
>> na main.cf
>> smtpd_recipient_restrictions = reject_unknown_recipient_domain,
>>          check_policy_service unix:private/authsender,
>>          permit_mynetworks,
>>          permit_sasl_authenticated,
>>          .......
>>
>> > Em 22 de abril de 2012 19:40, <k...@workscom.com.br> escreveu:
>> >
>> >>
>> >>  Olá a todos,
>> >>
>> >>    Gostaria de uma sugestão de vocês pois meu problema na verdade não
>> é
>> >> o
>> >> spam recebido pelos meus clientes, preciso de uma forma eficiente de
>> >> bloquear o spam que eles enviam.
>> >>
>> >>   O mais problema é que os vírus que estão na maquina de clientes
>> >> capturam suas senhas e mandam e-mails como um cliente válido então
>> >> mesmo meu servidor não sendo um openrelay ele acaba parando nas
>> listas.
>> >> Já tentei várias formas de bloqueio e tentei usar o spamassasim para
>> >> este tipo de bloqueio mais ele meio que confia por padrão nos
>> clientes
>> >> e não considera spam.
>> >>
>> >>  Alguém tem alguma sugestão para resolver isto, já teve este tipo de
>> >> problema?
>> >>
>> >>  Uma solução que já pensei é em fazer meu próprio processo de análise
>> e
>> >> injetar os e-mails via filter para isto mais criar um programa assim
>> >> para volume grande de e-mail requer muito teste para evitar atrasos
>> na
>> >> fila de e-mail.
>> >>
>> >> Se tiverem sugestão agradeço.
>> >>
>> >>
>> > Limita a quantidade maxima  de envio por minuto/hora, se exceder
>> bloqueia
>> > o
>> > usuário.
>> > Quando o usuário for reclamar informe que a maquina dele possui
>> > virus/worms
>> > e que o mesmo tentou passar-se por ele para dissiminar spans, sugere
>> que
>> > seja realizado um procedimento de varredura na estação para que não
>> tenha
>> > mais problemas e que altere a senha.
>> >
>> > Um ou outro vai xingar mais nada que " Tudo bem Sr./Sra, assim que a
>> sua
>> > estação estiver livre de virus o usuário estará liberado".
>> > Passei por este problema em 2010, barrava a mensagem  e só libero
>> quando
>> a
>> > estação estiver livre de problemas, foi indo que cancelaram o contrato
>> de
>> > manutenção, anegando um monte de coisa, para mim quanto menos
>> problemas
>> > melhor, contrato cancelado,  mais depois de 1 mes, quando as mensagens
>> só
>> > estavam sendo taxadas como spam, vinheram atraz para que resolver, bom
>> > azar
>> > deles servidor novo.
>> >
>> >
>> >
>> >
>> >
>> > --
>> > :=)><(=:
>> > "O dia que não existir mais usuários de sistemas será o meu primeiro
>> dia
>> > realmente feliz"
>> >
>> > Flamers > /dev/null !!!
>> > _______________________________________________
>> > Postfix-BR mailing list
>> > Postfix-BR@listas.softwarelivre.org
>> > http://listas.softwarelivre.org/mailman/listinfo/postfix-br
>> >
>> _______________________________________________
>> Postfix-BR mailing list
>> Postfix-BR@listas.softwarelivre.org
>> http://listas.softwarelivre.org/mailman/listinfo/postfix-br
>>
>>
>
>
> --
>
>
> Att
> Nilton Cesar Corrêa
> _______________________________________________
> Postfix-BR mailing list
> Postfix-BR@listas.softwarelivre.org
> http://listas.softwarelivre.org/mailman/listinfo/postfix-br
>


_______________________________________________
Postfix-BR mailing list
Postfix-BR@listas.softwarelivre.org
http://listas.softwarelivre.org/mailman/listinfo/postfix-br

Responder a