segurança em correio eletronico

79
UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria no 577/2000 – MEC, de 03/05/2000 ESPECIALIZAÇÃO EM SEGURANÇA DA INFORMAÇÃO MARCEL FAGUNDES SOUZA SEGURANÇA EM SERVIDORES DE CORREIO ELETRÔNICO Uberlândia 2006

Upload: darrich

Post on 18-Feb-2015

51 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Segurança em Correio Eletronico

UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria no 577/2000 – MEC, de 03/05/2000 ESPECIALIZAÇÃO EM SEGURANÇA DA INFORMAÇÃO

MARCEL FAGUNDES SOUZA

SEGURANÇA EM SERVIDORES DE CORREIO ELETRÔNICO

Uberlândia

2006

Page 2: Segurança em Correio Eletronico

MARCEL FAGUNDES SOUZA

SEGURANÇA EM SERVIDORES DE CORREIO ELETRÔNICO

Monografia apresentada à Faculdade de Ciências Aplicadas de Minas Gerais da União Educacional Minas Gerais (UNIMINAS), como parte das exigências do Título de Especialista em Segurança da Informação.

Orientador: Prof. Msc. Gilson Marques da Silva

Uberlândia

2006

Page 3: Segurança em Correio Eletronico

MARCEL FAGUNDES SOUZA

SEGURANÇA EM SERVIDORES DE CORREIO ELETRÔNICO

Monografia apresentada à Faculdade de Ciências Aplicadas de Minas Gerais da União Educacional Minas Gerais (UNIMINAS), como parte das exigências do Título de Especialista em Segurança da Informação.

Orientador: Prof. Msc. Gilson Marques da Silva

Banca Examinadora:

Uberlândia, 13 de Maio de 2006.

________________________________________________ Prof. Msc. Gilson Marques da Silva - Orientador - UNIMINAS

________________________________________________

Prof. Msc. Alex Fabianne de Paulo - Faculdade Politécnica

________________________________________________ Prof. Dr. Mauro Hemerly Gazzani - UNIMINAS

Uberlândia

2006

Page 4: Segurança em Correio Eletronico

AGRADECIMENTOS

Primeiramente a Deus, pela vida.

Aos meus pais, que me dão amor e carinho.

A UNIMINAS, pela realização de um sonho, cursar faculdade e em

seguida a especialização.

Aos amigos e professores, que direta ou indiretamente participaram da

realização deste sonho.

Page 5: Segurança em Correio Eletronico

Eu poderia viver recluso numa casca de noz

e me considerar rei do espaço infinito...

(SHAKESPEARE, Hamlet, Ato 2, Cena 2).

Page 6: Segurança em Correio Eletronico

RESUMO

O uso de sistema de correio eletrônico para comunicação eletrônica é muito

crescente o que significa que a informação trafegada é de extrema importância na

maioria dos casos. Assim, é necessário que esta informação trafegada se mantenha

sempre confiável, disponível e privada entre as partes interessadas. O analista de

segurança se preocupa em buscar a garantia de um bom nível de segurança, ou

seja, criar um ambiente que minimize a exposição das informações a pessoas não

autorizadas. Nesse sentido, este estudo faz a implementação de um servidor de e-

mail seguro para evitar o acesso não autorizado e envio de SPAM. No ambiente de

testes foi utilizado o sistema operacional Linux Red Hat, o mailscanner Amavisd-new

para verificação de anexos, o antispam SpamAssassin para a classificação das

mensagems como: SPAM ou ham, e por fim o antivírus Clamav para verificação de

vírus nos anexos. O acesso das mensagens foi utilizado o Dovecot com o protocolo

IMAP e o SASL para autenticação SMTP.

Page 7: Segurança em Correio Eletronico

ABSTRACT

Using e-mail system through the electronic communication is growing a lot and it

means that the traffic of information is extremely important in the majority of the

cases; so it becomes necessary that the traffic information always keeps safe,

available and private for all intereted parties. In this case, the safety analyst makes

sure that getting a good safety level, i.,e., creates an environment that minimize the

information exposure to non authorized people. On this sense, this study makes the

implementation of a user safety e-mail avoiding the non authorized access and

sending the SPAM. On the environmental tests was used the operational system

Linux Red Hat, the mailscanner Amavisd- new checking the attached subjects, the

antispam Spam Assassin to the classification of the messages like: SPAM or ham,

and finally the Clamav antivirus checking the virus in the enclosed subjects. To the

access of the messages was utilized the Dovecot with the protocol IMAP and the

SASL to the authentication SMTP.

Page 8: Segurança em Correio Eletronico

LISTA DE ILUSTRAÇÕES

Figura 1 - Exemplo de um agente MUA – Aplicativo Outlook Express da Microsoft .19 Figura 2 - Fase de autorização..................................................................................20 Figura 3 - Fase de transação ....................................................................................20 Figura 4 - Fase de atualização ..................................................................................21 Figura 5 - Modelo de uso do protocolo SMTP (POSTEL,1982).................................23 Figura 6 - Exemplo de envio de mensagem entre os servidores crepes.fr e

hamburger.edu...................................................................................................24 Figura 7 - Modelo de Sistema de Correio (GOVERNO FEDERAL, 2003).................25 Figura 8 - Estrutura Interna de um MTA....................................................................26 Figura 9 - Lata Presunto Picante - SPAM (Hormel Foods Corporation, 2005) ..........28 Figura 10 - Exemplo de um hoax ..............................................................................30 Figura 11 - Exemplo de um Phishing SCAM .............................................................31 Figura 12 - Exemplo de uma mensagem contendo vírus ..........................................32 Figura 13 - Exemplo de uma mensagem falsa ..........................................................33 Figura 14 - Mailbomber Kaboom ...............................................................................34 Figura 15 - Estatísticas de notificações de SPAM reportadas ao CERT.BR .............35 Figura 16 - Valores acumulados (SPAM, Proxy e Open Relay) ................................36 Figura 17 - Sintaxe do parâmetro header_checks.....................................................38 Figura 18 - Configuração do parâmetro header_checks ...........................................39 Figura 19 - Configuração das regras de filtragem no arquivo header_checks ..........39 Figura 20 - Sintaxe do parâmetro body_checks ........................................................40 Figura 21 - Configuração do parâmetro body_checks...............................................40 Figura 22 - Configuração das expressões regulares no arquivo body_checks .........40 Figura 23 - Configuração do parâmetro mydestination .............................................44 Figura 24 - Sintaxe do parâmetro mydestination.......................................................44 Figura 25 - Conteúdo do arquivo mydestination........................................................45 Figura 26 - Sintaxe do parâmetro mynetworks..........................................................45 Figura 27 - Configuração do parâmetro mynetworks ................................................45 Figura 28 - Sintaxe do parâmetro myhostname ........................................................47 Figura 29 - Configuração do parâmetro myhostname ...............................................47 Figura 30 - Sintaxe do parâmetro mydomain ............................................................47 Figura 31 - Configuração do parâmetro mydomain ...................................................47 Figura 32 - Sintaxe do parâmetro inet_interfaces......................................................48 Figura 33 - Configuração do parâmetro inet_interfaces ............................................48 Figura 34 - Arquivo de configuração Master.cf..........................................................50 Figura 35 - Criação do arquivo de log do freshsclam ................................................52 Figura 36 - Agendamento pelo Crontab ....................................................................52 Figura 37 - Configuração do Proxy............................................................................52 Figura 38 - Desativação do MTA Sendmail ...............................................................58 Figura 39 - Configuração do arquivo main.cf.............................................................59 Figura 40 - Configuração do arquivo main.cf - Continuação .....................................60 Figura 41 - Configuração do arquivo main.cf - Continuação .....................................61 Figura 42 - Configuração do arquivo master.cf .........................................................62 Figura 43 - Teste para verificação da disponibilidade do serviço SMTP ...................63 Figura 44 - Configuração do arquivo amavisd.conf ...................................................64 Figura 45 - Configuração do arquivo main.cf para integração com o Amavisd-new..65

Page 9: Segurança em Correio Eletronico

Figura 46 - Configuração do arquivo master.cf para integração com o Amavisd-new...........................................................................................................................65

Figura 47 - Testando a porta 10024 do Amavisd-new...............................................66 Figura 48 - Configuração do arquivo clamav.conf .....................................................67 Figura 49 - Configuração do arquivo clamav.conf – Continuação.............................68 Figura 50 - Inicialização dos serviços........................................................................68 Figura 51 - Treinamento do SpamAssassin ..............................................................69 Figura 52 - Teste com a Mensagem Normal (DUCKLIN, 2003) ................................69 Figura 53 - Teste com a Mensagem EICAR (DUCKLIN, 2003).................................70 Figura 54 - Teste com a Mensagem com nível tag2 .................................................71 Figura 55 - Configuração do arquivo dovecot.conf....................................................72 Figura 56 - Configuração do SAS no arquivo smtpd.conf .........................................72 Figura 57 - Configuração do SASL no arquivo main.cf .............................................73 Figura 58 - Configuração das blacklist RHSBL e RBLs no main.cf ...........................74

Page 10: Segurança em Correio Eletronico

LISTA DE TABELAS

Tabela 1 - Pacotes externos e dependências do Perl para Amavisd-new (SPENNEBERG, 2005) ......................................................................................63

Page 11: Segurança em Correio Eletronico

LISTA DE ABREVIATURAS E SIGLAS

1. ARPA – Advanced Research Projects Agency

2. ARPANET – Advanced Research Projects Agency Network

3. BBN – Bolt Beranek and Newman

4. CERT BR – Centro de Estudos, Resposta e Tratamento de Incidentes de

Segurança no Brasil

5. CHROOT – Change root

6. CIDR – Classless Inter-Domain Routing

7. DARPA – Defense Advanced Research Projects Agency

8. DNS – Domain Name System

9. DMZ – DeMilitarized Zone

10. E-MAIL – Eletronic Mail

11. FQDN – Fully Qualified Domain Name

12. GNU – General Public License

13. HTML – Hypertext Markup Language

14. IBM – International Business Machines

15. IETF – Internet Engineering Task Force

16. IMAP4 – Internet Message Access Protocol version 4

17. IP – Internet Protocol

18. MAA – Mail Access Agent

19. MAPS – Massachusetts Alliance of Portuguese Speakers

20. MDA – Mail Delivery Agent

21. MTA – Mail Transfer Agent

22. MUA – Mail User Agent

23. MX – Mail eXchanger

24. NBSO – Network Information Center BR Security Office

25. PERL – Practical Extracting and Reporting Language

26. POP3 – Post Office Protocol version 3

27. RBL – Realtime Blackhole List

28. RFC – Request For Comments

29. RHSBL – Right-Hand-Side Backhole List

30. SASL – Simple Authentication and Security Layer

Page 12: Segurança em Correio Eletronico

31. SPAM – SPiced hAM

32. SPF – Sender Policy Framework

33. TCP – Transport Control Protocol

34. TELNET – Terminal Emulator Link Over Network

35. UCE – Unsolicited Commercial E-mail

36. WWW – World Wide Web

Page 13: Segurança em Correio Eletronico

SUMÁRIO

RESUMO................................................................................................................................................. 5

ABSTRACT............................................................................................................................................. 6

1 INTRODUÇÃO ................................................................................................................................... 14 1.1 O SURGIMENTO DA INTERNET ........................................................................................................ 14 1.2 OBJETIVOS DO TRABALHO.............................................................................................................. 15 1.3 JUSTIFICATIVA PARA A PESQUISA ................................................................................................... 15 1.4 ORGANIZAÇÃO DO TRABALHO ........................................................................................................ 17

2 SISTEMAS DE CORREIO ELETRÔNICO ........................................................................................ 18 2.1 MUA (MAIL USER AGENT) ............................................................................................................. 19

2.1.1 Protocolo POP3 (Post Office Protocol – Version 3) ............................................................ 20 2.1.2 Protocolo IMAP4 (Internet Message Access Protocol – Version 4) .................................... 21

2.2 MTA (MAIL TRANSFER AGENT) ...................................................................................................... 22 2.2.1 Protocolo SMTP (Simple Mail Transfer Protocol)................................................................ 22

2.3 MDA (MAIL DELIVERY AGENT) ....................................................................................................... 24 2.4 FUNCIONAMENTO DO CORREIO ELETRÔNICO .................................................................................. 24

3 TIPOS DE VULNERABILIDADES E TIPOS DE ATAQUES............................................................. 27 3.1 SPAM – SPICED HAM................................................................................................................... 27 3.2 CARACTERÍSTICAS E TIPOS DE SPAM............................................................................................. 29

3.2.1 Boatos - Hoaxes .................................................................................................................. 29 3.2.2 Fraudes e Golpes - SCAM .................................................................................................. 30 3.2.3 Vírus, worms e códigos maliciosos ..................................................................................... 31 3.2.4 Fake mail ............................................................................................................................. 32 3.2.5 Mail Bomber......................................................................................................................... 33

3.3 PROBLEMAS RELACIONADOS AO SPAM .......................................................................................... 34 4 FERRAMENTAS DE SEGURANÇA DA INFORMAÇÃO ................................................................. 37

4.1 MTA POSTFIX ............................................................................................................................... 37 4.1.1 Controle de mensagens comerciais não solicitadas ........................................................... 38

4.2 CONFIGURAÇÃO DO ARQUIVO MAIN.CF ............................................................................................ 43 4.2.1 Parâmetro - Mydestination .................................................................................................. 43 4.2.2 Parâmetro - Mynetworks ..................................................................................................... 45 4.2.3 Parâmetro - Myhostname .................................................................................................... 46 4.2.4 Parâmetro - Mydomain ........................................................................................................ 47 4.2.5 Parâmetro - inet_interfaces ................................................................................................. 48 4.2.6 Configuração do arquivo master.cf...................................................................................... 48

4.3 ANTIVÍRUS CLAMAV (CLAM ANTIVÍRUS).......................................................................................... 50 4.3.1 Configuração da atualização do banco de dados ............................................................... 51

4.4 ANTISPAM – SPAMASSASSIN .......................................................................................................... 52 4.4.1 Determinação da Pontuação pelo SpamAssassin .............................................................. 54

4.5 MAILSCANNER – AMAVISD-NEW (A MAIL VIRUS SCANNER – NEW) .................................................. 54 4.5.1 Determinação da Pontuação pelo Amavisd-new ................................................................ 55 4.5.2 Área de quarentena............................................................................................................. 56

5 IMPLEMENTAÇÃO DO SERVIDOR DE E-MAIL SEGURO ............................................................. 58 5.1 SISTEMA OPERACIONAL ................................................................................................................. 58 5.2 CONFIGURAÇÃO DO MTA POSTFIX ................................................................................................. 58 5.3 CONFIGURAÇÃO DO MAILSCANNER AMAVISD-NEW .......................................................................... 63 5.4 CONFIGURAÇÃO DO ANTIVÍRUS CLAMAV ........................................................................................ 66 5.5 FINALIZANDO A CONFIGURAÇÃO E TESTANDO .................................................................................. 69

Page 14: Segurança em Correio Eletronico

5.6 CONFIGURAÇÃO DO DOVECOT IMAP ............................................................................................... 71 5.7 CONFIGURAÇÃO DO SASL (SIMPLE AUTHENTICATION AND SECURITY LAYER ).................................. 72 5.8 CONFIGURAÇÃO DAS BLACKLIST RHSBL E RBLS............................................................................ 73

