Samba como PDC e Clamwin antivírus sincronizado nas estações Windows Ricardo Pardim Claus Curso de Especialização em Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, novembro de 2010 Resumo O objetivo deste trabalho, é personalizar um servidor com o Clamav instalado, para auto configurar o Clamwin antivírus open souce (versão do Clamav portado para Windows) nas estações de trabalho. Após efetuar o login no domínio Samba, as estações irão descarregar as atualizações centralizadas da base de dados de vírus, e também carregando configurações, para verificação agendada, e ainda informando o administrador por email, caso encontre algum vírus. O foco não é mostrar como instalar o Samba, e sim apenas alguns trechos de configuração importante para que este processo seja sincronizado. 1. Introdução O que é malware? O termo "malware" vem das duas palavras inglesas "malicious software" (software malintencionado) e refere-se a qualquer software cuja finalidade é causar danos a computadores, servidores ou redes [7]. Vírus, spyware, worms, programas de registro de teclas e cavalos de Tróia são exemplos de malware. Muitos usuários de sistemas Windows estão com seus computadores infectados por algum tipo de malwares (worms, adwares, spywares, vírus, trojans) e só sabem disso quando o sistema operacional começa a se comportar de maneira estranha. No decorrer do texto, o termo malware será utilizado para simplificar o nome fornecido a qualquer tipo de código ou programa malicioso. Na atual década, o crescente número de contaminações de malwares tem levado várias empresas e profissionais da área de segurança digital a se especializarem nestes tipos de pragas e suas diversas variantes, que se alastram em velocidade crescente, destruindo e roubando informações, gerando prejuízos bilionários à empresas, instituições e outros órgãos. Não há estatística de quantos malwares existem hoje, mas sabe-se que são milhões. Uns ficam populares, outros nem chegam a se proliferarem. Inúmeras são as facilidades para infecção (internet rápida e disponível 24hs, troca de arquivos, download de softwares ilegais, filmes, musicas, jogos, falta de conhecimento por parte do usuário). Os prejuízos causados por malwares são infinitos. As empresas tem investido muito em softwares e treinamento dos usuários, afim de amenizar. As ferramentas contra malware tem um custo elevado, forçando empresas e instituições a adquirirem estes softwares. 2. Descrição do Contexto Este trabalho foi baseado em um artigo postado no site www.vivaolinux.com.br “Samba PDC com Debian e Clamwin antivírus sincronizado nas estações”, escrito por Tiago André Geraldi [1]. O assunto despertou interesse, pois apresentava uma solução para empresas utilizarem um sistema anti malware realmente gratuito. Diante da imensa quantidades de fatores que podem comprometer uma rede de computadores, empresas e profissionais de segurança digital veem investindo em treinamento e ferramentas, afim de evitar maiores transtornos, ou até mesmo grandes catástrofes. Os antivírus são software projetados para detectar e eliminar vírus de computador. Existe uma grande variedade de produtos com esse intuito no mercado, a diferença entre eles está nos métodos de detecção, preço e funcionalidades. Estas ferramentas não possui um preço acessível, devido suas licenças, que geralmente são pagas por anuidade. A situação se complica um pouco em uma empresa de pequeno porte, onde se tem outras prioridades para investimentos. Foi pesquisado um pacote com funcionalidades essenciais para uma rede pequena, baseada em 10 computadores e um servidor de arquivos. A empresa Avira, gigante Alemã em soluções de segurança digital, e também com grande foco em desenvolvimento de segurança e soluções para servidores UNIX. Veja abaixo, a cotação de um pacote antivírus para uma rede de até 10 usuários: Avira AntiVir NetWork Bundle Breve histórico: Abrange a proteção de desktops e servidores de arquivos que rodam Windows e Linux/Unix em uma só licença. Dessa forma, sua rede fica protegida contra vírus, worms, cavalos de Troia e também adware, spyware, discadores e rootkits [8]. As ferramentas que compõe o pacote : Avira AntiVir Professional Avira AntiVir Server Avira Security Management Center (Antivírus para desktop) (Antivírus para servidor de arquivos) (Console de gerenciamento) Valor total das licenças para 10 usuários por 1 anos = R$ 1090,51 Conforme citado anteriormente, dependendo do capital e arrecadação de uma pequena empresa, este custo ficaria fora dos planos de investimentos, já que com este valor anual, por exemplo, a empresa poderia comprar 1 computador por ano, e assim ir aumentando seu parque tecnológico. 3. Descrição do Projeto Existem inúmeros antivírus com licença grátis, somente para usuários domésticos (muitos confundem esta licença, e acreditam que seria gratuito também para uso comercial). Mas como existem inúmeros softwares realmente gratuitos (comumente chamados de open source, que possui seu código fonte aberto e disponível) para diversas finalidades, também está disponível um antivírus gratuito (inclusive para uso comercial), chamado de Clamwin. O Clamwin é um antivírus open source, desenvolvido para plataforma Windows. Este foi desenvolvido (é programado com as linguagens C++ e Python) a partir do ClamAV (tem como base o código-fonte do programa ClamAV, implementando uma interface gráfica sobre este) [2], antivírus desenvolvido para sistemas baseado em UNIX. Ambos podem compartilhar a mesma base de dados de vírus. Em Linux, o ClamAV é fortemente utilizado em servidores, em conjunto com o Samba (escaneando arquivos em compartilhamentos de rede), com o Postfix (removendo vírus recebidos por e-mail antes que eles cheguem às máquinas Windows), e também pode ser implantado em gateway, escaneando e removendo os arquivos que trafegam na rede, em trafego de entrada e saída, . Este pode ser utilizado localmente, para localizar e remover arquivos infectados de uma partição do Windows (computador instalado com ambos sistemas operacionais em dual boot). O Clamwin está disponível sob a licença GNU pela Free Software Foundation e é de uso gratuito, assim como o próprio código-fonte [3]. Clamwin é usado por mais de 600 000 usuários no mundo inteiro .Ele funciona para Windows 98, 2000, ME, XP, Vista, 7, Server 2003, Server 2008. 3.1 Características do Clamwin: Totalmente gratuito, código aberto; Detecta vírus e spywares; Análise de memória RAM; Programador automático (agendamento) de pesquisa de malwares; Escaneamento por linha de comando ou interface gráfica; Atualização automática da bases de dados de vírus; Integração de menus de contexto, no Explorador (Explorer) do Microsoft Windows; Integração com o Microsoft Outlook e Mozilla Firefox (através de plugins); A partir da versão 0.88.5 o programa está oferecendo suporte para arquivos compactados nos formatos RAR v3, 7-Zip e LZMA. – Possui versão Portable (Não precisa instalar); – – – – – – – – – Limitações: – Detecção de vírus e spyware apenas manualmente, isto é, o programa não fornece proteção em tempo real; – Atualizações automáticas apenas das definições de antivírus, e não ao próprio programa, assim como o engine ClamAV. As limitações descritas anteriormente, estão em estudo pela equipa que desenvolve o programa, e espera-se que sejam implementadas em versões futuras. 3.2 Clam Sentinel É definido como obstáculo (deficiência) em relação a adoção do Clamwin em uma rede de computadores, é a questão do escaneamento em real time, ou seja, os processos de abrir, copiar, salvar ou mover um arquivo, não serão analisados por este antivírus. Mas para esta limitação, existe uma ferramenta adicional que faz este trabalho, amenizando esta deficiência do Clamwin O Clam Sentinel é um projeto open source, desenvolvido na linguagem de programação Delphi 6 [9]. Esta aplicação detecta alterações no sistema de arquivo (abrir, copiar, salvar ou mover) e verifica as modificações usando Clamwin. Características do Clam Sentinel: – Varredura de arquivos em tempo real como eles são adicionados ao seu computador, modificado ou copiado; – Monitora unidades USB removíveis; – Gera log dos arquivos verificados; – Possui opção de mover arquivos infectados para quarentena; – Fácil configuração. O conjunto Clamwin + Clam Sentinel formam uma ferramenta contra malware, com analise em tempo real (real time) totalmente gratuita. 3.3 Como funcionará a sincronização do Clamwin com o ClamAV ? O pacote do ClamAV deverá ser instalado no servidor que está rodando o controlador de domínio Samba. O Clamwin será instalado nas maquinas rodando Windows XP. Este servidor será encarregado de efetuar downloads das atualizações de base de dados. Um script fará o processo de atualizar a base de dados, e depois copiar estes arquivos para a pasta de netlogon, de onde as estações com Windows XP irão baixar as atualizações. Veja abaixo, as tarefas e processos que serão executados, assim que o usuário efetuar logon no domínio Samba: – Baixar atualizações da base de dados do antivírus Clamwin; – Baixar as configurações personalizadas do Clamwin, e também o arquivo referente a agendamento de varredura (scan). – Baixar o arquivo de configuração do Clam Sentinel. Os arquivos referentes a base de dados do ClamWin: daily.cvd: Arquivo com as atualizações diárias; main.cvd: Arquivo com as atualizações acumulativas; bytecode.cvd: Permite mudanças rápidas no código do antivírus, permitindo a possibilidade de identificar novas variantes de malwares. O bytecode não foi 100% implementado. Local: C:\Documents and Settings\All Users\.clamwin\db Os arquivos referentes as configurações: Clamwin.conf: Este é o arquivo de contem todas as configuração do Clamwin. ScheduledScans: Arquivo contendo a agenda de escaneamento. ClamSentinel.ini: Este arquivo guarda as configurações do Clam Sentinel. Local: C:\Documents and Settings\usuario\Dados de aplicativos\.clamwin Existe dois modos para alterar o arquivo de configuração do Clamwin. No Windows, podemos editá-lo através de um editor de textos, ou configurá-lo pela própria interface do Clamwin. Em ambos os casos, é essencial que o arquivo personalizado seja copiado para a pasta de compartilhamento do servidor, afim de disponibilizá-los para as maquinas clientes. Alguns itens importantes que fazem diferença em relação ao tempo de escaneamento: – Ao invés do Clamwin e o Clam Sentinel escanear todos os tipos de extensões de arquivos, ganharemos agilidade se especificarmos algumas extensões, principalmente aquelas que são mais comuns em arquivos infectados; As extensões mais comuns são: bat, cmd, com, exe, inf, pif, scr, vbs, ws – Na aba “Limites”, podemos melhorar ainda mais o tempo de varredura, conforme especificado abaixo: Figura 1 – Configuração do Clamwin – Especificando o tamanho do arquivo a ser escaneado. Para personalizar esta opção, abra o gerenciador do Clamwin, clique no menu Tools > Preferences > Limits. A opção “Do Not Scan Files Larger Than” (não escanear arquivos maiores de), no caso especifiquei 3 MB. Aquivos infectados na maioria das vezes possui tamanho muito pequeno. O Clamwin descompacta arquivos, afim de escanear seu conteúdo. Em “Archives”, indica o tamanho dos arquivos compactados que serão escaneados. Na configuração acima, indiquei que o Clamwin não irá descompactar aquivos (pacotes) maiores do que 3 MB, não irá extrair mais de 20 arquivos, e não ira extrair mais de 20 sub-arquivos. Personalizar o Clamwin, para escanear somente as extensões mais comuns: Para personalizar esta opção, abra o gerenciador do Clamwin, clique no menu Tools > Preferences > Filters Figura 2 – Configuração do Clamwin – Especificando as extensões a serem escaneadas Nesta opção, podemos configurar 2 itens importantes: Do lado esquerdo “Exclude Matching Filenames”, configuramos as pastas ou extensões que serão ignoradas no momento do escaneamento; Do lado direito “Scan Only Matching Filenames”, serão as extensões e pastas que serão obrigatoriamente escaneadas. É possível personalizar diferentes arquivos de configuração do Clamwin e também do Clam Sentinel. A ideia é que diariamente ou semanalmente, estas 2 ferramentas sejam personalizadas, para escanearem extensões de arquivos diferentes, e até mesmo algumas pastas preferidas utilizadas pelos diferentes tipos de malwares, bem como efetuar uma rápida verificação em cada estação Windows. Os arquivos de configuração Clamwin.conf, e o ClamSentinel.ini, podem ser editados manualmente, através de um editor de textos (no Windows). Já o ScheduledScans, deverá ser configurado em uma estação Windows utilizado o próprio Clamwin, e assim copiado para o compartilhamento do servidor, de onde as estações irão baixar este arquivo, contendo o agendamento de scan do Clamwin. Para configurar o Scheduled Scan: No gerenciador do Clamwin, clique no menu Tools > Preferences > Scheduled Scan Figura 3 – Configuração do Clamwin – Agendamento de scan No Clam Sentinel, também é possível personalizar as extensões a serem verificadas, afim de ganhar agilidade no monitoramento em real time. Para personalizar esta opção, clique com o botão direito no ícone do Clam Sentinel, passe o mouse sobre a opção Advanced Settings, depois clique em Extensions scanned. Conforme figura abaixo, seleciono apenas as extensões mais conhecidas. Figura 4 – Configuração do Clam Sentinel – Extensões que serão escaneadas O arquivo de configuração do Clam Sentinel, permanece neste local: Local: C:\Documents and Settings\usuario\Dados de aplicativos\ClamSentinel 3.4 Scripts utilizados Abaixo, será apresentado os scripts utilizados no servidor, para a realização deste projeto: Script netlogon.bat: Este é o script principal, definido dentro do smb.conf do Samba. Todos os usuários do domínio que efetuarem logon, será executado este script. Conforme o código abaixo, este apenas mapeia o compartilhamento do servidor como unidade P:, e depois chama o script “usuários.bat”. net use P: /delete net use P: \\sambapdc\share /persistent:no net time \\sambapdc /set /yes usuarios.bat Script usuarios.bat: A função deste script é efetuar o sincronismo do antivírus nas estações Windows com o servidor, efetuando uma cópia para a maquina cliente, da bases de dados e arquivos de configurações. Como dito anteriormente, este sincronismo é muito eficiente quando desejamos agendar um escaneamento em todas as maquinas, em um horário especifico, alem de alterar outras configurações, afim de personalizar ou otimizar estas ferramentas. @echo off :: :: SINCRONIZANDO O ANTIVIRUS NAS ESTACOES c: cd %userprofile%\Dados de Aplicativos\.clamwin del Clamwin.conf del ScheduledScans copy \\sambapdc\netlogon\clam\Clamwin.conf /y copy \\sambapdc\netlogon\clam\ScheduledScans /y c: :: COPIANDO A BASE DE DADOS cd \Documents and Settings\All Users\.clamwin\db del daily.cvd del bytecode.cvd ::del main.cvd copy \\sambapdc\netlogon\bdclam\daily.cvd /y copy \\sambapdc\netlogon\bdclam\bytecode.cvd /y ::copy \\sambapdc\netlogon\bdclam\main.cvd /y :: :: CARREGA O SCRIPT PARA SINCRONIZAR O CLAM SENTINEL clamsentinel.bat Script clamsentinel.bat @echo off :: -- ATUALIZANDO AS CONFIGURACOES DO CLAM SENTINEL :: c: cd %userprofile%\Dados de aplicativos\ClamSentinel if exist ClamSentinel.ini: del ClamSentinel.ini copy \\sambapdc\netlogon\clam\ClamSentinel.ini /y cd C:\Arquivos de programas\ClamSentinel\ start ClamSentinel.exe Script updatecopy.sh: Script que irá atualizar a base de dados do antivírus, e disponibilizá-los na pasta compartilhada do netlogon: #!/bin/bash freshclam sleep 5 ORIGEM='/var/clamav/' DESTINO='/home/netlogon/bdclam/' # --- APAGAR OS ARQUIVOS ATUAIS cd $DESTINO rm bytecode.cvd rm daily.cvd rm main.cvd sleep 10 # --- COPIAR NOVOS ARQUIVOS cd $ORIGEM cp bytecode.cvd $DESTINO cp daily.cvd $DESTINO cp main.cvd $DESTINO 4. Procedimentos de teste e resultados As configurações e testes foram realizados em maquinas virtuais, utilizando o VirtualBox. O servidor é composto pela distribuição Linux CentOS 5.4, Clamav 0.96.4, alem do Samba e DHCP. O serviço de controlador de domínio só funcionou após a instalação e configuração do Bind (serviço de DNS). Foram efetuados testes com os scripts, para saber se estavam executando as tarefas conforme programado. Para certificar que os arquivos de banco de dados e configurações do Clamwin e Clam Sentinel estavam sendo carregados ao efetuar logon no domínio Samba, três procedimentos foram adotados: 1 – Personalizar os arquivos de configuração e agendamento personalizados com a maquina virtual emulando o Windows XP, e disponibilizar na pasta netlogon; 2 – Testar a verificação em real time do Clam Sentinel, copiando alguns malwares para uma pasta na maquina local. O Clam Sentinel impediu que os arquivos identificados como malware, fossem copiados para a pasta local, colocando os arquivos em quarentena; 3 – Desativar o Clam Sentinel para que seja possível copiar os arquivos infectados para a pasta local, e assim efetuar um escaneamento com o Clamwin. Resultados: Os arquivos de configuração original do Clamwin e Clam Sentinel foram alteradas pelos arquivos descarregados do servidor, indicando que a sincronização foi realizada com sucesso. Após copiar os malwares para a pasta local, antes de receber as atualizações do banco de dados, utilizando uma versão ultrapassada do banco de dados, foi efetuado um escaneamento na pasta, e anotado a quantidade encontrada de arquivos infectados. Após receber as atualizações de banco de dados do servidor, a pasta com malware foi verificada novamente. A quantidade encontrada de arquivos infectados, foi superior ao teste realizado com o banco de dados ultrapassado, indicando que a sincronização do banco de dados foi realizada com sucesso. O Clamwin dispõe de um recurso que envia e-mail, caso seja encontrado algum arquivo infectado em seus escaneamentos agendados. Este recurso não funcionou nos testes, devido a limitação do Clamwin, onde este envia e-mails apenas pela a porta 25. Hoje é raro encontrar servidores SMTP que utilizam a porta 25 para envio de e-mails. O comum é a porta 465, utilizando conexão criptografada (SSL). O que poderia resolver este problema, é criar um servidor SMTP local, com a porta 25 habilitada apenas para a rede interna. O servidor Linux poderia ser utilizado para esta finalidade. 5. Recomendações Proteger uma rede 100% contra infecções de malwares, é meramente impossível. Alem de uma boa politica de segurança da informação, alguns procedimentos devem ser seguidos para que alcance um maior nível de segurança. Usuário com permissão de acessar qualquer tipo de site na internet, podem gerar problemas já conhecidos por administradores de rede [5]. Sites de pornografia, redes sociais [6], download de softwares e filmes, sempre possui algum tipo de malware. Impedir o usuário de efetuar instalações, também ajuda muito, pois é comum o usuário que deseja instalar aquele programinha que faz algo que ele gosta. Se a politica de segurança da informação adotada em sua empresa, não impede o uso de pen drives ou cartão de memória, é melhor rever este assunto. O uso de unidades de armazenamento (pen drive, cartão de memória) é um grande foco de infecções. Devido a facilidade em movimentar ou trocar arquivos através de pen drives, os cibercriminosos trataram de desenvolver malwares que exploram as falhas dos sistemas operacionais ao executar o “autorun” (processo que facilita o uso de dispositivos removíveis, ao serem conectados). Treinamento e sensibilização: Efetuar treinamento de usuários afim de sensibilizá-los, mostrando-os a pura realidade, de perigos que nos cercam. 6. Conclusão Basta uma rápida pesquisa na internet, e encontraremos inúmeros exemplos de algum tipo de prejuízo ou destruição causados por vírus de computadores. Investir em segurança de redes é um item importante no orçamento de qualquer empresa. Mas não adianta apenas investir em técnicas e ferramentas de segurança e anti malwares, se não houver boas práticas por parte dos usuários “do que adianta ter um bom antivírus, se o usuário tem permissão de efetuar instalações ? ”. O antivírus Clamwin tem uma taxa de detecção baixa, em relação a outros antivírus conhecidos. Não aconselho seu uso em redes complexas, já que, quando se pode comprar bons equipamentos de valores elevados, acrescentar alguns itens no orçamento para a compra de um bom antivírus com suporte técnico decente, não é nada assustador. Sabemos que na vida real existe inúmeros tipos de crimes, no mundo da informática não é diferente. O correto é formalizar uma boa política de segurança da informação, analisando e revendo todos os focos de ameaças, e assim colocá-las em prática. Sensibilizar os usuários para que “seja seu próprio antivírus”, a partir de boas práticas. Informar sobre os perigos que chegam pela internet e mensagens de e-mails, alem do uso de pen drives. 7. Referências [1] http://www.vivaolinux.com.br/artigo/Samba-PDC-com-Debian-e-Clamwin-antivirussincronizado-nas-estacoes/ [2] http://www.clamav.net/ [3] http://www.clamwin.com/ [4] http://cgi.clamav.net/sendvirus.cgi [5] http://pcworld.uol.com.br/noticias/2008/09/25/dois-em-cada-tres-usuarios-clicam-nobotao-ok-de-pop-ups-sem-pensar/ [6] http://www.linhadefensiva.org/2009/07/virus-especializado-em-redes-sociais-ataca-twitter/ [7] http://pt.wikipedia.org/wiki/Malware [8] http://row.avira.com/pt-br/onlineshop/index.html [9] http://clamsentinel.sourceforge.net/