solução anti-spam - centro de computação · postfix •servidor de mail (mta) •proposta: mais...

28
Solução Anti-Spam Set/2006

Upload: vankiet

Post on 14-Dec-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

Solução Anti-Spam

Set/2006

Motivação do Projeto

• PROBLEMA : A taxa de recebimento de spams muito alta,

gerando insatisfação dos usuários

E-mails: Picos de 640 mil/diaUsuários: Média de 30 spams/dia

Objetivo do Projeto

• Melhorar/atualizar os serviços anti-spam dos servidores de mail corporativos da UNICAMP

• Equipe:– Aguinaldo– Cristina (DBA)– Denise– Rachel (Equipe de Redes)– Sandra– Tereza (Tete)

Premissas Básicas

• Manter o serviço de email útil e funcionando.• Evitar perda de emails válidos por erro (falso

positivo).• Utilizar o recurso racionalmente evitando

gastos desnecessários de upgrade de hardware.

• Gastar menos tempo na manutenção do Ambiente, sobrando mais tempo para outras atividades.

Critérios da Avaliação das Ferramentas

• Grau de dificuldade de Instalação e Configuração

• Freqüência de manutenção dos dados e software - Maturidade do software

• Impacto de performance no Ambiente• Análise Pré-Data ou Pós-Data (sem ou com

enfileiramento, antes ou depois da fase de dados)

• Consumo de CPU, Memória e I/O• Taxa de erro - Falso Positivo/Falso Negativo• Eficiência• Impacto de Implantação

Ferramentas Estudadas

• Postfix (*)• Greylisting (*)• SPF (Sender Policy Framework) (*)• Amavisd-new (*)• SpamAssassin (*)• Bogofilter• DSPAM (*)• Razor (*)• Pyzor• DCC (Distributed Checksum Clearinghouse)• RBL (Realtime Backlist) (*)• TMDA ( Tagged Message Delivery Agent )• DomainKeys Indentified Mail (DKIM)

Pré-requisitos

• Na escolha das ferramentas foi levado em consideração a compatibilidade com nosso ambiente

•Postfix•IMAP/POP: Cyrus-imap

– Sem usuários unix reais– Sem home

•Autenticação: cyrus-sasl+pam_mysql -> cyrus-sasl+ldap (CCUEC)

Ferramentas Adotadas

• Postfix (RBL - cbl.abuseat.org)– Policyd

•Escrito em C•Vários recursos (Greylisting, Auto-

Blacklist, etc.)•Banco de Dados (MySQL)

– Amavisd-new•Anti-virus (McAfee)•SpamAssassin (Razor, RBL, SPF, etc.)•DSPAM

Postfix

• Servidor de Mail (MTA)• Proposta: Mais rápido, fácil de administrar e

seguro que o sendmail• Parâmentros anti-spam : smtpd_recipient_restrictions = permit_mynetworks,

permit_sasl_authenticated,

reject_authenticated_sender_login_mismatch,

reject_unauth_destination,

reject_non_fqdn_sender,

reject_non_fqdn_recipient,

reject_unknown_sender_domain,

reject_unknown_recipient_domain,

reject_invalid_helo_hostname,

reject_non_fqdn_helo_hostname,

Postfix-Parâmentros (cont.)

check_client_access

proxy:mysql:/usr/local/etc/postfix/mysql-policyd-whitelist.cf,

check_client_access

proxy:mysql:/usr/local/etc/postfix/mysql-policyd-blacklist.cf,

check_client_access

pcre:/usr/local/etc/postfix/pcre-client-access,

check_recipient_access

pcre:/usr/local/etc/postfix/pcre-recipient-access,

reject_unlisted_recipient,

check_policy_service inet:127.0.0.1:10031

smtpd_data_restrictions =

reject_unauth_pipelining

RBL (Real Time Blacklist)

• Listas de Bloqueio (DNS blacklist)• Contém endereços IP/e-mails de Spammers

conhecidos– Falso Positivos

• Cópia local de RBL– RBLDNS

Policyd

• Greylisting• Sender-(envelope, SASL or host / ip)-based

throttling• Recipient rate limiting• Spamtrap monitoring • HELO auto blacklisting• HELO randomization preventation

Policyd – Greylisting

• Greylisting– O nome surgiu da idéia que este método

fica entre o conceito de whitelist e blacklist• Este método se propõe :