6 CONCLUSÃO .................................................................................................................................... 75 6.1 TRABALHOS FUTUROS ................................................................................................................... 76

REFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................... 77

Page 15: Segurança em Correio Eletronico

14

1 INTRODUÇÃO

1.1 O Surgimento da Internet

A Internet surgiu na década de 60 com objetivo inicial de atender

necessidades militares do governo americano. A Internet é constituída por uma

série de redes interligadas através de backbones1. Em 1968 foi desenvolvido pela

ARPA (Advanced Research Projects Agency) o primeiro projeto de backbone. O

objetivo desse projeto era interligar as universidades e também as bases militares.

A DARPA (Defense Advanced Research Projects Agency) que deu lugar a ARPA

começou a desenvolver os protocolos TCP/IP (Transmission Control Protocol

/Internet Protocol) no ano de 1975 (TANENBAUM, 1997).

Na década de 80 a DARPA cedeu os direitos do código dos protocolos

TCP/IP à Universidade da Califórnia para que fosse distribuído junto com o sistema

operacional UNIX (Unics – Uniplexed Information and Computing System). A

DARPA solicitou que todos os computadores que estavam conectados a ARPANET

(Advanced Research Projects Agency Network) para que utilizassem os protocolos

TCP/IP. Com isso, esses protocolos se difundiram rapidamente, visto que não eram

aplicativos comerciais. Com o passar dos anos, a Internet vem se popularizando e

se tornando um dos meios de comunicação mais eficazes do planeta. Sua utilização

abrange desde fins pessoais e comerciais até fins não-legais (TANENBAUM, 1997).

De carona neste meio de tão fácil acesso e utilização, o serviço de

correio eletrônico é um dos serviços mais utilizados na Internet. O pré-requisito para

utilização do correio eletrônico é possuir um software que permite ao usuário

conectar-se ao seu servidor de correio e verificar as mensagens recebidas. Possuir

um endereço eletrônico que hoje em dia é uma grande vantagem, pois além de

possibilitar a simples troca de mensagens, ele permite a utilização de outros

serviços da Internet.

_____________ 1 O termo backbone (traduzindo para o português, espinha dorsal) designa o esquema de ligações centrais de um sistema mais amplo, tipicamente de elevado débito relativamente à periferia.

Page 16: Segurança em Correio Eletronico

15

Atualmente, a segurança da informação é extremamente importante

porque à medida que aumenta o número de ataques e as descobertas de novas

vulnerabilidades vêm aumentando as falhas na segurança. O negócio de uma

empresa deve ser protegido por uma boa política de segurança calcada nos pilares

da segurança da informação: autenticidade, confidencialidade, disponibilidade,

integridade e irrevogabilidade.

1.2 Objetivos do Trabalho

Este trabalho tem como objetivo principal, implementar um servidor de

e-mail (eletronic mail) seguro, conforme as boas práticas de segurança para evitar

acesso não autorizado ou a utilização do servidor de e-mail para envio de

mensagens não solicitadas, isto é, SPAM (SPiced hAM). A finalidade deste trabalho

é apresentar um estudo sobre segurança em servidor de e-mail destacando a

importância do uso de configurações e procedimentos para melhoria na segurança

para prevenção de ameaças e contribuindo para a garantia da continuidade do

negócio da empresa.

Este trabalho tem como objetivos específicos:

• descrever o funcionamento de um servidor de e-mail;

• apontar as principais vulnerabilidades existentes, as principais

técnicas de ataques utilizadas;

• abordar as principais ferramentas de segurança da informação e por

fim a implementação de um servidor de e-mail seguro conforme as

boas práticas de segurança.

1.3 Justificativa para a Pesquisa

O serviço de correio eletrônico é um dos serviços de comunicação

eletrônica mais usados na Internet. Este serviço em geral provê pouco suporte à

segurança e privacidade, permitindo facilmente diversos tipos de fraudes e usos

indevidos e envio de SPAM e por alguns tipos de vermes. Os vermes utilizam-se do

pouco suporte na segurança para se multiplicar, causando inúmeros prejuízos.

Page 17: Segurança em Correio Eletronico

16

Sendo assim, para garantir um nível ideal de segurança, o servidor

tem que estar bem configurado e atualizado, possibilitando menor exposição a

fraudes, uso indevido da informação, ataques bem sucedidos e a proliferação de

SPAM.

Estudos realizados por institutos de pesquisa demonstram o aumento

significativo do volume de mensagens indesejadas que trafegam na Internet, como

mostra a seguir:

