View
230
Download
0
Category
Preview:
Citation preview
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
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 (2.a Parte)
INTERNET
Postfix(MTA)
MysqlContas/AliasesDSPAM
SpamAssassin
DSPAM
McAfee McAfee (antivirus)(antivirus)
Amavisdnew
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
Recommended