– Impacto mínimo com o máximo de eficiência;

– Bloquear a habilidade dos spammers se desviarem do bloqueio de spams e inventarem um novo método de envio de mensagens não solicitadas;

– Requer pouca manutenção do administrador e usuário;

– “Transparente” para o usuário, pois atua no nível de MTA (Mail Tranfer Agent) - delay

Funcionamento Greylisting

Referência : http://www.antispam.br/admin/greylisting/

Amavisd-new

• É uma interface de alta-performance entre o servidor de mail (MTA) e o analisador de conteúdo: – virus scanners(Virus Scan McAfee)– SpamAssassin– DSPAM

• Escrito em Perl

SpamAssassin

• filtro anti-spam open-source• testes locais ou com acesso a rede• mecanismos para tentar identificar spam:

– análise de textos– filtros bayesianos (treinamento?!?!)– DNS backlists (cabeçalho e corpo da

mensagem)– Razor - base de dados colaborativas– SPF – autenticidade do remetente– outros

Razor

• Vipul's Razor é uma rede distribuída e colaborativa de catálogos de spams.

• A detecção de spams é feita através de assinaturas digitais estatísticas e randômicas

• Ele vem como plugin na instalação do SpamAssassin

SPF (Sender Policy Framework)

• Tenta identificar remetentes forjados comparando o servidor de origem da mensagem com mapas DNS onde estão listados os “outgoing-mail-servers” autorizados a encaminhar mensagens por um determinado domínio.

• SRS (Sender Rewriting Scheme)

Dspam

• DSPAM é um filtro de Spam, escalável e open-source, feito para sistemas de multi-usuário, capaz de aprender e se adaptar a cada usuário.

• Algoritmos: Concept Identification, Neural Networking, Message Inoculation , advanced de-obfuscation techniques, Bayesian Noise Reduction, Bayes, Chi-Square, Geometric, and Markovian Discrimination.

• Estratégia de Implantação: Tendo em vista, sua grande complexidade, falta de documentação e para facilitar sua administração optamos por utilizá-lo através do amavisd-new sem base personalizada por usuário.

• Status: Experimental. Para aliviar a carga do MySQL, estamos avaliando sua desativação.

Arquitetura

• Camada de Entrada : – Primeira linha de defesa– Protege demais camadas– Analisa envelope, IP cliente, Helo, etc.– Blacklists– Filtros rápidos

• Camanda de Delivery e Análise de Conteúdo : – Protegida pela primeira camada– Analisa conteúdo de emails– Protege usuários de vírus e spams– Encaminha para mailboxes

Fluxo de Mensagens

INTERNET

Postfix(MTA)

Postfix(MTA)

Storage

CamadaEntrada

Camada deAnalise Cont.

e Delivery

Fluxo de Mensagens

INTERNETINTERNET

X

serv2

Camadade Entrada

X

serv1ac1

ac2

Camada Analisede Conteúdo e 

Delivery

Storage

Fluxo de Mensagens (1.a Parte)

INTERNET

Postfix(MTA)

RBLDNS

Policyd

MysqlContas/AliasesPolicyd

Fluxo de Mensagens (2.a Parte)

INTERNET

Postfix(MTA)

MysqlContas/AliasesDSPAM

SpamAssassin

DSPAM

McAfee McAfee (anti­virus)(anti­virus)

Amavisd­new

Storage

Procedimentos de blacklist local

• Rotate de logs de hora em hora, via newsyslog.conf

• Rodar shells na crontab alguns minutos depois• Inserir IPs na blacklist do mysql ou ipfw• Shells:

– excessive_body_reject.sh (mysql)– excessive_header_reject.sh (mysql)– excessive_user_unknown.sh (mysql)– persistent.sh (email para suporte – ipfw)– excessive_spam_virus.sh (mysql)-

experimental– policyd_fail.sh (email para suporte)Referência:

http://www.acme.com/mail_filtering (baseado em sendmail)

Resultados

• Satisfação do cliente– De 30 para 2 spams/dia– Reduzimos o número de erros (falso

positivos)• Melhor uso dos recursos

– Computadores (disco, CPU/memória)– Menos tempo gasto na manutenção dos

servidores• Lições Aprendidas

– Conscientização dos usuários– Educação– Políticas– Falso Positivos

Referências Gerais

• www.postfix.org• www.acme.com• www.sans.org• www.antispam.br

Dúvidas?