Este estudo da empresa britânica MessageLabs revela que mais de 86% dos e-mails analisados em seus Datacenters distribuídos nos 4 continentes, em junho de 2004, são SPAM (MESSAGELABS ANTI-SPAM, 2004). Na sua configuração por padrão, muitos servidores SMTP vêm com o open relay, permitindo que eles sejam usados para enviar mensagens de e para qualquer rede ou domínio, independente dos endereços envolvidos serem da sua rede ou não. Estes servidores são amplamente explorados para envio de SPAM (NBSO, 2003). Este estudo mostra que grande parte dos SPAMs está ligada ao open relay, e que a solução proposta foi à configuração segura do relay amarrado a uma autenticação. Outro ponto descrito no estudo foi agregar uma ferramenta na infra-estrutura de rede, o antispam para o combater SPAMs, fechando o cerco no campo tecnológico (D'Ávila, 2005).

Diante disso, se a implementação de um servidor de correio eletrônico

não seguir as boas práticas de segurança este permitirá a exposição das

informações privadas à pessoas não autorizadas, isto é, não garantirá que a troca

de informações seja segura, confiável e disponível, restritas as partes interessadas.

E se a configuração do relay estiver aberta e sem autenticação este permitirá o

envio de SPAM por pessoas não autorizadas e contribuirá com a ploriferação de

vermes.

Os analistas de segurança conhecem bem a famosa lei de Murphy,

“Se alguma coisa pode dar errado, dará. E mais, dará errado da pior maneira, no

pior momento e de modo que cause o maior dano possível”. Mas não é bem assim,

as pesquisas mostram que as técnicas de invasão bem sucedidas estão cada vez

aumentando proporcionalmente com as vulnerabilidades. O analista de segurança

na verdade trabalha na prevenção e na correção destas vulnerabilidades.

Como garantir que o envio da mensagem seja entregue sem ser

violada ou alterada, que a mensagem seja a mesma que a pessoa enviou e não

permitindo negar que a enviou e que esta mensagem estará sempre disponível? A

investigação desta hipótese será feita através da implementação de um servidor de

Page 18: Segurança em Correio Eletronico

17

e-mail, configurado de forma segura com objetivo de simular um ambiente real, para

dificultar a ação de um hacker ou de algum tipo de verme que tente aproveitar uma

brecha de segurança no serviço de e-mail.

1.4 Organização do Trabalho

Este trabalho está organizado da seguinte maneira: o capítulo 1 apresenta, de modo geral, os dados e informações que serão tratados no decorrer

da pesquisa, ressaltando os objetivos e resultados esperados com este trabalho. O

capítulo 2 descreve o sistema de correio de eletrônico, os componentes e o seu

funcionamento. No capítulo 3 as principais vulnerabilidades no servidor de e-mail,

como o Open Relay2, Open Proxy e o SPAM são apontados. Problemas

relacionados ao SPAM e alguns mecanismos para impedir o envio de e-mail SPAM.

Ainda no capítulo 3 são descritas as características do SPAM que utilizam recursos

fraudulentos para enganar o usuário. No capítulo 4 é apresentado um estudo das

principais ferramentas de segurança da informação usadas para minimizar a

proliferação de SPAM. No capítulo 5 é discutida a implementação do servidor de e-

mail seguro, conforme as boas práticas de segurança. No capítulo 6 a conclusão, os

resultados obtidos e as sugestões de trabalhos futuros pela pesquisa são

apresentados.

_____________ 2 O Open relay é um MTA que aceita conexões de qualquer rede e permitindo o envio de e-mails.

Page 19: Segurança em Correio Eletronico

18

2 SISTEMAS DE CORREIO ELETRÔNICO

O correio eletrônico foi criado em 1971 por um engenheiro de

computação americano chamado Ray Tomlinson, que trabalhava na Bolt Beranek

and Newman (BBN), a empresa que fôra contratada pelo Departamento de Defesa

dos EUA para implantar a ARPANET (WINKMEDIA, 2005).

Nessa época, a rede tinha apenas 15 computadores interligados, e

Tomlinson desenvolvera um programa chamado SNDMSG que já continha os

princípios básicos do correio eletrônico: enviava um texto para uma caixa postal de

outra pessoa. Essa caixa postal era, na verdade, também um arquivo de texto e a

nova mensagem apenas acrescentavam um novo trecho ao texto ao arquivo que lá

se encontrava antes, sem a permissão de apagar ou sobrescrever.

Mas o SNDMSG funcionava apenas no âmbito local, e Tomlinson

decidiu adaptá-lo para funcionar entre diferentes nós da rede. Para distinguir os

endereços locais dos externos, o engenheiro decidiu que estes últimos teriam que

ter o símbolo @ entre o nome do usuário e o nome do computador onde se situava

a sua caixa postal.

O primeiro e-mail (eletronic mail) enviado na história foi um teste de

Tomlinson. Seu texto foi algo como QWERTYUIOP e a mensagem foi enviada por

Tomlinson para ele mesmo, através da ARPANET. Mas, fisicamente, os dois

computadores estavam lado a lado: eram duas máquinas da BBN que apenas

tinham conexão através da ARPANET para, assim, facilitar os testes. Após dois

anos, cerca de 75% do tráfego da ARPANET fazia a utilização do serviço de e-mail

(WINKMEDIA, 2005).

O sistema de correio eletrônico é o segundo serviço mais utilizado na

Internet, ficando atrás apenas das páginas Web (WWW - World Wide Web). O e-

mail atualmente é extremamente importante como forma de comunicação,

interligando e facilitando a comunicação de milhões de pessoas espalhadas pelo

mundo.

Os agentes são como componentes do correio e cada um têm funções

Page 20: Segurança em Correio Eletronico

19

específicas que são descritas em detalhe a seguir (SCRIMGER, 2002):

2.1 MUA (Mail User Agent)

O agente usuário de correio é uma interface para acessar o MTA (Mail

Transfer Agent). Sua função é enviar ou receber as mensagens, assim como

interagir na compreensão do formato das mensagens colocando-a em modo

amigável. O MUA possui várias funções como enviar, excluir, recuperar responder,

encaminhar e também interage na verificação da ortografia e a gramática do texto, o

que facilita a manipulação da mensagem, conforme ilustrado na Figura 1.

O MUA usa o protocolo SMTP (Simple Mail Transfer Protocol) para

envio de mensagens, IMAP (Internet Message Access Protocol) para recuperação e

arquivamento de mensagens ou o POP (Post Office Protocol) para recuperação de

mensagens. Sendo este último com algumas características diferentes que serão

abordadas a seguir.

Figura 1 - Exemplo de um agente MUA – Aplicativo Outlook Express da Microsoft

Page 21: Segurança em Correio Eletronico

20

2.1.1 Protocolo POP3 (Post Office Protocol – Version 3)

O protocolo POP3, referenciado na RFC (Request for coments)1939, é

um protocolo de correio simples e com poucas funcionalidades. O agente usuário

acessa os e-mails conectando ao servidor de correio na sessão TCP3 porta 110

onde estão armazenadas as suas mensagens. Esta conexão possui três fases:

autorização, transação e atualização. A autorização é feita através de uma senha e

em seguida solicita seus e-mails. As mensagens são transferidas para o

computador do usuário, podendo ser apagadas do servidor através de uma

solicitação do usuário (MYERS; ROSE, 1996).

A Figura 2 ilustra a fase de autorização. Para autorização foi utilizada

a sessão Telnet4 diretamente a um servidor de correio.

Figura 2 - Fase de autorização

Na fase de transação, o usuário pode configurar o POP3 para ler e

apagar, ou para ler e guardar, as mensagens. Para o comando ler e apagar o

usuário emite os seguintes comandos list, retr e dele. O exemplo da Figura 3

mostra que o usuário tem duas mensagens em sua caixa postal, onde C: significa

cliente e S: significa o servidor de correio.

Figura 3 - Fase de transação

_____________ 3 Transport Control Protocol é um protocolo da camada de transporte orientado a conexão. 4 Terminal Emulator Link Over Network é um programa que permite fazer conexão remota com outro computador.

telnet <nome do servidor> 110 +OK POP3 server ready user alice +OK pass hungry +OK user sucessfully logged on

C: list S: 1 498 S: 2 912 S: .

Page 22: Segurança em Correio Eletronico

21

O agente usuário solicita para o servidor informar o tamanho de todas

as mensagens armazenadas. Em seguida as mensagens são recuperadas

utilizando o comando retr e para deletar as mensagens 1 e 2 foi utilizado o

comando dele. O comando quit finaliza a sessão com o servidor POP3 e remove as

mensagens 1 e 2 da caixa postal, conforme é mostrado na Figura 4.

Figura 4 - Fase de atualização

O problema no POP3 está no modo ler e apagar, o usuário pode se

deslocar e querer acessar em um outro computador. Este modo espalha as

mensagens por onde o usuário realizou o acesso. No modo ler e guardar o usuário

deixa as mensagens guardadas no servidor após lê-las, assim podendo ler

novamente as mensagens em máquinas diferentes.

2.1.2 Protocolo IMAP4 (Internet Message Access Protocol – Version 4)

O protocolo IMAP, definido na RFC 2060, foi criado para resolver as

deficiências do protocolo POP3. O IMAP permite acessar mensagens armazenadas

em um servidor como se estivessem armazenadas em um computador local. Esta

versatibilidade permite o usuário acessar as mesmas mensagens em diversos

computadores ao mesmo tempo. O protocolo IMAP trabalha em uma arquitetura

cliente/servidor usando a porta TCP 143, podendo estar em um dos seguintes

estados (CRISPIN, 1996):

• Estado não-autenticado: É o estado onde o usuário fornecerá o

usuário e a senha para liberação dos comandos.

C: retr S: (Teste de Envio 1 ... S: .... Teste de Envio 1) C: dele 1 C: retr 2 S: (Teste de Envio 2 ... S: .... Teste de Envio 2) C: dele 2 C: quit S: +OK POP3 server signing off

Page 23: Segurança em Correio Eletronico

22

• Estado autenticado: É o estado onde o usuário poderá selecionar a

pasta para utilizar os comandos.

• Estado selecionado: É o estado onde o usuário poderá utilizar os

comandos que afetam as mensagens (recuperar, mover, apagar,

recuperar parte de uma mensagem).

• Estado de logout: É usado para encerrar a sessão.

Na época que o protocolo IMAP foi concebido, os projetistas não se

preocupavam com a segurança das mensagens. Qualquer troca de mensagem

realizada entre o cliente e servidor não utilizava criptografia, o que permitirá qualquer

um capturar o tráfego (NORTHCUTT; NOVAK; MCLACHLAN, 2001).

2.2 MTA (Mail Transfer Agent)

É um agente de transferência de mensagens que tem funções de

encaminhamento e de transferência de mensagens entre um servidor de correio de

origem a um servidor de correio de destino. O encaminhamento e transferência de

mensagens é feito pelo protocolo SMTP na porta 25.

2.2.1 Protocolo SMTP (Simple Mail Transfer Protocol)

O protocolo SMTP é usado para enviar e-mail do servidor de correio

de origem para o servidor de correio de destino final, ou seja, o cliente SMTP

conecta com o servidor SMTP e instrui o mesmo usando comandos para que o e-

mail seja enviado ao destinatário final.

A Figura 5 ilustra o fluxo de funcionamento do protocolo SMTP.

• Inicialmente é estabelecida a conexão entre SMTP-Emissor e o

SMTP-Receptor, onde o SMTP-Receptor pode ser o destino final ou

somente um encaminhador da mensagem;

• O SMTP-Emissor envia a identificação do remetente da mensagem

e em seguida SMTP-Receptor envia como resposta o OK;

• Identifica-se o destinatário da mensagem e o SMTP-Receptor

verifica se este existe;

Page 24: Segurança em Correio Eletronico

23

• E finalmente é identificado o destinatário, o SMTP-Emissor começa

a transmissão da mensagem.

SMTPReceptor

SMTPEmissor

Comandos/respostase e-mails

Figura 5 - Modelo de uso do protocolo SMTP (POSTEL,1982)

A Figura 6 mostra um exemplo de envio de uma mensagem, “Do you

like ketchup? How about pickles?”, do servidor de correio crepes.fr para o servidor

hamburger.edu (KUROSE; ROSS, 2003):

• O servidor crepes.fr envia comando HELO para estabelecer uma

sessão TCP na porta 25 com o servidor hamburger.edu;

• Em seguida o servidor crepes.fr envia o comando MAIL para o

servidor hamburger.edu para iniciar a transação, e a seguir envia o

comando DATA para informar ao servidor que a mensagem vem em

seguida;

• O servidor hamburger.edu reconhece a mensagem enviando o

comando OK;

• A mensagem é armazenada no servidor SMTP até que seja

transferida para o servidor hamburger.edu.

Page 25: Segurança em Correio Eletronico

24

Figura 6 - Exemplo de envio de mensagem entre os servidores crepes.fr e hamburger.edu

2.3 MDA (Mail Delivery Agent)

É o agente de entrega de correio, este agente recebe o e-mail do

agente MTA e o deposita na caixa de correio do usuário.

2.4 Funcionamento do Correio Eletrônico

A Figura 7 ilustra o caminho percorrido para a entrega de uma simples

mensagem, ou seja, o e-mail. A mensagem é criada pelo MUA. Em seguida a

mensagem é encaminhada para um servidor de correio MTA, onde é consultada a

informação em um servidor DNS5 (Domain Name System) para verificar se a

mensagem é local ou se é de outro servidor, caso a mensagem seja de outro

servidor a mensagem é enviada para o MTA de destino.

_____________ 5 DNS é a sigla para Domain Name System ou Sistema de Nomes de Domínios. É uma base de dados hierárquica, distribuída

para a resolução de nomes de domínios em endereços IP e vice-versa.

S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: [email protected] S: 250 [email protected] ... Sender ok C: RCPT TO: [email protected] S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with “.” on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

Page 26: Segurança em Correio Eletronico

25

Figura 7 - Modelo de Sistema de Correio (GOVERNO FEDERAL, 2003)

O transporte das mensagens entre os MTAs é feito pelo protocolo

SMTP, o que permite conexões de outros servidores de correio ou MUAs. Se a

mensagem for para entrega local, a correspondência é passada para um MDA que

armazena a correspondência da caixa de correio do usuário. O MUA busca a

mensagem disponível no MTA de destino e exibindo-a em modo amigável. A busca

e entrega das mensagens da caixa de correio é feito pelo MAA (Agentes de Acesso

ao Correio), este termo é usado para representar o modelo tradicional MTA, MDA,

MUA. O MUA conecta a um MAA utilizando um protocolo de correio IMAP ou POP,

conforme mostra a Figura 8.

MUA 1 MUA 2

SMTP

SMTP

MTA 2MTA 1

Web mail

POP

IMAP

Page 27: Segurança em Correio Eletronico

26

MTAMTAMTA

SMTP

SMTP

POP

IMAP

IMAP

Acesso Direto ao MUA

Permite conexão de MUAs ou de outros MTAs

Entrega a mensagem a outros MTAs

MDAMDA MAA

Caixa de CorreioCaixa de Correio

Figura 8 - Estrutura Interna de um MTA

Page 28: Segurança em Correio Eletronico

27

3 TIPOS DE VULNERABILIDADES E TIPOS DE ATAQUES

A insegurança de alguns serviços que, se mal configurados, podem

permitir que usuários não autorizados utilizem destes recursos indevidamente. A

configuração incorreta destes serviços pode causar vários problemas indesejáveis.

O exemplo é o proxy e o relay, se mal configurados, podem permitir que usuários

externos abusem dos recursos da rede, ainda que isso não implique na ocorrência

de uma invasão. Dois destes serviços são o e-mail e os proxies de Web (NBSO,

2003).

A configuração incorreta destes serviços pode causar vários efeitos

indesejáveis. Um deles é que recursos computacionais da organização, link

Internet, CPU, discos e memória dos servidores, são consumidos por terceiros sem

que eles paguem por esse uso. Em muitos casos, esses recursos são exauridos de

forma que usuários legítimos não possam utilizar o serviço. Além disso, servidores

mal configurados são muitas vezes usados para disseminar conteúdo ilegal.

3.1 SPAM – SPiced hAM

O termo “SPAM” surgiu da marca de um tipo de presunto picante

enlatado da Hormel Foods Corporation, conforme mostra a Figura 9, uma empresa

americana que vende o produto deste 1937. A palavra foi utilizada em um quadro

do grupo de humoristas ingleses chamado Monty Phyton para especificar o envio de

e-mails a uma grande quantidade de pessoas de uma vez e é conhecido também

pela sigla inglesa UCE (Unsolicited Commercial Email), ou Mensagem Comercial

Não-Solicitada (INFOGUERRA, 2003).

Page 29: Segurança em Correio Eletronico

28

Figura 9 - Lata Presunto Picante - SPAM (Hormel Foods Corporation, 2005)

O primeiro e-mail SPAM enviado de que se tem notícia foi um anúncio

da DEC, fabricante de computadores, que falava sobre a nova máquina DEC-20, no

ano de 1978. A mensagem, que foi enviada na ARPANET6, dava detalhes sobre o

novo produto e convidava as pessoas para apresentações na Califórnia o que gerou

polêmica na rede por violar as regras de uso da ARPANET (INFOGUERRA, 2003).

A maioria dos e-mails de fraudes são enviados no formato HTML

(Hypertext Markup Language), o que permite adicionar recursos visuais como

imagens, cores e fontes que ajudam a chamar a atenção e dissimular o conteúdo

enganoso.

Às vezes a mensagem inclui um link para uma home page falsa que

não tem nenhuma relação com o remetente. Além disso, quase sempre o link

aponta para um arquivo executável, normalmente com as seguintes extensões:

*.exe, *.com, *.scr, *.cpl, *.bat, *.pif, entre outras, ou ainda o arquivo pode estar

compactado *.zip contendo arquivo executável. O recomendável é que sempre se

verifique o endereço de destino de um link antes de clicar no anexo.

_____________ 6 Advanced Research Projects Agency Network, rede de pesquisa avançada do Departamento de Defesa dos EUA, que deu

origem à Internet.

Page 30: Segurança em Correio Eletronico

29

3.2 Características e tipos de SPAM

O analista de segurança tem que se preocupar com a prevenção do

Open Relay, para não permitir que pessoas de outras redes sejam autenticadas no

servidor de e-mail. Esta vulnerabilidade é muito usada pelos Spammers, Vírus e

Worms para envio de e-mails SPAM.

3.2.1 Boatos - Hoaxes

Os boatos, também chamados de hoaxes, são e-mails que possuem

conteúdos falsos e tem objetivo de iludir ou alarmar, para que as pessoas

divulguem para o maior número de pessoas (HAMBRIDGE, 2005).

A história deste pseudovírus da Figura 10 conta que o vírus alojaria

num arquivo do Windows para destruir as informações do computador no dia vinte e

cinco. O e-mail passa instruções para deletar o pseudovírus. Este boato surgiu em

2001 no Brasil, e logo foi divulgado pelo mundo, onde deixou muita gente

preocupada.

A verdade é que o arquivo sulfnbk.exe não é um vírus, ele é um

programa do sistema operacional Windows que possibilita a manipulação de

arquivos com nomes extensos, isto é, arquivos cujos nomes tenham acima de oito

caracteres.

Para verificar se o e-mail é um boato, existem sites como o “caça

boatos”, http://HoaxBusters.ciac.org/, onde se encontram listas contendo os boatos

que estão circulando pela Internet e seus respectivos conteúdos (NBSO, 2003).

Page 31: Segurança em Correio Eletronico

30

Figura 10 - Exemplo de um hoax

3.2.2 Fraudes e Golpes - SCAM

O SCAM7 é um tipo de SPAM que utiliza recursos fraudulentos usados

para ludibriar o destinatário com objetivo de ganho financeiro. Este tipo de fraude

tem sido denominado SCAM ou phishing scam, a palavra inglesa fishing que

significa pescaria, o phishing é o ato de enviar um e-mail a alguém, alegando

falsamente ser uma entidade de uma empresa ou organização para tenta fazer que

a vítima entregue informações onde serão utilizadas para fins escusos, como por

exemplo, o roubo de informações pessoais. O e-mail fraudulento tem um link que

direciona o usuário a visitar uma página Internet onde será solicitado a atualizar as

informações pessoais: senhas, cartões de crédito, contas de banco e outros dados

que uma organização legítima possui, conforme é ilustrado na Figura 11.

_____________ 7 SCAM é um tipo de SPAM que utilizam recursos fraudulentos usados para ludibriarem o destinatário com objetivo de ganho

financeiro.

Procure em seu computador pelo arquivo: sulfnbk.exe

Vá ao iniciar, procurar (ou localizar) e localize este arquivo edelete-o imediatamente (caso seja encontrado, ele se aloja no c:\windows\command). Após isto esvazie a lixeira !

Trata-se de um vírus que vem através de e-mails sem você perceber e pretende destruir seu computador no dia 25.

Este alerta foi passado pelo setor de computação da FEG/UNESP. Elimine o tal programa, mas de qualquer forma, seria bom no dia 24 antes de desligar o micro, certificar-se de que ele não entrou novamente.

Page 32: Segurança em Correio Eletronico

31

Figura 11 - Exemplo de um Phishing SCAM

Pela facilidade de se forjar uma página da web para que fique

semelhante com a página original. Muitos usuários são vítimas por este tipo de

ataque. Ao enviar os e-mails para um número grande de usuários, o atacante ou

neste caso, o phisher, acaba conseguindo um bom número de informações que

servem aos seus propósitos.

3.2.3 Vírus, worms e códigos maliciosos

O fato é que certos vírus e worms8 se propagam por e-mail e para

convencer o usuário a executar o arquivo anexo, ou seja, o código malicioso. Os

recursos usados são semelhantes aos usados pelos Spammers: estimular a

curiosidade. Um exemplo comum é mostrado na Figura 12, o e-mail com anexo ou

um link de acesso a uma URL infectado com vírus e também com uma estória ou

frase qualquer para tentar estimular a curiosidade do usuário para abri-lo.

_____________ 8 Também conhecido como verme. É semelhante ao vírus, no caso do Worm não depende de intervenção para ser ativado.

Page 33: Segurança em Correio Eletronico

32

Figura 12 - Exemplo de uma mensagem contendo vírus

3.2.4 Fake mail

O Fake mail significa e-mail falso, é uma técnica para envio de

mensagens falsas, como mostra a Figura 13. A pessoa conecta-se a um servidor

SMTP para forjar um e-mail fingindo-se passar por uma pessoa importante e

estratégica na empresa. Esta técnica pode ser bastante efetiva, pois uma vez que o

remetente pode enviar um e-mail onde ele consegue forjar tanto um e-mail legítimo

como também um e-mail que não existe, por isso, desta forma de ataque atinge a

maioria dos usuários inexperientes.

Por que não responde. Há tempo observo voce, sei que meconhece e nunca me manifestei, porque fico com um pouco dereceio.

Refiz a hospedagem da mensagem e da foto. Coloquei novamente na UOL com a senha 102030a.

Espero que goste, mas por favor mantenha discrição.Mas caso não goste, esqueça tudo isso.

Adoro você, tchau ....

Arquivo em anexo(s) fotos.jpg (179KB)

Page 34: Segurança em Correio Eletronico

33

Figura 13 - Exemplo de uma mensagem falsa

3.2.5 Mail Bomber

O Mail bomber é um ataque que envia uma grande quantidade de e-

mail para inundar a caixa de correio do alvo. Este ataque exige um servidor SMTP

com open relay para ser utilizado para o envio do mail bomber. Um dos softwares

que pode ser usado para esse ataque é o Kaboom, mostrado na Figura 14. O

atacante escolhe a sua vítima e um servidor SMTP vulnerável para enviar uma

grande quantidade de e-mails. Este ataque inunda a caixa de correio da vítima e

pode causar a parada um servidor de e-mail caso a caixa de correio não possuir

uma cota.

telnet <nome do servidor> 25

helo <endereço do domínio> <enter>a resposta deve ser a seguinte250 OK

mail from: <endereço falso do remetente> <enter>a resposta deve ser a seguinte250 OK – mail from < o endereço falso de correio >

rcpt to: <endereço da vítima> <enter>a resposta deve ser a seguinte250 OK – Recipient <endereço da vítima>

data <enter>a resposta deve ser a seguinte354 Send data. Finalizar com CRTF. CRLF

To: < endereço da vítima > <enter>From: <endereço falso do remetente> <enter>Suject: <Assunto Troca de Senha root – “Mensagem Falsa”> <enter><Solicitamos a troca da senha root para a senha padrão. Atenciosamente, Administrador de Sistema> <enter> <enter> . <enter>a resposta deve ser a seguinte250 OKquit <enter>

Page 35: Segurança em Correio Eletronico

34

Figura 14 - Mailbomber Kaboom

3.3 Problemas relacionados ao SPAM

Muitos servidores vêm com o open relay na configuração padrão, o

que permite que seja utilizado para enviar mensagens a qualquer endereço

desejado, e também pode ser usado para envio de SPAM. Outra motivação do open

relay, o Spammer pode ter o anonimato que torna difícil às chances de punição por

este abuso.

Em muitos casos é possível fechar o relay mesmo quando a rede

possui roaming users (usuários ambulantes), usando mecanismos como POP-

before-SMTP e SMTP AUTH. Os mecanismos POP-before-SMTP e SMTP AUTH

exigem que sejam feitas autenticações no servidor de e-mail para evitar o uso não

autorizado do servidor, mas permitindo que clientes realizem o envio de mensagens

a partir de servidores remotos. Estas implementações exigem dos clientes

autenticar-se no servidor POP ou IMAP antes de realizar o envio de mensagens,

comprovando que ele está na máquina e que deseja realizar o envio.

Outra vulnerabilidade que pode ser utilizada se mal configurada é o

Page 36: Segurança em Correio Eletronico

35

Proxy de Web, também pode ser utilizada se não forem tomadas devidas

precauções. Um proxy mal configurado pode ser usado por pessoas não

autorizadas para acessar os recursos anonimamente para envio de mensagens

falsas ou fraudulentas ou até mesmo SPAM.

A configuração recomendada no Proxy Web é que somente permite o

acesso aos endereços IPs (Internet Protocol) dos usuários autorizados que

pertence à rede.

A diferença entre os mecanismos open relay e o open proxy é que o

open relay está presente somente em servidores de e-mail, normalmente devido a

uma má configuração por falta de conhecimento do analista de segurança.

Realizar a prevenção do servidor com o open relay e do open proxy é

extremamente importante. Os Spammers podem utilizar o servidor de e-mail para o

envio de e-mails SPAM e com pouco tempo o domínio poderá ser cadastrado em

listas negras. O problema é preocupante, pois o número de e-mails SPAM vem

crescendo a cada ano que passa. A Figura 15 representa a quantidade de

vulnerabilidades reportadas de 2003 até março de 2006 que comprova este fato.

Figura 15 - Estatísticas de notificações de SPAM reportadas ao CERT.BR

A Figura 16 mostra a evolução das notificações de SPAM reportadas

ao CERT.BR (Centro de Estudos, Resposta e Tratamento de Incidentes de

Page 37: Segurança em Correio Eletronico

36

Segurança no Brasil) pelos principais provedores de serviços de Internet.

Figura 16 - Valores acumulados (SPAM, Proxy e Open Relay)

A RFC 2142 define uma série de e-mails padrão que devem existir em

todas as redes e que podem ser usados para contatar aos analistas responsáveis.

Dentre os endereços padrão, existem dois que estão relacionados com segurança:

abuse e security. O endereço abuse é usado para reportar abusos de recursos na

rede. O endereço security, por sua vez, é utilizado para comunicar incidentes e

alertar sobre problemas de segurança (CROCKER, 1997).

Para todo e qualquer incidente relacionado ao SPAM, deve ser feita

uma reclamação aos responsáveis da rede e em seguida encaminhada à entidade

responsável o NBSO (Network Information Center BR Security Office). Com isso o

NBSO manterá dados estatísticos de incidência de SPAM e apontar às redes com

servidores que não estão configuradas adequadamente (NBSO, 2003).

Page 38: Segurança em Correio Eletronico

37

4 FERRAMENTAS DE SEGURANÇA DA INFORMAÇÃO

Os pilares da segurança da informação, confidencialidade, integridade

e disponibilidade representam as principais propriedades que garantem a

segurança de um sistema de informação. O não-repúdio também se faz necessário,

principalmente com o avançar do comércio eletrônico e o crescimento das

transações comerciais através de redes eletrônicas públicas ou privadas.

4.1 MTA Postfix

O MTA Postfix foi escrito e atualizado por Wietse Zweitze Venema e

atualmente distribuído com licença GNU (General Public License). Inicialmente, o

Postfix era conhecido como VMailer e foi lançado no final de 1998 pela IBM

(International Business Machines) com o nome de IBM Secure Mailer. A partir de

então, Venema e a IBM liberaram o código, onde o VMailer assumiu o nome de

Postfix como é conhecido até hoje (IBM; VENEMA, 1998).

A proposta do Postfix era ser um servidor de e-mail, com uma coleção

de pequenos programas, relativamente simples e rápidos, que trabalhariam juntos

para fazer o trabalho que o Sendmail já fazia. Diferentemente do Sendmail que é

um grande programa monolítico, com uma linguagem de configuração ou

programação bastante complexa (IBM; VENEMA, 1998).

O Postfix foi criado para ser uma alternativa viável ao Sendmail. Assim

o Postfix foi desenvolvido para ser semelhante ao MTA Sendmail, mas internamente

é completamente diferente, mas sendo compatível com o Sendmail para facilitar a

migração de usuários.

A construção do Postfix foi com dispositivos que ajudam garantir a

segurança. O conceito de jaula foi implementado, ou seja, permite que os daemons

sejam configurados para serem enjaulados no chroot (change root), para que estes

daemons executem com privilégios fixo, obtendo maior proteção do sistema contra

invasores. Outro dispositivo de segurança é o Controle de UCE, que faz a restrição

dos clientes não autorizados fazer o relay. O Postfix implementa recursos de

controle de e-mails SPAM tais como: listas negras, procuras na RBL (Realtime

Page 39: Segurança em Correio Eletronico

38

Blackhole List), lookups DNS de remetentes/HELO, e uma filtragem de conteúdo, o

que serão detalhadas posteriormente.

4.1.1 Controle de mensagens comerciais não solicitadas

O Postfix fornece grande flexibilidade na configuração de parâmetros

que podem ajudar a diminuir a quantidade de recebimento de mensagens

comerciais não solicitadas. Assim, o Postfix pode ser configurado para aceitar

somente mensagens originadas ou com o destino da rede ou domínio que são

foram previamente liberados. Dessa forma, evita que o relay fique aberto para que

sejam acessados por pessoas não autorizadas.

Algumas das restrições podem ser implementadas em um MTA Postfix

no auxílio no combate ao SPAM que estão descritas nas subseções a seguir.

4.1.1.1 Filtragem de cabeçalhos

Esta opção de filtragem permite recusar mensagens baseando-se no

conteúdo dos campos do cabeçalho da mensagem: From, Address, Location, Date,

Subject. Entretanto, esta regra verifica a presença de uma string específica em

qualquer um dos campos do cabeçalho da mensagem.

Para configurar esta opção de filtragem, insira o parâmetro

header_checks no arquivo de configuração o main.cf, onde este arquivo será

abordado com mais detalhes.

A sintaxe para esse parâmetro é a seguinte, conforme mostra a Figura

17.

Figura 17 - Sintaxe do parâmetro header_checks

Onde o parâmetro [mapa] é o tipo de mapa de lookup que utiliza o

arquivo [arquivo_de_regras], contendo as regras de filtragem.

header_checks = [mapa]:[arquivo_de_regras]

Page 40: Segurança em Correio Eletronico

39

O Postfix suporta vários mapas de lookup. Os mais utilizados para

filtragem de conteúdo usando o parâmetro header_checks são os mapas regexp e

o mapa pcre. A verificação de quais mapas o Postfix suporta, é feito pelo comando:

postconf –m.

O mapa pcre suporta expressões regulares na sintaxe do Perl

(Practical Extracting and Reporting Languaje)9 para criação de suas regras de

filtragem. Agora o mapa regexp oferece suporte ao uso de expressões regulares

comuns. As regras de filtragem ficam no arquivo /etc/postfix/header_checks. O

exemplo desta regra fica assim, como é mostrado na Figura 18:

Figura 18 - Configuração do parâmetro header_checks

Após definir o parâmetro no arquivo main.cf, é preciso criar as regras

de filtragem no arquivo especificado pelo parâmetro header_checks.

Os parâmetros do arquivo header_checks ficaram conforme a Figura

19.

Figura 19 - Configuração das regras de filtragem no arquivo header_checks

4.1.1.2 Filtragem do corpo de mensagens

Esta outra opção de filtragem permite recusar mensagens baseando-se

no conteúdo dos campos do corpo da mensagem. Os mesmos mapas de lookup e

_____________ 9 Perl é uma linguagem de programação muito prática para extrair informação de arquivos de texto e gerar informes a partir do conteúdo dos arquivos.

header_checks = regexp:/etc/postfix/header_checks

/^From:.*spammer@spammer\.com\.br/ REJECT

/^Subject:.*Ganhe Dinheiro fácil/ REJECT

/^Subject: Great News for All Music Fans/ REJECT

/^Subject: MORTGAGE BAD CREDIT/ REJECT

Page 41: Segurança em Correio Eletronico

40

as expressões regulares podem ser usados. A sintaxe para esse parâmetro é

mostrada na Figura 20.

Figura 20 - Sintaxe do parâmetro body_checks

O exemplo desta regra fica conforme é mostrada na Figura 21.

Figura 21 - Configuração do parâmetro body_checks

Os parâmetros do arquivo body_checks ficaram como na Figura 22.

Figura 22 - Configuração das expressões regulares no arquivo body_checks

4.1.2.3 Filtragem por detecção de clientes MTAs que violam as regras de negociação do protocolo SMTP

Os softwares de mailing normalmente não cumprem algumas regras de

negociação do protocolo SMTP. Os Spammers utilizam estes recursos para

agilizarem o processo de entrega de SPAM. Essas violações de especificações do

protocolo SMTP podem ser usadas na detecção e combate a SPAM. Alguns

body_checks = [mapa]:[arquivo_de_regras]

body_checks = regexp:/etc/postfix/body_checks

/^Olá como está=3F$/ REJECT

/(usa\.net|hotmail\.com|yahoo\.com)\?subject=remove/ REJECT

/^[ ]*name=.*\.(exe|bat|jar|asp|aspx|dll|eml|vbs)/ REJECT

/.*www\.removeyou\.com.*/ REJECT

/.*waterforge\.com.*/ REJECT

/.*capitalwave\.com\?subject=Please*/ REJECT

/\.virtmundo\.com/ REJECT

/trabalhe em casa.*renda extra/ REJECT

/GUARANTIDO!/ REJECT

Page 42: Segurança em Correio Eletronico

41

exemplos de macros estão listados a seguir:

• check_helo_access, check_client_access, check_recipient_

access e check_sender_access: Estas macros verificam a

respectiva informação (identificação de máquina ou HELO, endereço

IP ou hostname, destinatários e remetentes) em uma fonte de

dados/mapeamento;

• reject_unknown_sender_domain e reject_unknown_recipient _domain: As macros verificam se o domínio do remetente ou

destinatário existem, ou seja, se possuem um registro DNS ou MX

(Mail eXchanger) válido;

• reject_non_fqdn_sender/recipient: Impede o uso de abreviações

para remetentes e destinatários. O servidor por padrão adiciona o

hostname quando o domínio do remetente ou destinatário está em

branco;

• reject_unknown_client: Impede que clientes sem o DNS reverso

acessem o servidor;

• reject_invalid_hostname, reject_non_fqdn_hostname e reject _unknown_hostname: Obriga o uso de comandos HELO/EHLO

válidos no início da sessão SMTP. Estas macros mostram-se bastante

úteis no combate ao SPAM, uma vez que a maioria dos Spammers

usa hostnames falsos ou nao-completamente-qualificados non_fqdn

no comando HELO. A macro reject_unknown_hostname causa mais

prejuízo do que benefício, pois ela procura o endereço fornecido no

DNS, onde existe uma grande quantidade usando nomes que não

podem ser resolvidos pelo DNS.

4.1.2.4 Requisição de endereços de envelope no estilo estritamente compatível com a RFC 821.

Esta filtragem permite detectar ou obrigar o uso de sintaxes

especificadas na RFC 821. As configurações possíveis no arquivo main.cf são:

• strict_rfc821_envelopes = yes: Obriga que o endereço informado

Page 43: Segurança em Correio Eletronico

42

na sessão seja um endereço de e-mail válido entre os caracteres

menor e maior <>, respectivamente. Por exemplo, opções inválidas:

MAIL FROM: [email protected] , MAIL FROM:

<[email protected]>; Apenas a forma MAIL FROM:

<[email protected]> é válida;

• smtpd_helo_required = yes: Exige que se passe um comando

HELO/EHLO antes de passar os dados da sessão.

4.1.2.5 RBLs (Realtime Blackhole List)

As RBLs foram criadas em 1997 por Paul Vixie no projeto MAPS

(Massachusetts Alliance of Portuguese Speakers). Na época este era o único

serviço de bloqueio de SPAM. As RBLs são serviços de bloqueio de SPAM

baseados em listas negras de DNS. Estes serviços são configurados nos servidores

de e-mail para utilização de consulta a blacklists (lista negra) rejeitando as

mensagens caso ela faça parte da lista negra. Este serviço faz publicação de listas

contendo endereços IPs de servidores que são utilizados para a propagação de

SPAM e as disponibilizam para consultas, (MAPS – MAIL ABUSE PREVENTION

SYSTEM, 2004).

Para usar RBLs no Postfix, basta adicionar as macros

(reject_rbl_client endereço do dominio.da.rbl) na configuração

smtpd_client_restrictions.

4.1.2.6 RHSBL (Right-Hand-Side Blackhole List)

A RHSBL é uma evolução as RBLs, que consiste na consulta de

domínios e para obter o hostname do servidor ao invés de IPs (MAPS – MAIL

ABUSE PREVENTION SYSTEM, 2004).

Para configuração no Postfix basta acrescentar a macro

(reject_rhsbl_sender endereço do dominio.da.rhsbl) e a macro (reject_rhsbl_client

endereço do dominio.da.rhsbl) nas configurações de smtpd_sender_restrictions e

smtpd_client_restrictions respectivamente.

Page 44: Segurança em Correio Eletronico

43

4.1.2.7 SPF (Sender Policy Framework)

O SPF foi iniciado por Meng Weng Wong em julho de 2004, com o

propósito de ser um padrão da IETF (Internet Engineering Task Force) (KNIGHT,

2005). O SPF faz a validação de fontes legítimas de e-mails de um determinado

domínio. Esta validação é feita através de entradas DNS que definem um protocolo

no qual os proprietários de domínios fazem a autorização dos hosts que usem o

nome do domínio na saudação SMTP, MAIL FROM ou o HELO.

O controle do SPAM do SPF se baseia no domínio do remetente da

mensagem, e isso é uma vantagem porque a reputação do nome de domínio é mais

confiável que a reputação do endereço IP ou host. O SPF torna mais difícil para os

Spammers enviarem SPAM, porque geralmente os Spammers forjam o endereço de

e-mail do remetente para enviar SPAM. Agora no SPF isso não é possível, pois os

SPAM vão ser barrados pelos servidores de e-mail que usarem o serviço.

4.2 Configuração do arquivo main.cf

O principal arquivo de configuração do Postfix é o main.cf, onde está

localizado no diretório /etc/postfix. É neste arquivo onde a maior parte das

configurações dos parâmetros é feita. Após alterar os parâmetros, o Postfix precisa

reler o arquivo de configuração main.cf para que sejam aplicadas as novas

configurações. A sintaxe do comando é postfix reload. Este comando evita que o

servidor seja reiniciado, ou seja, evita que os usuários percam o acesso ao servidor

de e-mail momentaneamente.

4.2.1 Parâmetro - Mydestination

Quando uma mensagem chega na fila de mensagens de um MTA. O

Postfix verifica se a mensagem deve ser entregue no servidor local ou deve ser

encaminhada para outro MTA. As mensagens são verificadas pelo parâmetro após

o símbolo da arroba, o que significa a qual domínio que a mensagem pertence. Esta

verificação é feita consultando o servidor DNS, através da informação recebida pelo

Page 45: Segurança em Correio Eletronico

44

registro do tipo MX, do MTA responsável pelo domínio da mensagem. De posse

desta informação, o MTA encaminha a mensagem para o outro MTA responsável

por este domínio.

O parâmetro mydestination indica os domínios o MTA e o destino

final, ou seja, para quais domínios irão receber as mensagens. Quando uma

mensagem entra na fila de mensagens do Postfix, o parâmetro mydestination é

verificado para saber se o domínio de destino da mensagem está configurado para

aceitar as mensagens.

Caso o domínio esteja listado no parâmetro mydestination, a

mensagem é repassada para o transporte local do Postfix, que por sua vez se

encarrega de entregar a mensagem na caixa de mensagens do usuário. Este

repasse é feito pelo parâmetro local_transport que está configurado no arquivo

main.cf. Se o domínio não estiver listado no parâmetro mydestination, uma outra

consulta ao servidor DNS é feita para verificar o MTA responsável pelo domínio e

em seguida a mensagem é repassada para o MTA de destino.

O uso do parâmetro mydestination é vantajoso, pois neste caso, não

seria necessária a consulta ao servidor DNS para descobrir o MTA responsável pelo

domínio, tornando a entrega da mensagem mais rápida.

A sintaxe do parâmetro mydestination é mostrada na Figura 23.

Figura 23 - Configuração do parâmetro mydestination

Como alternativa, pode ser criado um arquivo contendo os domínios

desejados, como mostra a Figura 24.

Figura 24 - Sintaxe do parâmetro mydestination

O arquivo /etc/postfix/mydestination tem o seguinte conteúdo,

conforme mostra a Figura 25.

mydestination = dominio1.com.br, dominio2.com.br, dominio3, com.br

mydestination = /etc/postfix/mydestination

Page 46: Segurança em Correio Eletronico

45

Figura 25 - Conteúdo do arquivo mydestination

4.2.2 Parâmetro - Mynetworks

Este parâmetro, por padrão, vem com o open relay, ou seja, recebe e

aceita em sua fila mensagens enviadas para qualquer destino, seja ele local ou não.

O que não é recomendável no ponto de vista de segurança.

Caso o ambiente possua várias redes e o servidor de e-mail possua

várias interfaces de rede, neste exemplo serão compreendidas três interfaces, uma

interface de rede na rede interna A, uma interface de rede interna B e outra privada

do tipo DMZ (DeMilitarized Zone)10, o Postfix é capaz de fazer relay para todas as

redes nas quais as interfaces de rede são pertencentes.

Sendo assim, através do parâmetro mynetworks, indica-se para quais

redes ou endereços IPs o relay ficará aberto, ou seja, restritas somente as redes ou

endereços informados.

A configuração é feita usando a seguinte sintaxe, conforme é mostrada

na Figura 26.

Figura 26 - Sintaxe do parâmetro mynetworks

O exemplo fica conforme mostra a Figura 27.

Figura 27 - Configuração do parâmetro mynetworks

_____________ 10 DMZ é um segmento de rede separado e com acesso altamente restrito.

mynetworks = rede/máscara, IP/máscara, rede/máscara, IP/máscara

dominio1.com.br, dominio2.com.br, dominio3.com.br

mynetworks = 127.0.0.0/8, 1.2.3.4/32, 192.168.1.0/24, 5.6.7.8/32

Page 47: Segurança em Correio Eletronico

46

No exemplo anterior, o Postfix foi configurado para fazer relay para a

rede da interface loopback, para o endereço IP 1.2.3.4, para toda a rede interna

192.168.1.0 com a máscara de rede 255.255.255.0, 24 bits usados para a rede, por

isso a notação /24, conhecida como notação CIDR (Classless Inter-Domain

Routing), e para o endereço IP 5.6.7.8.

A notação /32, ou melhor, notação CIDR, é usada para os endereços

IPs. Esta notação significa que todos os bits de rede estão sendo usados para a

máscara de rede, ou seja, trata-se de um único endereço IP e não de uma rede

inteira.

4.2.3 Parâmetro - Myhostname

Todo o host numa rede possui um nome. Um host dedicado usado

como servidor de e-mail deve ter um nome. Sendo assim, os hosts que fornecem o

serviço de troca de mensagens tem a necessidade de um hostname (nome do host

configurado), uma vez que a integração entre o MTA e o serviço de resolução de

nomes, o DNS passa ser essencial para o funcionamento correto do serviço de

entrega das mensagens.

O parâmetro myhostname é o que define o nome de domínio

totalmente qualificado, ou seja, FQDN (Fully Qualified Domain Name), do host local

onde o Postfix encontra-se em execução. Apesar de parecer irrelevante, uma vez

que o Postfix já assume, por padrão, como valor para o parâmetro myhostname o

nome do host local, a necessidade de se especificar explicitamente o hostname

onde o Postfix está em execução é importante e, às vezes é necessária. Há casos

onde essa configuração é extremamente importante, senão necessária, seria caso o

nome da máquina não estivesse em formato totalmente qualificado (hostname +

nome de domínio) ou esta você estivesse executando o Postfix em uma interface

virtual.

A sintaxe do parâmetro myhostname é mostrada na Figura 28.

Page 48: Segurança em Correio Eletronico

47

Figura 28 - Sintaxe do parâmetro myhostname

Por exemplo, caso o servidor de e-mail e possuísse o nome de mx1 e

fizesse parte do domínio exemplo.com.br, o parâmetro myhostname seria definido

como mostra a Figura 29.

Figura 29 - Configuração do parâmetro myhostname

4.2.4 Parâmetro - Mydomain

O parâmetro mydomain não necessita ser definido explicitamente. O

Postfix assume como valor o nome do domínio padrão do host no qual o mesmo

está sendo executado.

No exemplo citado, hostname.mx1.exemplo.com.br, o Postfix

assumiria como valor para o parâmetro mydomain, caso o mesmo não fosse

explicitamente definido, o valor exemplo. com.br.

Para definir o parâmetro mydomain, a seguinte sintaxe deve ser

usada, como mostra a Figura 30.

Figura 30 - Sintaxe do parâmetro mydomain

Usando domínio de exemplo, exemplo.com.br, a definição do

parâmetro mydomain fica conforme é mostrado na Figura 31.

Figura 31 - Configuração do parâmetro mydomain

myhostname = hostname.domain

myhostname = mx1.exemplo.com.br

mydomain = exemplo.com.br

mydomain = domínio

Page 49: Segurança em Correio Eletronico

48

4.2.5 Parâmetro - inet_interfaces

A configuração padrão do Postfix é ouvir em todas as interfaces de

rede que o host possui instalada, é comum utilizar o parâmetro inet_interfaces

para definir em quais interfaces de rede o serviço SMTP será escutado.

Para isso, deve-se definir o parâmetro inet_interfaces no Postfix. A

sintaxe é mostrada na Figura 32.

Figura 32 - Sintaxe do parâmetro inet_interfaces

No exemplo da Figura 33, os parâmetros são definidos como valor para

o parâmetro mydestination.

Figura 33 - Configuração do parâmetro inet_interfaces

Esta configuração faz com que o Postfix aceite as requisições de

clientes SMTP na porta 25 no endereço IP da interface de rede que resolva para o

nome mx1.exemplo.com.br, onde este é valor do parâmetro myhostname

especificado, e na porta 25 da interface de rede loopback. Sendo assim para

funcionar corretamente os hostnames dessas interfaces de rede devem estar

corretamente configurados no arquivo /etc/hosts atribuindo os hostnames aos

endereços IPs de cada interface de rede existente.

4.2.6 Configuração do arquivo master.cf

O arquivo master.cf, Figura 34, é simplesmente uma tabela que o

processo máster faz a leitura para comandar os outros sub-processos. O Postfix

tem a funcionalidade de enjaular um processo. Para que seja habilitada a

funcionalidade basta apenas mudar o flag chroot para y, isto é, yes, a jaula e

inet_interfaces = hostname.dominio, hostvirtual.dominiovirtual

inet_interfaces = $myhostname, localhost.$mydomain

Page 50: Segurança em Correio Eletronico

49

atribuída dentro do diretório de spool. A coluna maxproc permite limitar o número

máximo de instâncias simultâneas de um processo que podem ficar executando.

Assim pode-se observar a possibilidade de aumentar ou diminuir o limite de um tipo

específico de um sub-processo de acordo com as necessidades. Por padrão, ele

vem preparado para limitar 50 instâncias de cada processo. A coluna unpriv

informa se o processo roda como usuário postfix, com privilégios padrão, ou como

usuário root. A coluna wakeup serve para sub-processos que rodam em base

regular, independente de eventos no sistema. A coluna private informa se mais de

um processo pode acessar a mesma instância do serviço.

O mecanismo chroot é uma abreviação para change root, e ele foi

criado para alterar a raiz do filesystem para o ambiente ao qual será aplicado. Isto

significa que a barra inicial (/) em qualquer nome de caminho é tornada relativa ao

caminho chrooted. Por exemplo, se um arquivo chamado

/var/spool/postfix/local_das_mensagens, diretório onde o Postfix armazena as

mensagens, se for enjaulada os diretórios /var/spool/postfix, o arquivo no

ambiente da jaula será somente o local_das_mensagens (GROSSMANN, 2001).

O objetivo de fazer chroot é para criar uma "jaula" de proteção

teoricamente impenetrável, protegendo o que está no chroot para poder ler ou

modificar qualquer arquivo fora do ambiente do chroot. O mecanismo unpriv define

que todo processo que rodar dentro da jaula terá privilégios de usuário padrão.

Portanto, o processo ficará preso dentro da jaula com privilégios de usuário.

Page 51: Segurança em Correio Eletronico

50

Figura 34 - Arquivo de configuração Master.cf

4.3 Antivírus ClamAV (Clam Antivírus)

O antivírus ClamAV é uma ferramenta de antivírus GPL para

ambientes UNIX, desenvolvida para verificar e-mails nos gateways, permitindo a

varreduras dos anexos dos e-mails. O pacote oferece um servidor multitarefa

bastante flexível, um scanner de linha de comando, e uma ferramenta para

atualização automática pela Internet (KOJM, 2002).

O banco de dados ClamAV é sempre atualizado, garantindo que seja

feito à atualização pelo servidor. O ClamAV possui várias características importantes

entre elas (KOJM, 2002):

• scanner rápido e multitarefa;

• suporte a vários tipos de arquivos compactados nas extensões (Zip,

RAR -2.0, Tar, Gzip, Bzip2, MS OLE2, MS Cabinet Files, MS CHM -

# ======================================================================

#service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (50)

# ======================================================================

smtp inet n - y - - smtpd

#smtps inet n - y - - smtpd \

-o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

#submission inet n - y - - smtpd \

-o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

#628 inet n - n - - qmqpd

pickup fifo n - y 60 1 pickup

cleanup unix n - y - 0 cleanup

#qmgr fifo n - y 300 1 qmgr

qmgr fifo n - y 300 1 nqmgr

rewrite unix - - y - - trivial-rewrite

bounce unix - - y - 0 bounce

defer unix - - y - 0 bounce

flush unix n - y 1000? 0 flush

smtp unix - - y - - smtp

showq unix n - y - - showq

error unix - - y - - error

local unix - n n - - local

virtual unix - n n - - virtual

lmtp unix - - n - - lmtp

Page 52: Segurança em Correio Eletronico

51

Compiled HTML, MS SZDD - compression format);

• scanner de linha de comando;

• atualização do banco de dados de vacinas;

• detecção de mais de 35000 vírus, worms, e trojans, incluindo

Microsoft Office e MacOffice vírus de macro;

• suporte nas principais plataformas de sistemas operacionais

(GNU/Linux, Solaris, FreeBSD, OpenBSD 2, AIX 4.1/4.2/4.3/5.1,

HPUX 11.0, SCO UNIX, IRIX 6.5.20f, Mac OS X, BeOS, Cobalt MIPS

boxes, Cygwin, Windows Services for Unix 3.5 (Interix)).

4.3.1 Configuração da atualização do banco de dados

O ClamAV usa a ferramenta freshclam que faz a atualização do banco

de dados no endereço database.clamav.net. Esse endereço possui vários

servidores associados, onde servidor DNS utiliza o algoritmo round-robin para o

balanceamento de carga, ou seja, seleciona automaticamente um banco de dados

geograficamente localizado mais próximo ao cliente, para realização de donwloads

de updates.

O ClamAV pode ser atualizado de duas formas:

Modo interativo ou linha de comando: a atualização é feita pelo

comando freshclam –d; ou através do crontab11 onde é feita a configuração para

realização da atualização automática. Mas antes de fazer a atualização deve realizar

a seguinte configuração. É recomendável ter um arquivo de log, para o registro dos

updates do ClamAV. No diretório /var/log, insira a permissão 600 no arquivo

freshclam.log, e com o usuário do ClamAV como proprietário do arquivo, conforme

mostra a Figura 35.

A outra recomendação é indicar o local e nome do arquivo de log

criado na diretiva UpdateLogFile do arquivo de configuração freshclam.conf. Com

estas recomendações seguidas, pode-se executar o programa FreshClam no modo

interativo no comando freshclam –d.

_____________ 11 Crontab é um programa de agendamento de tarefas.

Page 53: Segurança em Correio Eletronico

52

Figura 35 - Criação do arquivo de log do freshsclam

A outra opção é a forma automática. O crontab configurado para

realizar a atualização automática e silenciosa. Basta acrescentar uma linha ao

crontab do root ou do usuário do ClamAV, para verificar se há atualização a cada

hora, conforme mostra a Figura 36.

Figura 36 - Agendamento pelo Crontab

O caractere N deve ser um número entre 0 e 59. O recomendado é não

escolher múltiplos de 10, devido ao grande número de clientes que já usam este

intervalo de tempo. Caso a rede tenha servidor proxy para acesso a Internet, no

arquivo de configuração existe variáveis que devem ser preenchidas no arquivo

freshclam.conf, conforme mostra a Figura 37.

Figura 37 - Configuração do Proxy

4.4 Antispam – SpamAssassin

O antispam SpamAssassin, foi escrito e atualizado por Junstin Mason

a apartir de 2004 o SpamAssassin se tornou um projeto da Apache Software

Foundation. Antes de existir o SpamAssassin, existia o filtro filter.plx criado por Mark

Jeftovic’s. Este filtro de SPAM baseado em context/keyword, que utilizava as

técnicas básicas de antispam: pontuação de SPAM, regras para pontuação,

marcação de SPAM, entre outras. O Junstin Mason decidiu fazer alguns

# touch /var/log/freshclam.log

# chmod 600 /var/log/freshclam.log

# chown clamav

N * * * * /usr/local/bin/freshclam --quiet

HTTPProxyPassword is enabled. HTTPProxyServer myproxyserver.com HTTPProxyPort 1234 HTTPProxyUsername myusername HTTPProxyPassword mypass

Page 54: Segurança em Correio Eletronico

53

melhoramentos e reescrever todo o código e daí originou o SpamAssassin,

(MASON, 2004).

A técnica usada pelo filtro Bayesiano faz análise de todo o conteúdo

da mensagem em busca de padrões suspeitos e, com base na identificação de

determinados padrões, utiliza estatística e probabilidade para fazer uma

classificação do que é ou não SPAM. Mas esta filtragem depende de aprendizagem

por estatística, e por isso terá sempre um risco, mesmo que gradativamente menor,

de classificação incorreta, isto é, da ocorrência de eventuais falso-positivos e falso-

negativos (D'Ávila, 2004).

O funcionamento do SpamAssassin é basicamente assim: O

SpamAssassin usa uma variedade de mecanismos incluindo análises de texto e

cabeçalho, filtro Bayesiano, listas de DNS bloqueados, e filtros de banco de dados

colaborativos, para filtrar os SPAMs antes que sejam entregues a caixa de correio

do usuário (MASON, 2004).

O SpamAssassin é uma solução que possui um conjunto poderoso de

ferramentas para pontuar e determinar se uma mensagem é ou não um SPAM.

Entre as verificações primárias, encontram-se:

• análise de cabeçalho: este filtro verifica se o Spammer está

mascarando a sua identidade para esconder o servidor de origem de

suas mensagens;

• análise do corpo do e-mail: o SpamAssassin tenta identificar,

baseado em ocorrências comuns de palavras, com esta informação o

SpamAssassin classifica a mensagem como SPAM ou HAM, isto é,

considerada como e-mail legítmo.

• análise da Blacklist: o SpamAssassin suporta consultas a listas

negras como mailabuse.org e ordb.org;

• análise de listas RBLs: o SpamAssassin faz o bloqueio de SPAM

baseados em listas negras de DNS.

Page 55: Segurança em Correio Eletronico

54

4.4.1 Determinação da Pontuação pelo SpamAssassin

O Mailscanner Amavisd-new encaminha as mensagens para o

SpamAssassin para que as mensagens sejam analisadas. O SpamAssassin realiza

vários testes para determinar uma pontuação de SPAM para a mensagem. Quanto

maior for esta pontuação é maior a chance da mensagem ser considerada como um

SPAM. Em seguida, o SpamAssassin retorna a mensagem para o Amavisd-new,

para que se decida o que fazer com a mesma.

Os números negativos ou pequenos, próximo de zero, indicam que é

uma mensagem legítima, ou seja, classificada como ham.

4.5 Mailscanner – Amavisd-New (A MAil VIrus Scanner – New)

O Mailscanner Amavisd-new foi criado por Mark Martinec, na

Eslovênia. O Amavisd-new é uma versão aperfeiçoada em relação à versão

anterior. O Amavis que surgiu em 1997 e foi mantido até 2000 (MARTINEC, 2005).

O Amavisd-new atua entre um servidor de correio e um ou mais

verificadores de conteúdo de e-mail: como antivírus, ou o SpamAssassin. Sendo

assim o Amavisd-new, desempacota ou descompacta, caso seja necessário, todos

os anexos que fazem parte da mensagem e em seguida encaminha aos serviços de

controle de SPAM, SpamAssassin, e o antivírus, ClamAV, para que o conteúdo seja

verificado. Após todas as verificações, caso a mensagem caso seja considerada

legítima e sem vírus, ela é entregue ao Amavis-new que em seguinda entrega a

mensagem para a caixa de correio do usuário.

A comunicação entre o dispositivo de verificação de conteúdo e o

MTA, Amavisd-new e o Postfix é feita através do protocolo SMTP LMTP (Local Mail

Transfer Protocol).

Page 56: Segurança em Correio Eletronico

55

4.5.1 Determinação da Pontuação pelo Amavisd-new

Após o SpamAssassin pontuar a mensagem, a mensagem é retornada

ao Amavisd-new, este irá determinar se a mensagem será considerada como

legítima ou SPAM. O Amavisd-new compara a pontuação do SPAM com três níveis

de valores numéricos, tag, tag2 e kill. Estes valores podem ser diferentes para cada

recipiente, o que ocasiona ações futuras diferentes para cada recipiente. Se

necessário, o processo de checagem do e-mail é quebrado em mais de uma

transação para acatar as diferentes preferências de cada recipiente. As pontuações

dos níveis serão abordadas a seguir (MARTINEC, 2005):

• Nível tag: Se a pontuação de SPAM da mensagem for igual ou

maior que o nível tag, campos de cabeçalho de SPAM (X-SPAM-

Status, X-SPAM-Level) são inseridos para os recipientes locais;

”undef” é interpretado como menor que qualquer pontuação de SPAM;

• Nível tag2: Se a pontuação de SPAM da mensagem for igual ou

maior que o nível tag2, os campos de cabeçalho de SPAM (X-SPAM-

Status, X-SPAM-Level, X-SPAM-Flag e XSPAM-Report) são inseridos

para os recipientes locais, e (X-SPAM-Flag e X-SPAM-Status)

recebem o valor ”YES”;

• Nível kill: Se a pontuação de SPAM da mensagem for igual ou

maior que o nível kill, a mensagem é bloqueada; e o remetente recebe

uma notificação de que a mensagem não pode ser entregue. Esta

notificação pode ser personalizada.

Quando o nível de pontuação alcançar a pontuação kill pode acarretar

em (MARTINEC, 2005):

• a mensagem é enviada para área de quarentena;

• o administrador de SPAM recebe uma notificação;

• contador Contentspammmsgs é incrementado;

• o remetente recebe uma notificação se o warnspamsender está

como true (verdadeiro) e $final_spam_destiny está como D_PASS;

• se a mensagem não for entregue, o remetente recebe uma

notificação de que a mensagem não pode ser entregue devido a

Page 57: Segurança em Correio Eletronico

56

restrições.

Caso o nível de pontuação atinja o nível tag2 são adicionadas algumas

marcas na mensagem, nas quais o receptor ou o MUA podem decidir sobre o

destino da mensagem, como exemplo (MARTINEC, 2005):

• o campo de cabeçalho de assunto é modificado;

• os campos de cabeçalhos X-SPAM-Flag e X-SPAM-Status recebem

um Yes;

• e o log de e-mail indica ”Passed SPAM” ao invés de ”Passed

CLEAN”.

Caso o receptor ou seu MUA decida descartar um e-mail baseado na

marcação do tag2, não existe maneira de recuperar este e-mail da quarentena, o

remetente nunca será notificado, nem o administrador de SPAM. Para o MTA e o

Amavisd-new, a mensagem foi entregue com sucesso. Qualquer coisa que o MUA

fizer com o e-mail é de sua própria responsabilidade.

4.5.2 Área de quarentena

O e-mail é colocado na área de quarentena quando está infectado ou

que foi banido ou a sua pontuação de SPAM para pelo menos um recipiente está

acima ou igual ao nível kill. O parâmetro *quarantine_to para cada recipiente

(quando não está vazio), juntamente com o correspondente global

*_quarantine_method determina o local da quarentena (MARTINEC, 2005).

O parâmetro *_quarantine_method pode ser considerado um ajuste

estático, geralmente controla o formato e a localização da área de quarentena no

sistema. O parâmetro *quarantine_to pode ser considerado a parte dinâmica da

localização da área de quarentena, possivelmente afetada pelas configurações de

cada recipiente, ou seja, servindo para especificar a localização final, ex.: um

arquivo ou um mailbox no sistema.

Dependendo da categoria do correio, as seguintes variáveis

especificam o método da quarentena: $virus_quarantine_method,

Page 58: Segurança em Correio Eletronico

57

$SPAM_quarantine_method, $banned_files_quarantine_method e o

$bad_header_quarantine_method. Uma maneira de desabilitar globalmente a

quarentena é especificar estas variáveis como ”undef” ou como uma string vazia.

Os métodos locais e o smtp: são usados para quarentena. O smtp:

atualmente não é usado para quarentena (é usado em envio e notificações).

Dependendo do método especificado (local/bsmtp/smtp) o ajuste do *quarantine_to

para cada recipiente adota diferentes semânticas e sintaxes, possivelmente

modificadas pela variável de configuração $QUARANTINEDIR.

O *quarantine_to é atualmente limitado em sua funcionalidade, sendo

usado apenas para desligar a área de quarentena para alguns usuários ou

subdomínios locais. Em configurações comuns a localização da quarentena (ex.:

um diretório ou uma mailbox dedicada) é a mesma para todos os recipientes. Se ao

menos um recipiente especificar o *quarantine_to, a mensagem será posta em

quarentena no local especificado, não importando o número de recipientes.

Page 59: Segurança em Correio Eletronico

58

5 IMPLEMENTAÇÃO DO SERVIDOR DE E-MAIL SEGURO

A proposta deste capítulo é apresentar uma solução segura de um

servidor de e-mail. Dessa forma, este capítulo implementa um servidor e-mail com o

MTA Postfix e com as ferramentas de análise de conteúdo. Estas ferramentas são:

ClamAV, ferramenta de antivírus, SpamAssassin, ferramenta antispam e o

Amavisd-new, ferramenta de Mailscanner para verificação de conteúdo de e-mail. O

sistema operacional utilizado no estudo é o Linux da distribuição Redhat versão 8.

O acesso às mensagens será feito através do Dovecot utilizando o protocolo

IMAP4. Sendo assim, o estudo não abordará nenhuma instalação dos pacotes:

Linux Redhat, Postfix, Amavisd-new, ClamAV e SpamAssassin e Dovecot, mas

somente a sua configuração e comentários.

5.1 Sistema Operacional

O estudo utilizou o sistema operacional Linux da distribuição Redhat

8.0. A abordagem das próximas seções parte do princípio de que as instalações dos

programas já foram efetuadas, e que o servidor esteja conectado na rede protegida

com firewall, com acesso à Internet e as configurações básicas do sistema

operacional tenham sido realizadas previamente.

5.2 Configuração do MTA Postfix

Antes de realizar a configuração do Postfix deve ser feito a

desativação do MTA Sendmail, que vem instalado por padrão no sistema

operacional. A desativação do serviço é feita através da edição do arquivo

/etc/rc.conf , conforme mostrado na Figura 38.

Figura 38 - Desativação do MTA Sendmail

sendmail_enable=”NONE” sendmail_submit_enable=”NO” sendmail_outbound_enable=”NO” sendmail_msp_queue_enable=”NO”

Page 60: Segurança em Correio Eletronico

59

A configuração do Postfix é realizada em dois arquivos, master.cf e o

main.cf, que normalmente estão localizados no diretório /etc/postfix/. A Figura 39

mostra os parâmetros que foram alterados com os respectivos comentários no

arquivo main.cf .

Figura 39 - Configuração do arquivo main.cf

Normalmente o parâmetro relay fica aberto por padrão, o analista de

segurança deve ficar atento com esta configuração para obter maior garantia de

segurança, conforme é mostrado na Figura 40.

#___________________________________main.cf________________________________

#### CAMINHOS

# Diretório para a fila do Postfix e a Jaula.

queue_directory = /var/spool/postfix

# Diretório dos arquivos executáveis do Postfix

command_directory = /usr/bin

# Diretório dos daemons do Postfix

daemon_directory = /usr/libexec/postfix

#### PRIVILÉGIOS DOS USUÁRIOS

# Usuário proprietário ao qual inicializa os daemons.

mail_owner = postfix

#### NOME DO SERVIDOR E DO DOMÍNIO

# Nome do servidor

myhostname = srv-mail.exemplo.com.br

# Domínio do servidor

mydomain = exemplo.com.br

#### ENVIO DAS MENSAGENS

# Domínio das mensagens enviadas.

myorigin = $mydomain

#### RECEBIMENTO DAS MENSAGENS

# Interface de rede que recebe e-mails.

inet_interface = all

# Domínios de recebimento de e-mails.

mydestination = $mydomain, $myhostname, localhost

#### USUÁRIOS DESCONHECIDOS

# Código de erro retornando quando recebe e-mail com destinatário

# desconhecido. 450 = tente novamente, 550 = e-mail rejeitado.

unknow_local_recipient_reject_code = 550

Page 61: Segurança em Correio Eletronico

60

Figura 40 - Configuração do arquivo main.cf - Continuação

Como descrito no capítulo 4, o Postfix possui controle de mensagens

comerciais não solicitadas. A continuação do arquivo main.cf contempla a

configuração RBL e RHSBL que será melhor abordado posteriormente, como

mostra a Figura 41.

#___________________________________main.cf________________________________

#### CONFIGURAÇÂO DE RELAY

# Redes que podem fazer relay no servidor.

mynetworks = 192.168.0.0/24, 127.0.0.0/8

#### TAXA DE ENTRADA

# Pausa antes de aceitar uma nova mensagem quando a taxa de entrega

# excede a taxa de entrega.

#in_flow_delay = 1s

#### ALIASES

# Arquivo de aliases (apelidos, redirecionamento local).

# Quando o arquivo for modificado deve-se executar “newsaliases”.

alias_maps = hash:/etc/aliases

#### CONFIGURAÇÕES DIVERSAS

# O servidor Biff envia notificações de mensagens novas.

biff = no

# Banner exibido quando se conecta ao servidor de e-mail.

smtpd_banner = $myhostname ESMTP $mail_name

#### MAILBOX

# Parâmetro opcional que especifica o home do usuário

#home_mailbox = Mailbox

# Diretório onde ficam as caixas de mensagens

#mail_spool_directory = /var/mail

# Programa externo opcional para fazer a entrega local.

#mailbox_command = /local/do/procmail

# Tamanho máximo em bytes das caixas de correio.

#mailbox_size_limit = 51200000

#### LIMITES DE TAMANHO

# Tamanho da mensagem original que é retornada quando da notificação de

#erro na entrega.

#bounce_size_limit = 50000

Page 62: Segurança em Correio Eletronico

61

Figura 41 - Configuração do arquivo main.cf – Continuação

#___________________________________main.cf________________________________

# Tamanho máximo do cabeçalho da mensagem. O tamanho excedente será

# descartado

#header_size_limit = 102400

# Tamanho máximo do e-mail, em bytes.

#message_size_limit = 10240000

#### FILTRO ANTISPAM

# Limite de destinatários por mensagem.

#smtpd_recipient_limit = 1000

# Restringe a conexão de determinados IPs.

smtpd_client_restrictions =

reject_rbl_client relays.ordb.org,

reject_rbl_client sbl-xbl.spamhaus.org,

reject_rbl_client bl.spamcop.net,

# Restringe a conexão de determinados hostnames.

reject_rhsbl_client blackhole.securysage.com,

permit

# Restringe o envio por determinados remetentes.

smtp_sender_restrictions =

reject_unknow_sender_domain,

reject_rhsbl_sender blackhole.securitysage.com,

permit

# Restringe o envio para determinados destinatários.

smtp_recipient_restrictions =

permit_mynetworks,

reject_unauth_destination,

permit

#### CONFIGURAÇÕES DE INSTALAÇÃO

# Caminho completo do commando sendmail, para compatibilidade.

sendmail_path = /usr/sbin/sendmail

# Caminho completo do commando newsaliases do Postfix.

newaliases_path = /usr/bin/newsaliases

# Caminho completo de comando mailq do Postfix.

mailq_path = /usr/bin/mailq

# Grupo usado para submissão de e-mail e gerenciamento de filas.

setgid_group = postdrop

# Diretório das manpages.

manpage_directory = /usr/local/man

# Diretório dos exemplos de configuração.

sample_directory = /etc/postfix

# Diretório dos arquivos README.

readme_directory = no

Page 63: Segurança em Correio Eletronico

62

O arquivo master.cf, neste momento, não exigirá mudanças para o

funcionamento básico do Postfix, este arquivo será melhor abordado quando for

feita a configuração do Amavisd-new e o restante das configurações, conforme

mostrado na Figura 42.

Figura 42 - Configuração do arquivo master.cf

Após estas configurações, poderá ser realizado a inicialização do

Postfix, utilizando-se o seguinte comando:

service postfix start

Após a inicialização do Postfix é recomendável verificar o conteúdo do

arquivo de log, /var/log/mail se houve erros. O teste para verificar disponibilidade

do daemon do Postfix é feito pelo Telnet na porta 25, conforme mostra a Figura 43.

Este teste comprova se o serviço SMTP está ativo e operante na porta 25.

#_________________________________master.cf________________________________

# =========================================================================

# service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (100)

# =========================================================================

smtp inet n - n - - smtpd

#smtps inet n - n - - smtpd

# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

#submission inet n - n - - smtpd

# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

#628 inet n - n - - qmqpd

pickup fifo n - n 60 1 pickup

cleanup unix n - n - 0 cleanup

#qmgr fifo n - n 300 1 qmgr

qmgr fifo n - n 300 1 nqmgr

#tlsmgr fifo - - n 300 1 tlsmgr

rewrite unix - - n - - trivial-rewrite

bounce unix - - n - 0 bounce

defer unix - - n - 0 bounce

flush unix n - n 1000? 0 flush

proxymap unix - - n - - proxymap

smtp unix - - n - - smtp

relay unix - - n - - smtp

# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq unix n - n - - showq

error unix - - n - - error

local unix - n n - - local

virtual unix - n n - - virtual

lmtp unix - - n - - lmtp

Page 64: Segurança em Correio Eletronico

63

Figura 43 - Teste para verificação da disponibilidade do serviço SMTP

5.3 Configuração do Mailscanner Amavisd-new

A instalação do Amavisd-new necessita que alguns pacotes externos

sejam previamente instalados para auxiliar no desarquivamento, descompactação e

decodificação das mensagens caso estejam nestes formatos. Estes pacotes estão

descritos na Tabela 1 com os respectivos links para download.

Tabela 1 - Pacotes externos e dependências do Perl para Amavisd-new (SPENNEBERG, 2005)

# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.

Escape character is ’^]’.

220 srv-mail.examplo.com.br ESMTP Postfix

quit

221 Bye

Connection closed by foreign host.

arc arc arc-5.21e-1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notesnomarch nomarch file-3.33-0.1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notes

bzip2 bzip2 bzip2-1.0.2-5.i386.rpm http://rpmfind.netfile file file-3.37-8.i386.rpm http://rpmfind.netlha lha lha-1.14i-7.i386.rpm http://rpmfind.net

compress ncompress ncompress-4.2.4-31.i386.rpm http://rpmfind.netunarj unarj unarj-2.43-12.i386.rpm http://rpmfind.netunrar unrar unrar-2.71-1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-noteszoo zoo perl-Archive-Tar-0.22-2.62rm.amavis.src http://rmorales.modwest.com/rpms/amavis/#arc-notes

Archive::Tar perl-Archive-Tar Archive-Tar-1.26.tar http://search.cpan.org/~kane/Archive-Tar-1.25/Archive::Zip perl-Archive-Zip perl-Archive-Zip-1.01-1.62rm.src http://rmorales.modwest.com/rpms/amavis/#arc-notes

Compress::Zlib perl-Compress-Zlib Compress-Zlib-1.41.tar http://search.cpan.org/dist/Compress-Zlib/Convert::TNEF perl-Convert-TNEF perl-Convert-UUlib-0.201-4.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notes

IO::stringy perl-IO-stringy perl-IO-stringy-2.108-1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-noteslibnet perl-libnet perl-libnet-1.12-7.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notes

MailTools perl-MailTools perl-MailTools-1.15-1.62rm.src http://rmorales.modwest.com/rpms/amavis/#arc-notesMIME::Base64 perl-MIME-Base64 perl-MIME-Base64-2.12-5.1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notes

MIME::tools perl-MIME-tools perl-MIME-tools-5.411-1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notesUnix::Syslog perl-Unix-Syslog perl-Unix-Syslog-0.98-1.62rm.src http://rmorales.modwest.com/rpms/amavis/#arc-notesNet::Server perl-Net-Server perl-Net-Server-0.84-1.62rm.src http://rmorales.modwest.com/rpms/amavis/#arc-notes

Time::HiRes perl-Time-HiRes perl-Time-HiRes-1.20-23.i386.rpm http://rpmfind.netDigest::MD5 perl-Digest-MD5 perl-5.8.0-55.i386.rpm http://rpmfind.net

Mail::SpamAssassin SpamAssassin spamassassin-2.31-16.i386.rpm http://rpmfind.netRazor razor-agents razor-agents-1.20-1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notes

Digest::SHA1 perl-Digest-SHA1 perl-Digest-SHA1-2.01-6.i386.rpm http://rpmfind.netDigest::HMAC perl-Digest-HMAC perl-Digest-HMAC-1.01-8.noarch.rpm http://rpmfind.net

Net::DNS perl-Net-DNS perl-Net-DNS-0.24-1.62rm.src.rpm http://rmorales.modwest.com/rpms/amavis/#arc-notes

Dependências: Programas Externos

Nome do pacote RPM Versão do Pacote RPM Link para download do Pacote

Dependências: Módulos Perl

Nome do pacote RPM Versão do Pacote RPM Link para download do Pacote

Page 65: Segurança em Correio Eletronico

64

Após a instalação de todos os pacotes externos auxiliares é feita a

instalação do Amavisd-new, como mencionado anteriormente, não será abordado

no estudo. O arquivo de configuração do Amavisd-new é o /etc/amavisd.conf,

Figura 44. Os parâmetros são simples e documentados, são explicados com

comentários somente os parâmetros que foram modificados.

Figura 44 - Configuração do arquivo amavisd.conf

#____________________________amavisd.conf________________________

### amavisd.conf

# Hostname e Domain.

$mydomain = ‘srv-mail.exemplo.com.br’;

# Para a integração do Amavis-new com Spamassassin deve-se comentar

# a linha a seguir.

# @bypass_spam_checks_acl = qw( . );

# Para a integração do Amavis-new com Clamav deve-se comentar

# a linha a seguir.

# @bypass_virus_checks_acl = qw( . );

# Para a integração do Amavis-new com ClamAV deve retirar o

# comentario das linhas a seguir.

[‘Clam Antivírus-clamd’,

\&ask_daemon, [“CONTSCAN ()\n*, ‘/var/amavis/clamd’],

qr/\bOK$/, qr/\bFOUND$/,

qr/^.*?: (Infected Arquive)(.*)FOUNDS/},

qr’.\.(ade|adp|bas|bat|chm|cmd|com|cpl|crt|exe|hlp|hta|inf|ins|isp|

js|jse|lnk|mdb|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb|

vbe|vbs|wsc|wsh)$’ix,

# Inserir a seguinte linha para notificação ao administrador de

# sistema.

$hdrfrom_notify_sender = ‘Antivirus <[email protected]’;

#Após a verificação do conteúdo pelo Amavisd-new e a mensagem não

#tiver vírus. A mensagem é encaminhada para o Postfix na porta 10025

#que repassará para cada cada caixa de dorreio.

$forward_method = ’smtp:127.0.0.1:10025’;

# O administrador recebe uma notificação para que a mensagem seja

# analisada. Evitando falsos positivos

$final_spam_destiny = D_PASS;

#A mensagem é entregue ao usuário

$sa_tag_level_deflt = 4.0;

#Se a pontuação de SPAM da mensagem for igual ou maior que kill,

#a mensagem é bloqueada; e o remetente recebe uma notificação

$sa_tag2_level_deflt = 6.3;

$sa_kill_level_deflt = $sa_tag2_level_deflt;

Page 66: Segurança em Correio Eletronico

65

Neste momento será necessário configurar o Postfix para se

comunicar com o Amavisd-new. Para que o Postfix comunique-se com o Amavisd-

new, insere-se na última linha do arquivo main.cf um filtro de conteúdo para

integração do Postfix com o Amavisd-new, conforme mostra a Figura 45.

Figura 45 - Configuração do arquivo main.cf para integração com o Amavisd-new

Este filtro também foi acrescentado com os parâmetros no final do

arquivo master.cf para que a integração como Amavisd-new seja realizada,

conforme mostra a Figura 46.

Figura 46 - Configuração do arquivo master.cf para integração com o Amavisd-new

#___________________________________main.cf________________________________

###### Parâmetros do arquivo foram suprimidos intencionalmente por questões

# de espaço

#### Integração do Postfix com o Amavisd-new

content_filter = smtp-amavis:[localhost]:10024

#_________________________________master.cf________________________________

# =========================================================================

# service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (100)

# =========================================================================

###### Parâmetros do arquivo foram suprimidos intencionalmente por questões

# de espaço.

#### Integração do Postfix com o Amavisd-new

smtp-amavis unix - - y - 2 smtp

-o smtp_data_done_timeout=1200

-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - y - - smtpd

-o content_filter=

-o local_recipient_maps=

-o relay_recipient_maps=

-o smtpd_restriction_classes=

-o smtpd_client_restrictions=

-o smtpd_helo_restrictions=

-o smtpd_sender_restrictions=

-o smtpd_recipient_restrictions=permit_mynetworks,reject

-o mynetworks=127.0.0.0/8

-o strict_rfc821_envelopes=yes

Page 67: Segurança em Correio Eletronico

66

Este recurso funciona com o Postfix repassando todas a mensagens

para o Amavisd-new na porta 1024 para fazer a verificação de conteúdo e anexos.

Após a verificação do conteúdo o Amavisd-new o e-mail é enviado para o

SpamAssassin, através do módulo Perl mail::spamassassin, para verificar se a

mensagem é SPAM, se a mensagem não for SPAM o Amavisd-new repassa a

mensagem ao ClamAV para verificar os anexos. Se os anexos não tiverem vírus, a

mensagem é enviada ao Postfix na porta 10025, que repassará para cada caixa de

correio.

Após a instalação e configuração do Amavisd-new, falta conferir se

está funcionando corretamente. Para isto é feito um teste através do Telnet na porta

10024. Esta porta foi configurada no arquivo /etc/amavisd.conf para ser padrão,

conforme é mostrado na Figura 47.

Figura 47 - Testando a porta 10024 do Amavisd-new

5.4 Configuração do Antivírus ClamAV

Para que o ClamAv pudesse ser instalado foi necessário que fossem

previamente instalados os seguintes pacotes: zlib, zlib-devel e compilador gcc,

bzip2, bzip2-devel library e o GNU MP 3, no caso deste pacote é muito importante

porque permite que o freshclam verifique as assinaturas digitais das bases de

dados do vírus. Estes pacotes de instalação podem ser encontrados no site

http://rpmfind.net.

Em seguida deve-se fazer a configuração no ClamAV para integração

com o Amavisd-new. Editando o arquivo /usr/local/etc/clamav.conf para alterar o

parâmetro LocalSocket /var/clamav/clamd e User clamav para LocalSocket /var/

amavis/clamd, User vscan respectivamente, conforme mostra as Figuras 48 e 49.

# telnet localhost 10024

Trying 127.0.0.1...

Connected to localhost.

Escape character is ’^]’.

