Vinícius Graciano Elias. Servidor de - Postfix/Amavisd-new/SpamAssassin/ClamAV - PDF
Vinícius Graciano Elias. Servidor de - Postfix/Amavisd-new/SpamAssassin/ClamAV
Download "Vinícius Graciano Elias. Servidor de E-mail - Postfix/Amavisd-new/SpamAssassin/ClamAV"
Rayssa Soares Pinhal
1 Vinícius Graciano Elias Servidor de - Postfix/Amavisd-new/SpamAssassin/ClamAV Monografia de Pós-Graduação Lato Sensu apresentada ao Departamento de Ciência da Computação para obtenção do título de Especialista em Administração em Redes Linux Orientador Prof. Joaquim Quinteiro Uchôa Lavras Minas Gerais - Brasil 2005
3 Vinícius Graciano Elias Servidor de - Postfix/Amavisd-new/SpamAssassin/ClamAV Monografia de Pós-Graduação Lato Sensu apresentada ao Departamento de Ciência da Computação para obtenção do título de Especialista em Administração em Redes Linux Aprovada em abril 2005 Prof. Ricardo Martins de Abreu Silva Prof. Gustavo Guimarães Parma Prof. Joaquim Quinteiro Uchôa (Orientador) Lavras Minas Gerais - Brasil
5 Agradecimentos Gostaria de agradecer a Administração do Tribunal Regional do Trabalho da 18 Região, especialmente ao Secretário de Tecnologia da Informação Sr. Humberto Magalhães Ayres, por me proporcionarem este curso. Também agradeço ao Prof. Joaquim Quintero Ûchoa, que em seu papel de orientador, mostrou-se sempre muito disposto, motivador e profissional. Não posso esquecer também a ajuda e compreensão de todos os meus familiares e amigos, que me apoiaram muito durante a confecção deste trabalho. v
7 Resumo O objetivo desta monografia é a instalação de um servidor de em ambiente linux, utilizando ferramentas livres, que englobe antivírus e antispam. vii
9 A minha esposa Wanessa, a minha família, amigos e a Comunidade Linux. ix
11 Sumário 1 Introdução 1 2 Servidor de Funcionamento do Correio Eletrônico MIME Protocolos SMTP POP IMAP Postfix Histórico Configuração O Arquivo main.cf Arquitetura Como o Postfix recebe s Como o Postfix entrega s Comentários Finais Aplicativos para Detecção de Vírus e Spam Comentários Iniciais ClamAV Introdução Atualização Automática da Base de Vírus SpamAssassin Comentários Iniciais Blacklist e Whitelist Pontuação de SPAM pelo SpamAssassin xi
12 4.4 Amavisd-new Introdução Pontuação de SPAM com Amavisd-new Quarentena Variáveis de Configuração Comentários Finais Instalação/configuração do Servidor Introdução Postfix (postfix-2.1.5) Requesitos Configuração Executando o Postfix Amavisd-new (amavisd-new-2.2.0) Requisitos Instalando os módulos Perl, através do CPAN shell Configuração Configurando o Postfix para se comunicar com o Amavisdnew ClamAV (clamav-0.80) Requisitos Configuração dos arquivos amavisd.conf e clamd.conf Executando o Postfix/Amavisd-new/ClamAV Finalizando a Configuração e Testando Teste de envio de vírus e spam ao Servidor Treinando o SpamAssassin Conclusão 41 xii
13 Lista de Figuras 2.1 Transferências de Mensagens entre MTA s diferentes Postfix - Recebimento de mensagem Postfix - Envio de mensagem Configuração de Proxy no freshclam.conf Parâmentros alterados no /etc/postfix/main.cf Postfix - Iniciando o Postfix Postfix - Saída do log Módulos Perl para o Amavisd-new Aplicativos auxiliares para o Amavisd-new Iniciando o CPAN shell CPAN shell CPAN shell - Atualização Instalando um Módulo no CPAN shell Variáveis à alterar no /etc/amavisd.conf Amavisd-new - Inicialização em modo debug Amavisd-new - Testando porta SMTP Alterações no final do /etc/postfix/master.cf ClamAV - Arquivo clamd.conf Arquivo - amavisd.conf Inicializando o Servidor Iniciando Postfix/Amavisd-new/ClamAV/Spamassassin Testando o Servidor - Mensagem Normal Testando o Servidor - Mensagem com EICAR Cabeçalho de Mensagem de nível tag xiii
14 Capítulo 1 Introdução A utilização de serviços de por uma empresa e seus funcionários, é cada vez mais importante e decisiva no mundo dos negócios. Para que seja possível esta interação com o mundo dos s, as empresas optam por algumas soluções, como: a terceirização do serviço de por uma empresa especializada; a compra de um software de serviço de proprietário, e por último a construção de um servidor de através da junção de algumas ferramentas livres. Dentro das propostas apresentadas, as soluções proprietárias na maioria das vezes são cobradas por conta de criada, sem falar que ainda deve-se pensar em ferramentas de controle de vírus e spam 1 (LINDBERG, 1999). A proposta dessa monografia será montar um servidor de em conjunto com controle de spam e vírus, utilizando-se ferramentas livres e conhecidas da Comunidade Linux. Assim o único gasto será o treinamento do pessoal que irá cuidar do serviço de . Os primeiros capítulos desta monografia, irão apresentar um pouco das ferramentas que serão configuradas, a saber: Postfix, Amavisd-new, ClamAV e SpamAssassin. Como o objetivo é apenas instalar e fazer a configuração básica do servidor, que já englobe o antivírus e antispam, os capítulos que se seguem apenas ilustram um pouco o potencial de cada ferramenta. 1 Termo pelo qual é comumente conhecido o envio, a uma grande quantidade de pessoas de uma vez, de mensagens eletrônicas, geralmente com cunho publicitário, mas não exclusivamente. O spam também é conhecido pela sigla inglesa UCE (Unsolicited Commercial , ou Mensagem Comercial Não-Solicitada). 1
16 Capítulo 2 Servidor de 2.1 Funcionamento do Correio Eletrônico Saber como funciona o serviço de entrega e recebimento de s é essencial para correta configuração de um servidor de correio eletrônico. Para que uma pessoa possa enviar um para outra pessoa, é necessário a utilização de um software cliente de , conhecido como MUA (Agente de Mensagens do Usuário) ex.: Thunderbird 1, Eudora 2, Outlook 3, Pine 4 e Evolutions 5. Através do MUA, a pessoa escreve o seu e o encaminha ao MTA (Agente Transportador de Mensagens) ex.: Postfix 6, SendMail 7, Qmail 8 e Exchange 9, que está configurado em seu MUA. De posse da mensagem, o MTA do remetente irá verificar se o endereço de do destinatário lhe pertence (está no mesmo servidor de ), neste caso a mensagem é simplesmente entregue na caixa postal do destinatário. Caso o MTA de destino não seja o mesmo, o MTA do remetente enviará a mensagem ao MTA do destinatário (em outro servidor). A transferência do entre o MUA e o MTA é efetuada utilizando-se o protocolo SMTP (POSTEL, 1982), Protocolo Simples de Transferência de Mensa
17 gens. O protocolo SMTP será utilizado também entre o MTA do remetente e o MTA do destinatário. O servidor de do destinatário ao receber uma mensagem para um dos seus usuários simplesmente a coloca na caixa postal deste usuário. Dependendo do servidor de , a caixa postal pode ser um arquivo ou um diretório dentro do diretório particular do usuário (home 10 ). Se o usuário possuir uma conta shell 11 neste servidor ele poderá ler os seus s no servidor, seja diretamente ou por acesso remoto. Caso contrário o usuário deverá transferir suas mensagens para sua máquina a fim de lê-las utilizando o seu cliente de (MUA). A transferência de mensagens recebidas entre o servidor e o cliente de requer a utilização de outros programas e protocolos. Para a troca de mensagens entre o servidor e o cliente de é utilizado o protocolo POP (MYERS; ROSE, 1996), Protocolo de Agência de Correio, que recebe este nome por agir como uma agência de correios, guardando as mensagens dos usuários em caixas postais e aguardando que estes venham buscá-las. Outro protocolo que pode ser utilizado para este mesmo fim é o IMAP (CRISPIN, 2003), Protocolo para Acesso de Mensagens via Internet, que implementa além das funcionalidades fornecidas pelo POP muitos outros recursos(engineering, 2003). Os protocolos POP e IMAP são protocolos para recebimentos de mensagens, ao contrário do protocolo SMTP que serve para enviar mensagens, logo, possuem funcionalidades diferenciadas, como, por exemplo, autenticação do usuário. Para a utilização dos protocolos POP e IMAP (GRAY, 1995) faz-se necessária a instalação e configuração dos servidores apropriados, bem como a correta configuração, que vão ser responsáveis por atender as solicitações do cliente de por novas mensagens. O recebimento de mensagens, se dá através da solicitação do MUA do usuário ao seu servidor de , que após a autenticação do usuário vai informar se existem mensagens em sua caixa postal e quantas são. A seguir o MUA solicita a transferência das mensagens para a máquina local (usando o protocolo POP), ou manipula as mensagens diretamente no servidor (usando o protocolo IMAP), finalizando assim o processo de troca de mensagens entre duas pessoas. 10 Nome dado ao diretório padrão de um usuário do sistema operacional Linux. 11 Tipo de conta do linux, que permite ao usuário se conectar ao servidor diretamente, utilizando linhas de comando. Exemplo de shell: bash. 4
18 A figura 2.1 mostra como seria o envio de um de um MTA a outro MTA, ou seja, o envio de um entre duas pessoas que possuem diferentes servidores de fisicamente. Figura 2.1: Transferências de Mensagens entre MTA s diferentes ou é a forma resumida para electronic mail, que é o método de se compor, enviar e receber mensagens através de sistemas eletrônicos de comunicação. Hoje a maioria desses sistemas de s utilizam a Internet. O formato do para a Internet é definido atualmente na RFC 2822 (RESNICK, 2001), antes era descrito na RFC 822 (CROCKER, 1982). Uma mensagem de consiste de duas partes essenciais: Cabeçalho (Headers) - Sumário da mensagem, remetente, destinatário, e outras informações a respeito do . 5
19 Corpo (Body) - A própria mensagem, usualmente contendo um bloco de assinatura no final. O cabeçalho contem pelo menos quatro campos: De(From) - O endereço de do remetente da mensagem. Para(To) - O endereço de do destinatário da mensagem. Assunto(Subject) - Um pequeno sumário do conteúdo da mensagem. Data (Date) - A data e hora local, de quando a mensagem foi enviada. Outros campos comuns no cabeçalho, são: Cc - Carbon copy, lista de endereços de que receberão uma cópia da mensagem, sabendo da existência um dos outros. Bcc - Blind carbon copy, lista de endereços de que receberam cópia da mensagem, e saberão qual o endereço que estava no campo Para, mas não saberão os endereços do campo Bcc. Received - Informação de rastreamento gerada pelo servidor de que, previamente, entregou a mensagem. Content-Type - Informação de como a mensagem deve ser mostrada, usualmente um tipo MIME MIME Praticamente todos os s são transmitidos via SMTP no formato MIME (Multipurpose Internet Mail Extensions) (FREED INNOSOFT, 1996), um padrão da Internet para o formato de . O protocolo básico de transmissão de da Internet, o SMTP, suporta apenas caracteres ASCII de 7-bit, o que limita a transmissão de s que possuam apenas caracteres da lingua inglesa. MIME define mecanismos para enviar outros tipos de informação no , como caracteres em outras linguas além da inglesa (non-ascii - caracteres não ASCII), conteúdo binário de de 8-bit, como arquivos contêndo imagens, sons, filmes e programas de computador. 6
20 2.3 Protocolos SMTP Em 1982 foi definido o protocolo cliente/servidor SMTP, onde o host que inicia o contato é o cliente e o host que é contatado é o servidor. O servidor só responde as perguntas feitas pelo cliente, sendo assim o cliente deve prestar bastante atenção as respostas do servidor, para saber como melhor interagir com o servidor. Quando um host quer mandar um para algum lugar na Internet, este determina para onde o deve ir, e inicia o contato com o servidor de destino do . O remetente do é sempre o SMTP cliente, e o host que está escutando (listening) pelo tráfego SMTP é sempre o servidor. O host remetente usa o Domain Name System (DNS) para determinar o endereço IP do host destinatário, e contata este usando o protocolo SMTP na porta TCP de número POP Depois que o servidor SMTP (MTA) final recebeu a mensagem e a guardou, o receptor necessita poder alcançar a mensagem. Antigamente, e mesmo hoje em dia, os s eram guardados em arquivos textos, e os s eram lidos de fato lendo-se os arquivos de texto. É importante observar que mesmo utilizando o MIME, o que ocorre é apenas uma codificação dos dados binários da mensagem para o formato texto. Agora se o receptor do não estiver conectado diretamente no computador onde está o arquivo texto, ler esse arquivo pode ficar muito difícil. Para aliviar esse problema foi criado o Post Office Protocol (POP), que introduziu um modelo cliente/servidor para os MUA s. Assim os MUA s através do POP são capazes de pegar os s do servidor MTA e guardá-los localmente na máquina onde estão instalados, para posterior leitura, sem a necessidade de estar conectado ao MTA o tempo todo. A conexão usando o protocolo POP é feita através do fornecimento de usuário e senha pelo MUA ao MTA, estando corretos os dados informados pelo POP, este checa se existem mensagens na caixa postal do usuário, e então as transfere para o computador local, uma a uma. O cliente MUA tem ainda a opção de deixar as mensagens que foram lidas no servidor ou apagá-las depois que as mesmas forem transferidas. 7
21 2.3.3 IMAP O POP funciona bem para muitos casos, é indicado para aqueles que possuem - por exemplo - uma linha discada (dial-up) com a Internet e não podem gastar horas de telefone e conta para ler seus s. Problemas do POP: não é possível ver uma mensagem no servidor antes de fazer o download da mesma; o receptor tem apenas uma caixa postal sem nenhuma estrutura hierárquica no servidor; se optar por deixar todas as suas mensagens no servidor, faz com que o download de novas mensagens se torne um tanto lento. Para contornar estes problemas criou-se o Internet Message Access Protocol (IMAP). O protocolo IMAP dá a seus usuários muito mais poder que o protocolo POP, no controle de seus s, como permitir deixar parte destes localmente e outra parte no servidor. Através do IMAP, por exemplo, é possível o compartilhamento de caixas postais entre usuários, bem como a criação de estruturas (pastas/- diretórios) no próprio servidor, para organizar as mensagens. O IMAP é mais administrável e possuí a facilidade de permitir o acesso às mensagens de qualquer computador que possua uma conexão com a internet, já que as mensagens ficam guardadas no servidor de . 8
22 Capítulo 3 Postfix 3.1 Histórico Em 1997, no Centro de Pesquisa Thomas J.Watson, nasce o servidor de VMailer, concebido pelo Ph.D. Wietse Zweitze Venema, enquanto trabalhava, para a gigante IBM (International Business Machines Corp.). Venema s é mais conhecido pelos programas que escreveu para proteger sistemas, de intrusos da Internet como o Security Administrator Tool for Analyzing Networks (SATAN) e TCP Wrapper. O VMailer seria uma alternativa ao já conhecido servidor de , usado em 70% dos casos, Sendmail. O VMailer teria de ser rápido, fácil de se administrar e seguro, além de ser compatível suficientemente com o Sendmail, afim de atrair seus usuários, e garantir uma migração tranqüila. A proposta de Venema s para o VMailer era que este servidor de , seria 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/programação bastante confusa e complexa. Em dezembro de 1997 Venema s desligou o Sendmail e iniciou os primeiros testes no VMailer, colocando-o como servidor do porcupine.org, seu site pessoal (LAIRD, 1998). Praticamente um ano depois, em dezembro de 1998, como um presente de Natal, a IBM e Wietse Zweitze Venema liberaram o código do VMailer na Internet, de onde o VMailer assumiria o nome conhecido de Postfix (MARKOFF, 1998). 9
23 3.2 Configuração Os dois mais importantes arquivos de configuração do Postfix são: main.cf e master.cf, e estão localizados no diretório /etc/postfix/. Estes arquivos devem pertencer ao usuário root. Para qualquer alteração feita nos arquivos citados acima, deve-se executar o comando: postfix reload para que as alterações sejam implantadas no servidor em execução O Arquivo main.cf Formato O arquivo de configuração main.cf do Postfix, especifica uma pequena porção de parâmetros que controlam o sistema de do Postfix. Os parâmetros que não forem especificados explicitamente neste arquivo, serão deixados com o seu valor padrão. Cada linha lógica do main.cf está no formato [parâmetro = valor]. Os espaços, ao redor do = são ignorados, bem como os espaços ao final das linhas lógicas. Linhas em branco e linhas formadas apenas de espaços em brancos, também são ignoradas, bem como linhas que tenham como seu primeiro caracter o símbolo #. O valor de um parâmetro pode fazer referencia a um outro parâmetro. A expressão $name, $name ou $(name) são recursivamente trocadas pelo valor do parâmetro nomeado. A expressão $name?value muda para value quando $name não está vazio. A expressão $name:value muda para value quando $name está vazio. Os duas expressões anteriores são suportadas apartir da versão 2.2 do Postfix. Para vizualizar todos os parâmetros e seus valores configurados no Postifix, é usado o comando postconf -d. Alguns Parâmetros myhostname - Nome do servidor de na internet. O padrão é o uso do FQDN (fully-qualified domain name), Ex.: myhostname = host.domain.tld 10
24 mydomain - Nome do domínio do servidor de . Padrão é o uso do FQDN menos o primeiro componente. Ex.: mydomain = domain.tld myorigin - Especifica o nome de domínio a ser usado nos s enviados por este servidor de , o padrão é o uso da variável $myhostname. Ex.: myorigin = $myhostname (padrão: ) myorigin = $mydomain (mais usado: ) mydestination - Define quais os domínios que este servidor irá entregar e- mails localmente, ou seja, as caixas postais cujo destino são dele. O padrão é receber s para a própria máquina. Ex.: mydestination = $myhostname localhost.$mydomain localhost mydestination = $myhostname localhost.$mydomain localhost $mydomain mydestination = $myhostname localhost.$mydomain localhost ftp.$mydomain mynetworks_style e mynetworks - Definem uma lista de clientes SMTP confiáveis, que possuem mais privilégios que clientes estranhos (desconhecidos). Em particular clientes SMTP confiáveis estão autorizados a retransmitir suas mensagens atráves do Postifix. Caso seja usado o mynetworks o Postfix ignora o mynetworks_style, no mynetworks os ip s devem ser especificados de acordo com a notação CIDR-Classless Inter-Domain Routing(rede/mascara)(FULLER BARRNET, 1993) separados por espaço ou vírgula. Os possíveis valores para mynetworks_style são: host (autoriza apenas a própria maquina), subnet (autoriza clientes SMTP da sub-rede, onde a maquina está conectada) e class (autoriza os clientes SMTP que estejam na mesma classe de IP A/B/C da maquina servidora). Ex.: mynetworks_style = subnet (padrão: autoriza sub-redes) mynetworks_style = host (seguro: autoriza apenas a máquina local) mynetworks = /8 (seguro: autoriza apenas a máquina local) mynetworks = / /32 (autoriza máquina local, e outra) relay_domains - Define os destinos remotos, para os quais o Postfix estará autorizado a retransmitir mensagens de clientes SMTP estranhos (clientes que não estajam listados em mynetworks ou mynetworks_style). Por padrão 11
25 o Postfix retransmitirá as mesagens de clientes SMTP estranhos apenas aos domínios especificados no parâmetro relay_domains. Ex.: relay_domains = $mydestination (padrão) relay_domains = (seguro: não faz retransmissão para estranhos) relay_domains = $mydomain (encaminha s para meu domínio e sub-domínio) relayhost - Por padrão o Postifix tenta entregar os diretamente à Internet. Dependendo da situação isto pode não ser possível, ou desejado. Então pode-se definir para onde o Postifix encaminhará os s. Ex.: relayhost = (padrão: diretamente para a Internet) relayhost = $mydomain (entrega via mailhub local) relayhost = [mail.$mydomain] (entrega via mailhub local) relayhost = [mail.isp.tld] (entrega via provedor do mailhub) notify_classes - Define os níveis de notificações de problemas, que deverão ser encaminhas ao postmaster 1. Ex.: notify_classes = resource, software. proxy_interfaces - Caso o servidor de esteja conectado a Internet através de um proxy ou de um NAT(network address translator), deve-se especificar este parâmetro. Ex.: proxy_interfaces = (endereço de rede do proxy/nat). inet_interfaces - Define quais são as interfaces de rede que o Postfix deverá monitorar(listen on) para o recebimento de s. Por padrão o Postfix é configurado para monitorar todas as suas interfaces de rede. Ex.: inet_interfaces = all. Logs do Postfix Os arquivos de log do Postfix são gerenciados pelo servidor syslog do linux. Para que o Postfix gere os logs corretamente, deve-se criar um arquivo para guardar os logs 2 (/var/log/maillog) e acrescentar ao arquivo de configuração do syslog (/etc/syslog.conf ) as seguintes linhas: 1) mail.err /dev/console; 2) mail.debug - /var/log/maillog, não esquecendo de reiniciar o servidor ao final. 1 Conta de do administrador do Postfix, deve ser criado um alias para um real, no arquivo /etc/aliases. 2 Registros de atividades 12
26 3.3 Arquitetura Esta seção apresenta a arquitetura de recebimento e envio de no Postfix. Ela encontra-se baseada em (POSTFIX.ORG, 2005b) Como o Postfix recebe s Quando uma mensagem entra no sitema de correio do Postfix, a primeira parada é o incoming queue (fila de entrada). A figura 3.1 mostra como é processado um novo . Os nomes seguidos de números são comandos do Postfix ou programas servidores, enquanto que os nomes sombreados (sem números) são filas do Postfix. Figura 3.1: Postfix - Recebimento de mensagem Os s da rede entram no Postfix por meio dos servidores smtpd(8) ou qmqpd(8). Estes servidores removem os protocolos de encapsulamento (SMTP ou QMQP), fazem algumas checagens de saneamento para proteger o Postfix, e entregam o remetente, os recipientes e o conteúdo da mensagem para o servidor cleanup(8). As submissões locais são recebidas com o comando de compatibilidade sendmail(1) do Postfix, e são enfileiradas na fila do maildrop pelo comando postdrop(1). Este processo ocorre mesmo quando o sistema de correio do Postfix não estiver executando. O servidor local pickup(8), pega as submissões locais, realiza algumas checagens de saneamento para proteger o Postfix, e entrega o remetente, os recipientes e o conteúdo da mensagem ao servidor cleanup(8). Correio de fontes internas são entregues diretamente ao servidor cleanup(8). Estas fontes não são mostradas na figura, e incluem: correio que é enviado 13
27 pelo agente de entrega local(8), mensagens que são retornadas ao remetente pelo servidor bounce(8), e notificações do postmaster sobre problemas com o Postfix. O servidor cleanup(8) implementa o estágio final do processamento antes que a mensagem seja enfileirada. Este acrescenta mensagens de cabeçalho e faz reescrita de endereços. Opcionalmente, o servidor cleanup(8), pode ser configurado para fazer uma leve inspeção no documento usando expressões regulares. O servidor cleanup(8) coloca o resultado de seu processo como um único arquivo na incoming queue (fila de entrada), e notifica o gerente de filas (queue manager) da chegada de um novo . O servidor trivial-rewrite(8) reescreve o endereço para a forma padrão Como o Postfix entrega s Assim que a mensagem alcança a incoming queue (fila de entrada) o próximo passo é entregá-la. A figura 3.2 mostra os principais componentes do aparato de entrega de s do Postfix. Nomes seguidos de números são servidores ou comandos, enquanto nomes sombreados (sem números) representam filas do Postfix. Figura 3.2: Postfix - Envio de mensagem O gerente de fila (o processo servidor qmgr(8) na figura) é o coração da entrega de correio do Postfix. Ele contata os agentes de entrega smtp(8), lmtp(8), local(8), virtual(8), pipe(8), discard(8) ou error(8), e envia uma requisição de entrega para um ou mais endereços de recipientes. Os agentes de entrega discard(8) e error(8) são especiais: eles descartam ou pulam todos os s, estes não são mostrados na figura acima. 14
28 O gerente de fila mantem uma pequena fila ativa (active queue) com as mensagens que foram abertas para entrega. A fila ativa age como uma janela limitada em filas de entradas (incoming) ou adiadas (deferred) potencialmente grandes. A limitada fila ativa previne o gerente de filas de ficar sem memória quando tiver uma carga de s muito pesada. O gerente de filas mantem uma fila de adiados (deferred queue) para o correio que não pode ser entregue, de modo que uma reserva grande do correio não retarde o acesso normal à fila. O servidor trivial-rewrite(8) resolve cada endereço recipiente de acordo com o seu endereço de classe local e remota. O cliente smtp(8) olha uma lista de possíveis correios para o host destino, organiza a lista por preferências, e testa cada servidor por vez até encontrar um que responda. Então encapsula o remetente, o recipiente e o conteúdo da mensagem como requerido pelo protocolo SMTP. O cliente lmtp(8) fala um protocolo similar ao SMTP, que é melhorado para entrega a caixas postais (mailbox) de servidores como o Cyrus. O agente de entrega local(8) entende UNIX-style mailboxes, arquivos qmailcompatible maildir, Sendmail-style system-wide aliases(5) databases, e arquivos Sendmail-style per-user.forward. Multiplos agentes de entrega local podem ser executados em paralelo, mas entrega paralela para o mesmo usuário usualmente é limitada. O agente de entrega virtual(8) é uma agente de entrega que só compreende caixas-postais no estilo Unix ou diretórios de no estilo qmail. Este agente de entrega pode entregar para múltiplos domínios, o que o faz especial para servir muitos domínios pequenos em uma única máquina. 3.4 Comentários Finais Após a conclusão deste capítulo tem se a idéia de o quanto que o Postfix é robusto e modular, e de fácil configuração. Sendo muito rápido colocá-lo para funcionar, com apenas algumas modificações simples de configuração. Mais informações podem ser vistas em (POSTFIX.ORG, 2005e) e (DENT, 2003). 15
30 Capítulo 4 Aplicativos para Detecção de Vírus e Spam 4.1 Comentários Iniciais Este capítulo destina-se a apresentação de 3 ferramentas que integram a solução proposta para o controle de vírus e spam. Estas ferramentas são: ClamAV 1 (Anti- Vírus de linha de comando), SpamAssassin 2 (Anti-Spam um projeto da Apache Software Foundation) e o Amavisd-new 3 (a interface entre o MTA e os verificadores de conteúdo). 4.2 ClamAV Introdução Clam AntiVirus é uma ferramenta de antivírus GPL para UNIX. O objetivo principal desse software é a sua integração com servidores de (varredura de anexos). O pacote provê um servidor multitarefa bastante flexível, um scanner de linha de comando, e uma ferramenta para atualização automática via Internet. Apesar do objetivo principal do ClamAV ser a sua integração com servidores de , este também pode ser usado em on-access scanning 4, em sistemas Linux varreadura de vírus no acesso do arquivo 17
31 e FreeBSD, utilizando-se uma thread do clamd chamada Clamuko, o que pode ser visto em (KOJM, 2004). Os programas são baseados em uma biblioteca compartilhada, distribuída com o pacote Clam Anti Vírus, a qual pode ser usada em qualquer software. O mais importante, o banco de dados do ClamAV esta sendo sempre atualizado, garantindo assim o download frequente de updatesatualizações por seus usuários, o que será comentando na seção Entre as empresas que utilizam o ClamAV, encontram-se SourceForge 5, Michigan State University 6 e FastMail 7 (ANTIVIRUS, 2005). Entre as características do ClamAV, encontram-se: scanner de linha de comando servidor rápido e muti-tarefa interface para Sendmail atualizador de bando de dados detecção de mais de vírus, worms e trojans suporte interno a arquivos RAR(2.0), Zip, Gzip, Bzip2, Tar e outros suporte interno a arquivos de s dos tipos mbox, Maildir e raw Atualização Automática da Base de Vírus O freshclam é a ferramenta de atualização padrão do banco de dados do Clam AntiVirus, e utiliza para isso endereço database.clamav.net. Esse endereço possui inúmeros servidores associados, via servidor DNS, o que funciona como um balanceamento de carga, selencionando automaticamente um banco de dados geograficamente localizado próximo ao cliente, para realizar os donwloads de updates. O freshclam pode operar de duas formas: interativo - linha de comando, explicitamente. servidor - sozinho e silenciosamente. Um arquivo de log, deve ser criado para registro de updates do ClamAV, este de preferencia deve estar na pasta /var/log, ter permissão igual a 600 (chmod