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