220 [127.0.0.1] ESMTP amavisd-new service ready

quit

221 2.0.0[127.0.0.1] amavisd-new closing transmission channel

Connection closed by foreign host.

Page 68: Segurança em Correio Eletronico

67

Figura 48 - Configuração do arquivo clamav.conf

#_______________________________clamav.conf________________________________

### clamav.conf

# Arquivo de log.

LogFile /var/log/clamav/clamd.log

# Para permitirem múltiplas instâncias com o mesmo arquivo de log

#LogFileUnlock

# Tamanho máximo em bytes do arquivo de log. O valor 0 é ilimitado.

LogFileMaxSize 0

# Coloca a data e a hora em cada linha do log.

LogTime

# Usar o syslog.

#LogSyslog

# Aumenta o detalhamento do log.

#LogVerbose

# Caso desejado salvar o PID em arquivo.

#PidFile /var/run/clamd.pid

# Caso se desejada salvar arquivos .db.

DataDiretory /usr/local/share/clamav

# Caminho para o socket local.

LocalSocket /var/amavis/clamd

# Remove os sockets travados.

FixStaleSocket

# Porta TCP.

# TCPSocket 3310

# Endereço local para maior proteção.

TCPAddr 127.0.0.1

# Tamanho máximo da fila de conexões pendentes.

#MaxConnectionQueueLength 30

# Stream de entrada será salvo no disco antes de ser scanneado.

# StreamSaveToDisk

# Limite de tamanho do STREAM. Se excedido fecha a conexão.

StreamMaxLenth 10M

# Número máximo de threads simultâneas. O padrão é 5.

MaxThreads 20

# Tempo máximo em segundos para cada threads. O padrão é 180.

ThreadTimeout 500

# Profundidade máxima de varredura de diretórios.

MaxDirectoryRecursion 50

# Links simbólicos de diretórios.

#FollowDirectorySymlinks

# Links simbólicos de arquivos.

#FollowFileSymlinks

# Intervalo em segundos entre cada verificação da integridade

# interna. O Padrão é 3600.

#SelfCheck 600

# Comando executado quando um vírus é encontrado.

#VirusEvent /usr/local/bin/send_sms 123456789 “VIRUS ALERT: %f: %v”

Page 69: Segurança em Correio Eletronico

68

Figura 49 - Configuração do arquivo clamav.conf – Continuação

Finalizadas todas alterações nos arquivos de configuração do serviço

do servidor de e-mail, deve-se reinicializar o serviço do Postfix, ClamAV e o

Amavisd-new, para que estes efetivem as novas configurações, conforme mostrado

na Figura 50.

Figura 50 - Inicialização dos serviços

#_______________________________clamav.conf________________________________

# Usuário sob o qual o sistema irá executar.

User vscan

# Habilita grupos adicionais se o usuario clamav participar de algum.

#AllowSupplementaryGroups

# Não roda em background.

#Foreground

# Não executa em backgroup.

#Debug

# Descomentar a linha seguir se for varrer arquivos de e-mail.

#Scanmail

# Comentar a linha a seguir para desabilitar a varredura de arquivos

ScanArchive

# Suporte a arquivos compactados RAR.

#ScanRAR

# Tamanho máximo de arquivo compactados.

ArchiveMaxFileSize 50M

# Recursão máxima em arquivos compactados.

ArchiveMaxRecursion 10

# Número máximo em da quantidade de arquivos compactados

ArchiveMaxFiles 1000

# Limita a memória para descompressão bzip2.

#ArchiveLimitMemoryUsage

# service clamd start

# service amavisd start

______________Outra Sessão Terminal___________

# service postfix reload

Page 70: Segurança em Correio Eletronico

69

5.5 Finalizando a configuração e testando

Até este momento, não foi necessário fazer configurações para o

SpamAssassin, pois este foi instalado como um módulo Perl, Mail::spamassasin,

mencionado na sessão anterior. Por isso, os parâmetros já se encontram

configurados com os valores padrões para o funcionamento imediato. E será

apenas necessário realizar treinamento. O SpamAssassin deve ser treinado com

dois arquivos do treinamento que possuem aproximadamente 200 mensagens com

SPAM e 200 com ham. Para executar o treinamento foi utilizado o comando

mostrado na Figura 51.

Figura 51 - Treinamento do SpamAssassin

Após o treinamento poderá ser feito um teste para verificar a eficácia

do antispam. O teste consiste de enviar de uma mensagem simples, através de

Telnet na porta 10024, conforme mostra a Figura 52.

Figura 52 - Teste com a Mensagem Normal (DUCKLIN, 2003)

sa-learn --showdots --mbox --SPAM nomedoarquivodeSPAM

sa-learn --showdots --mbox --ham nomedoarquivodeham

# telnet 127.0.0.1 10024

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is ’^]’.

220 [127.0.0.1] ESMTP amavisd-new service ready

MAIL FROM:<[email protected]>

250 2.1.0 Sender [email protected] OK

RCPT TO:<postmaster>

250 2.1.5 Recipient postmaster OK

DATA

354 End data with <CR><LF>.<CR><LF>

Subject: test1

test1

.

*** 250 2.6.0 Ok, id=31859-01, from MTA: 250 Ok: queued as 90B7F16F

Page 71: Segurança em Correio Eletronico

70

E uma outra mensagem teste contendo uma assinatura do “teste” de

vírus EICAR3, pode ser visto na Figura 53.

Figura 53 - Teste com a Mensagem EICAR (DUCKLIN, 2003)

O próximo teste será para simulação de envio de uma mensagem

SPAM para o servidor, para isso, será necessária a troca de valores de alguns

parâmetros: $sa_tag2_level_deflt = 6.31 para 3; e $sa_kill_level_deflt = 6.31 para 4,

no arquivo /etc/amavisd.conf. Lembrando que esta troca é somente para

realização do teste e após o teste, os valores anteriores serão retornados.

A simulação consiste em que toda mensagem será considerada como

SPAM. Em seguida esta mensagem será enviada ao servidor com pontuação igual

a 3.94, este valor irá ultrapassar o nível tag2 que foi configurado. Isto permitirá que

a mensagem seja entregue na caixa postal do destinatário, com a marcação de

mensagem SPAM em seu cabeçalho, conforme demonstrado na Figura 54.

# telnet 127.0.0.1 10024

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is ’^]’.

220 [127.0.0.1] ESMTP amavisd-new service ready

MAIL FROM:<[email protected]>

250 2.1.0 Sender [email protected] OK

RCPT TO:<[email protected]>

250 2.1.5 Recipient [email protected] OK

DATA

354 End data with <CR><LF>.<CR><LF>

Subject: teste de vírus EICAR

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

.

250 2.7.1 Ok, discarded, id=01485-01 - VIRUS: Eicar-Test-Signature

Page 72: Segurança em Correio Eletronico

71

Figura 54 - Teste com a Mensagem com nível tag2

5.6 Configuração do Dovecot Imap

O IMAP Dovecot possui o código aberto foi desenvolvido para oferecer

recursos de segurança. O Dovecot trabalha com mbox padrão e outros formatos de

armazenamento de mensagens. O Dovecot é fácil de configurar e não requer

muitos ajustes na sua configuração (SIRAINEN, 2005). O arquivo da Figura 55

mostra os principais parâmetros modificados do arquivo dovecot.conf.

From [email protected] Wed Nov 17 17:13:52 2005

Return-Path: <[email protected]>

X-Original-To: [email protected]

Delivered-To: [email protected]

Received: from localhost (localhost [127.0.0.1])

by [email protected] (Postfix) with ESMTP id 522E617281

for <[email protected]>; Wed, 17 Nov 2005 17:13:52 -0800 (PST)

Received: from unknown ([127.0.0.1])

by localhost (united [127.0.0.1]) (amavisd-new, port 10024) with SMTP

id 01484-01 for <[email protected]>;

Wed, 17 Mar 1999 09:41:55 -0800 (PST)

Subject: ***SPAM*** teste

X-Virus-Scanned: amavisd-new at exemplo.com.br

X-SPAM-Status: Yes, hits=3.942 tagged_above=2 required=3 tests=ALL_TRUSTED,

EMAIL_ROT13, HTML_30_40, HTML_IMAGE_ONLY_24, HTML_MESSAGE,

HTML_MISSING_CTYPE, JOIN_MILLIONS, MISSING_DATE, OBSCURED_EMAIL

X-SPAM-Level: ***

X-SPAM-Flag: YES

Message-Id: <[email protected]>

Date: Wed, 17 Nov 2005 17:13:52 -0800 (PST)

From: [email protected]

To: undisclosed-recipients:;

Page 73: Segurança em Correio Eletronico

72

Figura 55 - Configuração do arquivo dovecot.conf

Neste estudo não foi habilitado o protocolo POP3, somente o protocolo

IMAP4, por questões de segurança.

5.7 Configuração do SASL (Simple Authentication and Security Layer )

A configuração dos SASL no protocolo SMTP precisa do pacote

Cyrus-SASL seja instalado previamente no sistema operacional. A configuração do

mecanismo SASL é bem simples, mas antes precisa informar ao Cyrus-SASL qual o

mecanismo de autenticação será usado. Existem vários mecanismos, os mais

comuns são sasldb, shadow e saslauthd. O sasldb usa seu próprio banco de dados,

o shadow usa o do sistema e o saslauthd é um mecanismo que oferece suporte ao

LDAP, IMAP, entre outros.

Para configurar o Cyrus-SASL no Postfix basta editar o arquivo

/usr/local/lib/sasl2/smtpd.conf ou /usr/lib/sasl2/smtpd.conf, dependendo de

onde o Cyrus-SASL estiver instalado, como mostra a Figura 56.

Figura 56 - Configuração do SAS no arquivo smtpd.conf

pwcheck_method: sasldb

#________________________________dovecot.conf______________________________

protocols = imap imaps

ssl_disable = no

ssl_cert_file = /etc/ssl/certs/imapd.pem

ssl_key_file = /etc/ssl/certs/imapd.pem

ssl_parameters_regenerate = 0

disable_plaintext_auth = no

login_chroot = no

login_max_processes_count = 250

login_max_logging_users = 256

max_mail_processes = 1024

first_valid_uid = 100

default_mail_env = maildir:/maildir/%u

mail_full_filesystem_access = no

maildir_stat_dirs = no

mbox_locks = dotlock fcntl

Page 74: Segurança em Correio Eletronico

73

Feito isso, altere o arquivo main.cf e adicione as seguintes linhas no

final do arquivo, como mostra a Figura 57.

Figura 57 - Configuração do SASL no arquivo main.cf

5.8 Configuração das blacklist RHSBL e RBLs

Para usar RHSBL e RBLs no Postfix, basta adicionar as macros

(reject_rbl_client e o endereço do domínio da RBL) na configuração

smtpd_client_restrictions. E para configurar RHSBLs e feito da mesma forma,

basta adicionar a macro (reject_rhsbl_sender e o endereço do da RHSBL) no

arquivo main.cf, conforme mostra a Figura 58.

#### Configurações do SASL

broken_sasl_auth_clients = yes

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

#### Aplicando as regras do SASL no smtpd

smtpd_recipient_restrictions = permit_mynetworks,

permit_sasl_authenticated,

reject_unauth_destination

Page 75: Segurança em Correio Eletronico

74

Figura 58 - Configuração das blacklist RHSBL e RBLs no main.cf

#___________________________________main.cf________________________________

###### Parâmetros do arquivo foram suprimidos intencionalmente por questões

# de espaço.

#### FILTRO ANTISPAM

# Limite de destinatários por mensagem.

#smtpd_recipient_limit = 1000

# Macros RBL e Macros RHSBL.

smtpd_client_restrictions =

reject_rbl_client relays.ordb.org,

reject_rbl_client sbl-xbl.spamhaus.org,

reject_rbl_client bl.spamcop.net,

reject_rhsbl_client blackhole.securysage.com,

permit

# Restringe o envio por determinados remetentes.

smtp_sender_restrictions =

reject_unknow_sender_domain,

# Restringe a conexão de determinados hostnames.

reject_rhsbl_sender blackhole.securitysage.com,

permit

# Restringe o envio para determinados destinatários.

smtp_recipient_restrictions =

permit_mynetworks,

reject_unauth_destination,

Page 76: Segurança em Correio Eletronico

75

6 CONCLUSÃO

O crescimento da utilização da Internet nas últimas décadas trouxe

vários benefícios provocados pela popularização das novas tecnologias de

informática, porém surgiram problemas motivados por esses serviços, dentre eles, o

serviço de correio eletrônico.

Uma importante ameaça é a falta de segurança que permite qualquer

um ter acesso através de uma vulnerabilidade para ganhar acesso a informações

restritas entre as partes interessadas, podendo ser usada por pessoas não

autorizadas a qualquer fim. Entretanto, usando as boas práticas de segurança na

configuração de um servidor de e-mail minimiza as principais ameaças existentes.

Estas vulnerabilidades e as novas ferramentas adotadas pelos

Spammers motivam um esforço cada vez maior em busca de soluções e

tecnologias capazes de minimizar estas ameaças, por isso, os analistas de

segurança devem que ficar atentos às novas descobertas de vulnerabilidades, para

que trabalhos sejam implementados em tempo.

Sendo assim, este estudo apresentou as ferramentas de segurança da

informação que integram a solução proposta para o controle de vírus e SPAM em

servidores de e-mail. Foram apresentadas diversas ferramentas de segurança que

integram a solução. Para minimizar problemas ocasionados pelo recebimento de

mensagens não solicitadas SPAM e também acesso não autorizado.

O estudo também propõs uma implementação de uma solução segura

em um servidor de e-mail. Esta solução consiste de um MTA Postfix e com suas

ferramenta integrada de análise de conteúdo. A solução contemplou um filtro de

conteúdo de e-mail, o SpamAssassin, um mailscanner para verificação de anexos,

Amavisd-new e um antivírus, ClamAV.

Portanto, este estudo fornece mecanismos favoráveis na obtenção de

um ambiente seguro em servidores de e-mails que demanda maior segurança nos

dados, que permitiu o bom entendimento das vulnerabilidades e ameaças no

ambiente de correio eletrônico. Em relação à implementação segura pode-se

concluir que o ambiente fica mais seguro e reduz, significativamente o número de

mensagens não solicitadas.

Page 77: Segurança em Correio Eletronico

76

No intuito de continuar a pesquisa nesta área de segurança, mas

especificamente em segurança em servidores de e-mail, serão apresentados a

seguir alguns trabalhos futuros que podem ser realizados na mesma abordagem ou

até mesmo evoluindo, dando continuidade a este trabalho.

6.1 Trabalhos Futuros

Uma sugestão para continuidade deste trabalho é a utilização de uma

topologia totalmente redundante para garantir a disponibilidade do ambiente e

permitir que o mesmo possa ser expandido à medida que a demanda for

aumentando, é necessária a criação de uma topologia modular que ofereça

redundância nos equipamentos e serviços de que o tempo de indisponibilidade seja

reduzido ao máximo.

Outra sugestão é a implementação deste ambiente de segurança

usando a plataforma Windows, para a comparação entre outras plataformas de

sistemas operacionais.

Outro trabalho, mais distante desta abordagem, é o desenvolvimento

de um protocolo para substituir o protocolo SMTP. Este novo protocolo deve

oferecer recursos que permita, durante a negociação entre servidores de e-mail, a

verificação do tipo de mensagem que se trata, comercial, pessoal ou SPAM, isto é,

tratando o SPAM na origem e o uso de certificados para se saber exatamente de

quem veio o e-mail, mecanismos de não repúdio e autenticidade, e também uma

criptografia forte para garantir a confidencialidade.

Page 78: Segurança em Correio Eletronico

77

REFERÊNCIAS BIBLIOGRÁFICAS

CERT.BR. Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil. Disponível em: < http://www.nbso.nic.br/ > Acesso em: 23 ago. 2005. CRISPIN, M. Internet Message Access Protocol – RFC2060, Version 4rev 1 rev1, Washington, 1996. Disponível em: <http://www.ietf.org/rfc/rfc2060.txt>. Acesso em: 15 jul. 2005. CROCKER, D. Mailbox Names for Common Services, Roles and Functions - RFC 2142, Internet Mail Consortium, May 1997. Disponível em: <http://www.ietf.org/rfc/rfc2142.txt > . Acesso em: 7 set. 2005. D'ÁVILA, M.H. C. Em busca da ferramenta anti-SPAM ideal, Jun 2004 Disponível em: <http://www.mhavila.com.br/ >. Acesso em: 17 out. 2005. ______________ Márcio d'Ávila web site, 2005 Disponível em: <http://www.mhavila.com.br/link/security/sec-email.html>. Acesso em: 10 jul. 2005. DUCKLIN, P The Anti-Virus test file, May 2003 Disponível em: < http://www.eicar.org >. Acesso em: 13 set. 2005. GOVERNO FEDERAL. Guia Livre referencia de Migração o para Software Livre do Governo Federal, Versão Ipiranga 0.95 – beta, 2003. GROSSMANN, C.A.K., Chrooting daemons and system processes HOW-TO: mar 2001. Disponível em: < http://underlinux.com.br>. Acesso em: 17 out. 2005. HAMBRIDGE, S. A Set of Guidelines for Mass Unsolicited Mailings and Postings (SPAM*) - RFC2635. Disponível em: <http://www.ietf.org/rfc/rfc2635.txt>. Acesso em: 15 jul. 2005. HORMEL FOODS CORPORATION. SPAM - SPiced hAM - Family of Products Disponível em: <http://www.hormel.com> Acesso em: 22 ago. 2005. IBM; VENEMA,W. MTA Postfix, 1998. Disponível em: <http://www.postfix.org>. Acesso em: 01 out. 2005. INFOGUERRA: Tudo o que você queria saber sobre SPAM. Infoguerra, 2003 Disponível em: < http://www.infoguerra.com.br/index.php3?secao=artigos > Acesso em: 22 ago. 2005. KNIGHT, C. Sender Policy Framework - SPF Explained. Disponível em: <http://emailuniverse.com/ >. Acesso em: 10 jul. 2005. KOJM,T. Clam AntiVirus 0.87 - User Manual, 2002. Disponível em: <http://ClamAV.net/>. Acesso em: 01 out. 2005.

Page 79: Segurança em Correio Eletronico

78

KUROSE, J.F; ROSS, W Redes de Computadores e a Internet: Uma nova abordagem 1. ed. São Paulo: Addison Wesley, 2003. MAPS – MAIL ABUSE PREVENTION SYSTEM, Nominating an IP address to the MAPS RBL. Disponível em: < http://www.mail-abuse.com/nominats_rbl.html> Acesso em: set. 2004. MARTINEC, M. A Mail Virus Scanner New, September 2005. Disponível em: < http://www.ijs.si/software/amavisd/ >. Acesso em: 01 out. 2005. MASON, J. SpamAssassin Prehistory. April 2004. Disponível em: <http://SPAMassassin.apache.org/prehistory>. Acesso em 01 out. 2005. MESSAGELABS ANTI-SPAM. Combat SPAM before it reaches your network. Disponível em: <http://www.messagelabs.com> Acesso em: 20 set. 2004. MYERS, J. ; ROSE, M. Post Office Protocol – RFC1939, Version 3, San Diego, 1996. Disponível em: <http://www.ietf.org/rfc/rfc1939.txt>. Acesso em: 15 jul. 2005. NBSO - NIC BR SECURITY OFFICE. Brazilian Computer Emergency Response Team Cartilha de Segurança para Internet, Parte IV: Fraudes na Internet. NIC BR Security Office. Versão 2.0, 11 mar de 2003. Disponível em: < http://www.nbso.nic.br/docs/cartilha/ > Acesso em: 22 ago. 2005. NORTHCUTT, S.; NOVAK, J; MCLACHLAN, D Segurança e Prevenção em Redes 1. ed. São Paulo: Berkeley, 2001. POSTEL,J.B. Simple Mail Transfer Protocol – RFC821,Marina de Rey, 1982. Disponível em: < http://www.ietf.org/rfc/rfc821.txt > Acesso em: 15 jul. 2005. SCRIMGER, R. et al. TCP/IP a Bíblia 2. ed. Rio de Janeiro: Campus, 2002. SIRAINEN, T. Dovecot Secure IMAP server. Disponível em: <http://dovecot.org/index.html > Acesso em: 17 out. 2005. SPENNEBERG, R., Implementing a SPAM and virus scanning mail server using RedHat Linux 8.0 and amavisd-new, Version 1.3, mar, 2004. Disponível em: < www.spenneberg.com >. Acesso em: 22 ago. 2005. TANENBAUM. A.S. Redes de Computadores 3.ed. Rio de Janeiro: Campus,1997 WINKMEDIA, P. E-mail ou correio eletrônico, A WINKMEDIA PROJECT, 2005. Disponível em: < http://pt.wikipedia.org > Acesso em: 31 out. 2005.