Você está na página 1de 73

SOCIEDADE EDUCACIONAL DO ESTADO DE SANTA CATARINA - SOCIESC INSTITUTO SUPERIOR TUPY - IST

RODRIGO DE STEFANI SIMON

SEGURANA DE REDES COM IMPLEMENTAO DO IDS SNORT

Joinville 2006

RODRIGO DE STEFANI SIMON

SEGURANA DE REDES COM IMPLEMENTAO DO IDS SNORT

Joinville 2006

RODRIGO DE STEFANI SIMON

SEGURANA DE REDES COM IMPLEMENTAO DO IDS SNORT

Este trabalho foi julgado e aprovado Em sua forma final pela Banca Examinadora abaixo assinada.

Joinville, 19 de dezembro de 2006.

Esp. Eduardo da Silva - IST

Prof. MSc Marco Antonio Torres Rojas Locknet Security Solutions

Prof. MSc Marco Andr Lopes Mendes - IST

s pessoas da minha famlia, amigos, professores e a todos que contriburam e apoiaram para que este sonho se tornasse realidade, e principalmente a Deus.

AGRADECIMENTOS

A Deus, em primeiro lugar, que me deu sabedoria. minha famlia, que sempre me incentivou em todos os momentos. Ao professor Eduardo da Silva meu orientador, pelo incentivo, e apoio total ao longo do desenvolvimento, para que este trabalho fosse concretizado. Aos meus amigos, pelo convvio e amizade.

O lado mais obscuro da computao atualmente a segurana, pois uma faca de dois gumes [...]. (Marcos Flvio Arajo Assuno).

RESUMO

Hoje com o avano da tecnologia preciso estar preparado e atento com a segurana. Cada vez mais sistemas esto sendo atacados, usando diversas tcnicas como atravs da explorao de falhas no sistema, funcionrios descontentes ou administradores que no tomam os devidos cuidados com a segurana, outro fator relevante em organizaes que por terem apenas um firewall j esboam sentimentos de total segurana. Esses so alguns dos pontos falhos de segurana e este tipo de problema ocorre em diversos ambientes e apenas ser corrigido com a devida pratica de segurana utilizando de vrios meios como DMZ, firewall, roteador de borda e IDS. Um dos componentes em destaque deste trabalho o IDS, que tem como funo analisar o trfico da rede com intuito de detectar algum tipo de invaso. A ferramenta de IDS usada foi o Snort, que pode realizar anlises de protocolo, pesquisas de contedo e pode ser usado para detectar uma variedade de ataques.

Palavra-chaves: Snort. Segurana. Deteco. Rede

ABSTRACT

Today with the advance of the technology she is necessary to be prepared and intent with the security. Each time more systems are being attacked, using diverse techniques as through the exploration of imperfections in the system, employees grumblers or administrators who do not take the due cares with the security, another excellent factor in organizations that for having only one firewall already sketch feelings of total security. These are some of the security points defective and this type of problem occurs in diverse environments and it will only be corrected with the had one practises of security using of some half ones as DMZ, firewall, roteador of edge and IDS. One of the components in prominence of this work is the IDS, that has as function to analyze the traffic of the net with intention to detect some type of invasion. The used tool of IDS was the Snort, that can carry through protocol analyses, research of content and can be used to detect a variety of attacks.

Keywords: Snort. Security. Detection. Net.

ILUSTRAES Figura 1 Permetro .................................................................................................................16 Figura 2 - Diagrama de uma DMZ ...........................................................................................20 Figura 3 - IDS de host ..............................................................................................................29 Figura 4 IDS de rede..............................................................................................................30 Figura 5 Snort na forma mais bsica .....................................................................................36 Figura 6 Farejador de pacotes Snort ......................................................................................37 Figura 7 Pr-processador do Snort ........................................................................................37 Figura 8 Mecanismo de deteco do Snort............................................................................38 Figura 9 Snort como farejador...............................................................................................40 Figura 10 Snort como registrador de pacotes ........................................................................41 Figura 11 Iniciando Snort como IDS.....................................................................................41 Figura 12 Configurando senha no MySQL ...........................................................................44 Figura 13 Criando base de dados do Mysql ..........................................................................45 Figura 14 - Criao das tabelas no Mysql ................................................................................45 Figura 15 Comando do Snort ................................................................................................46 Figura 16 Configuraes Acidlab..........................................................................................47 Figura 17 Configurando o ACIDlab no Apache....................................................................48 Figura 18 Publicando site ......................................................................................................49 Figura 19 Reiniciando o Apache ...........................................................................................49 Figura 20 Editando arquivo do Acidlab ................................................................................50 Figura 21 Configurao do Acidlab ......................................................................................50 Figura 22 - Pgina inicial do Acidlab.......................................................................................51 Figura 23 Eventos do capturados do Snort............................................................................52 Figura 24 Configuraes dos computadores .........................................................................53

Figura 25 - Ambiente de testes.................................................................................................54 Figura 26 - Conexo de A para B por RDP..............................................................................55 Figura 27 - Alerta com relao ao teste executado...................................................................55 Figura 28 - Registros do Snort..................................................................................................56 Figura 29 Ambiente corporativo............................................................................................57 Figura 30 Nessus ...................................................................................................................58 Figura 31 Nessus fazendo varredura host..............................................................................58 Figura 32 Pgina do acidlab mostrando a quantidade de eventos .........................................59 Figura 33 Registros decorridos do teste com Nessus ............................................................59 Figura 34 Continuao da figura 38 ......................................................................................60 Figura 35 - Continuao da figura 39.......................................................................................60 Figura 36 - Continuao da figura 40.......................................................................................61 Figura 37 Script sendo executado no Snort ...........................................................................62 Figura 38 Visualizao dos logs capturados pelo Snort ........................................................62

LISTA DE TABELAS Tabela 1 - Complementos teis do Snort .................................................................................39 Tabela 2 - Opes bsicas do Snort para farejamento e registro de pacotes ............................40 Tabela 3 Descrio das opes da figura 10..........................................................................41 Tabela 4 Descrio das opes da figura 11..........................................................................41

12

SUMRIO 1 2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.2.3 3 3.1 3.2 3.2.1 3.2.2 3.2.3 3.3 3.4 3.4.1 3.4.1 3.5 4 4.1 4.1.1 INTRODUO ..........................................................................................................14 SEGURANA DE BORDA E PERMETRO .........................................................16 PERMETRO ...............................................................................................................16 Roteador de borda.........................................................................................................17 Firewall.........................................................................................................................17 Zona Desmilitarizada....................................................................................................20 HARDING (REFORO DE HOST)............................................................................21 Nvel 1: reforando contra ataques locais.....................................................................21 Nvel 2: reforando contra-ataques rede....................................................................22 Nvel 3: reforando contra-ataques aplicaes ..........................................................22 FERRAMENTAS DE DETECO DE INTRUSO ............................................24 DETECTAR UMA INVASO ....................................................................................25 MODELOS CONCEITUAIS DE IDS .........................................................................25 Estrutura comun de deteco de intruso (CIDF) ........................................................25 Linguagem comun de especificao de intruso (CISL)..............................................26 Internet intrusion alert (IAP) ........................................................................................26 FERRAMENTAS DE IDS ...........................................................................................26 HIDS E NIDS ...............................................................................................................28 HIDS.............................................................................................................................30 NIDS.............................................................................................................................31 SISTEMA DE PREVENO DE INTRUSO (IPS).................................................32 SNORT ........................................................................................................................35 COMO FUNCIONA O SNORT ..................................................................................35 Farejador.......................................................................................................................36

13

4.1.2 4.1.3 4.1.4 4.2 4.3 5 5.1 6 6.1 6.2 6.3 7

Pr-processador ............................................................................................................37 Mecanismo de deteco................................................................................................38 Componente de alerta ...................................................................................................39 UTILIZANDO O SNORT NA REDE .........................................................................40 OS PRINCIPAIS PROBLEMAS DO SNORT ............................................................41 INSTALAO DO SNORT, MYSQL, APACHE, PHP E ACIDLAB .................43 INSTALAO DOS PACOTES.................................................................................43 TESTANDO O SNORT .............................................................................................53 PRIMEIRO TESTE REALIZADO ..............................................................................53 SEGUNDO TESTE ......................................................................................................56 TERCEIRO TESTE......................................................................................................61 CONCLUSO.............................................................................................................64 REFERNCIAS............................................................................................................58 ANEXOS.......................................................................................................................60

14

INTRODUO

Com o aumento dos recursos e tecnologias, houve um grande crescimento nas tentativas de invaso sistemas informatizados, tornando isso um grande problema para as organizaes. As empresas esto cada vez mais preocupadas com a segurana de seus sistemas, tendo uma viso mais ampla e sabendo que sua sobrevivncia depende tanto dos seus sistemas quanto do produto que ela fabrica ou desenvolve. Portanto, assegurar que seu sistema esteja protegido de alguma forma uma medida sensata a ser feita. Hoje em dia, diretores esto cada vez mais se conscientizando da importncia das informaes e passaram a incluir a segurana das informaes como questo estratgica das empresas. Existe atualmente conscincia que a segurana algo de extrema importncia e no apenas mais um gasto, embora muitas empresas ainda pensem desta forma. Problemas financeiros, falta de conhecimento ou falta de profissionais capacitados, so alguns dos maiores motivos para uma empresa deixar a segurana de lado. As dificuldades em proteger sistemas informatizados so muitas: perda de informao, engenharia social, invases tanto externa quanto interna, vrus, paralisao de sistemas. Enfim, muitos pontos a serem cuidados. Este trabalho tem por objetivo o estudo acadmico atravs da apresentao de alguns conceitos de segurana e uma implementao de sistema de deteco de intruso, utilizando uma ferramenta para visualizao dos logs do Snort via web, facilitando o gerenciamento dos eventos capturados pelo Snort, e formulando um material que possa ser usado em disciplinas que necessitem de um IDS. Este trabalho est organizado da seguinte forma: captulo 2, segurana de borda e permetro ter como foco a segurana da borda da rede e permetro, assim construindo um sis-

15

tema formado por firewall, IDS, DMZ e roteador de borda, protegendo a rede desde o host at o roteador, formando uma defesa em conjunto com vrios softwares. No captulo 3, ferramentas de deteco de intruso, ser apresentada uma descrio do que um IDS, suas caractersticas, como funciona, quais modelos e exemplos de modelos existentes. No captulo 4, ser discutida uma implementao do sistema de deteco de intruso usando o Snort com o auxlio de ferramentas opcionais para a leitura dos seus eventos capturados. No captulo 5, ser feita instalao do Snort, MySQL, Apache, PHP e ACIDlab, descrevendo os passos necessrios. No captulo 6, sero apresentados testes para verificar as funcionalidades do Snort, testando assim suas configuraes. No captulo 7, ser apresentada a concluso do trabalho, validando o quanto este tema importante para a segurana de um empresa. Tambm ser mencionados as dificuldades e tambm citado algumas opes de trabalhos futuros dando continuidade a prtica de segurana.

16

SEGURANA DE BORDA E PERMETRO

O conceito de segurana de borda refere-se ao fortalecimento dos componentes de rede, que incluem: roteador de borda, firewall, sistema de deteco de intruso (IDS), zona desmilitarizada (DMZ), e defesa em profundidade. Segurana algo indispensvel em uma organizao. Levando em conta essa necessidade alguns cuidados devem ser tomados, portanto assegurar que todos os componentes citados anteriormente estejam em conjunto para proporcionar maior segurana. A seguir sero apresentados alguns conceitos sobre os itens mencionados acima.

2.1 PERMETRO O permetro a borda fortificada de toda rede, que pode incluir os seguintes itens: roteadores de borda, firewall, IDS e DMZ, rede interna. A figura 1 mostra o conceito de permetro.

Figura 1 Permetro Fonte: O autor, adaptao de Microsoft 2006

17

No permetro temos todos os componentes fundamentais de segurana como mencionados anteriormente e proteger estes componentes como a rede interna algo de muita relevncia. A rede protegida pelo permetro contm os servidores, estaes de trabalho e a infraestrutura. Proteger a rede interna uma tarefa importante e nem sempre dado o devido valor, pois alguns administradores no tm essa preocupao de assegurar que a rede interna esteja protegida, preocupando-se apenas com o exterior, deixando de lado um atacante em potencial, como usurios insatisfeitos e descuidados, que podem facilitar a entrada de um atacante (MICROSOFT: 2006).

2.1.1 Roteador de borda Roteador de borda um dos componentes da segurana da rede, como explica Northcutt (2002, p.4) Os roteadores so os guardas de trnsito, ou os bandidos, das redes. Eles orientam para dentro, para fora e no interior das redes. o ltimo equipamento que pode ser controlado antes da Internet, e como todo trfego da empresa passa por ele, este equipamento se torna o primeiro e o ltimo componente de defesa. Administradores investem muito para manter seguros os firewalls, servidores web, deixando de lado roteadores desse reforo, comprometendo assim a segurana da rede interna (ANNIMO: 2001).

2.1.2 Firewall Os firewalls so usados para criar pontos de controle de segurana na rede. Segundo Moreira (2001, p.126) Firewall um dispositivo de rede, pode ser um computador, um roteador ou um software, que filtra o acesso a uma rede de computadores que precisa de prote-

18

o. Sua utilizao feita para a proteo contra trfego no autorizado entre redes distintas, atravs de regras de negao ou aprovao. O firewall possui muitos componentes, e cada um deles possui uma funcionalidade diferente que atua diretamente para a segurana da rede. A seguir alguns modelos de firewall gratuitos existentes no mercado:

a) o IPChains, firewall de filtro de pacote como descreve Strebe (2000, p. 222) Originalmente chamado de IP Masquerade (mascaramento de IP) por causa de sua capacidade NAT (ser visto com mais detalhes na prxima pgina), o sistema agora chamado IPChains (cadeias) porque ele permite ao administrador configurar cadeias de regras [...]. O IPChains faz parte integrada do sistema operacional Linux at o Kernel 2.2. b) IPTables firewall integrado no sistema operacional,funciona em ambiente Linux a partir do Kernel 2.4. Funciona a nvel de pacotes, faz NAT, redirecionamento e marcao de pacotes, divide trfego entre mquinas, bloqueia e registra trfego vindo da rede interna e mquinas desconhecidas (SILVA: 2006). c) TIS FWTK (Trusted Information Systems Firewall Toolkit), firewall proxy de filtragem de contedo de protocolo para Telnet, Rlogin, SMTP, FTP, HTTP, desenvolvido para Linux, NetBSD, Solaris e qualquer ambiente Unix. d) Drawbridge firewall desenvolvido para ambiente FreeBSD, diferente do IPChains no faz parte integrada do sistema operacional, suas caractersticas como firewall so regras para filtragem de pacotes. Deteco e resposta so feitas atravs de ferramentas tcplogger, udploger, netwatch e netstat (STREBE: 2000).

19

Estes foram alguns modelos de firewalls gratuitos apresentados. Em contrapartida tambm existem firewalls pagos, como alguns que sero apresentados a seguir:

firewall-1 da Checkpoint, desenvolvido para Windows NT, um firewall de filtro de pacotes com estado, segundo Strebe (2000, p. 254) o conceito de inspeo com estados para aumentar a segurana dos filtros de pacotes sem a sobrecarga de trabalho dos servidores proxy. Usa tambm filtros de contedo especfico como HTTP, SMTP e FTP.

Guardian NCC da NetGuard, desenvolvido para Windows NT, sendo um firewall de filtragem de pacotes, NAT e VPN.

NAI da Gaunlet, desenvolvido para Windows NT e Unix, um firewall de filtro de pacotes, proxy, NAT, autenticao e VPN.

Raptor da Axent, desenvolvido para Windows NT, Solaris e HP/UX, um firewall de filtro de pacote, proxy, NAT, VPN (STREBE: 2000).

Com a evoluo e as necessidades de segurana surgem mais componentes como o Network Address Translation (NAT). O NAT surgiu como um componente para resolver problemas de redes de grande porte devido escassez de endereos IP, possibilitando que a rede interna use endereos reservados e deixando que o NAT faa essa converso dos endereos invlidos para endereos vlidos. Esse tipo de converso pode esconder os endereos dos equipamentos da rede, dificultando a tentativa de ataque externo (WIKIPEDIA3: 2006). Usar um firewall em uma organizao um requisito obrigatrio se a empresa quer ter um nvel aceitvel de segurana. Hoje em dia existem muitos tipos de firewall no mercado, gratuitos e pagos, cabendo aos responsveis pela segurana optarem pelo melhor desempenho ou custo e suporte desses protudos.

20

Esta foi uma breve descrio dos firewalls existentes no mercado lembrando que existem muitos outros, portanto um firewall requisito bsico para segurana.

2.1.3 Zona Desmilitarizada O termo DMZ foi criado durante a guerra da Coria, onde uma faixa de terra no paralelo 38 (paralelo 38 o que divide as duas corias) estava fora dos limites militares. Segundo o site Wikipedia1 (2006) A funo de uma DMZ manter todos os servios que possuem acesso externo (HTTP, FTP, etc.) separados da rede local, limitando o dano em caso de comprometimento de algum servio nela presente por algum invasor. A estrutura de uma DMZ apresentada na figura 2.

Figura 2 - Diagrama de uma DMZ Fonte: Wikipdia 3, 2006

21

2.2 HARDING (REFORO DE HOST) a modificao de uma instalao tpica de um sistema operacional ou aplicao e fazer modificaes para diminuir sua exposio a ameaas (NORTHCUTT: 2002). A instalao de um sistema de firewall entre a Internet e a rede interna no garante que sistemas internos possam estar livres de serem atacados. Nesse momento que entra o papel do reforo de host. Qualquer aplicao instalada em um sistema operacional no reforado possui uma maior chance de deixar o host ser explorado com sucesso, devido as vulnerabilidades do Sistema operacional. Nem todos os host devem ser reforados da mesma forma, devido ao custo desta implementao, ficando a critrio do administrador. Ao tratar de reforo de host, podemos dividir em trs nveis de reforos, que so detalhados nos prximos itens.

2.2.1 Nvel 1: reforando contra ataques locais muito importante se preocupar com a segurana dos host, como explica Northcutt (2002, p.226) O reforo da configurao do host contra ataques locais bastante simples. Nesse nvel, vamos nos concentrar em restringir o uso de utilitrios poderosos, como aqueles usados para gerenciamento de discos e usurios. Dentro do nvel 1 ainda podem ser citado algumas medidas necessrias para reforo contra ataques locais, como restringir acesso a ferramentas administrativas, de modo a evitar que contas comprometidas de usurios possam usar essas ferramentas para fazer alguma alterao no host e tambm evitar que essas contas possam permitir que um atacante possa instalar ferramentas que facilite seu acesso em outro momento. Outro ponto importante dentro do nvel 1 so as permisses de arquivos e diretrios. Em sistemas de arquivos como FAT e FAT32 (sistema de arquivos da plataforma Windows), no possvel configurar restries, como nos sistemas de arquivos NTFS (sistema de

22

arquivos da plataforma Windows), que permitem que os administradores configurem permisses, restringindo acesso a arquivos e diretrios. Se um atacante obtm acesso a um host e este tem permisses padro, o sistema estar comprometido. Desta forma, importante configurar um nvel mnimo de permisses apenas para que os usurios possam executar suas tarefas dirias.

2.2.2 Nvel 2: reforando contra-ataques rede Um fator importante quando se fala de segurana de rede segundo Northcutt (2002, p.233) Algumas das etapas no reforo do sistema neste nvel incluem a eliminao de contas do usurio no usadas, que podem ser acessadas remotamente, a definio dos requisitos mnimos para complexidade de senha e a desativao dos servios acessveis da rede [...]. E por exemplo, a conta convidado, que se acessada remotamente, tem controle total aos arquivos de sistema. Algumas das contas mais vulnerveis no host so as contas de servio, executando em segundo plano. Essas contas de servio so criadas com mais privilgios do que realmente precisariam.

2.2.3 Nvel 3: reforando contra-ataques aplicaes Neste nvel ser focalizada a segurana da aplicao para evitar o ataque ao host, reforando cada aplicao e definindo mtodos de acesso e autenticao, como explica Northcutt (2002, p.239) Com os nveis locais e de rede do host mais seguros, podemos focalizar aplicaes como nvel final de reforo do host.. Para tornar as aplicaes reforadas para que se possam evitar problemas com segurana podem-se utilizar alguns mtodos como a aplicao de pacthes de segurana, e a aplicao dever se comunicar com o mnimo de portas possveis.

23

Outro ponto forte para a proteo so as configuraes padro e estouro de buffer. A explorao de estouro de buffer uma forma de poder explorar aproveitando-se da vulnerabilidade do cdigo da aplicao (ABSOLUTA: 2006). O estouro de buffer acontece quando o programa no verifica o tamanho dos dados que ele recebe e tenta colocar no buffer de memria como descreve Northcutt (2002, p. 240) Os dados adicionais estouram o final do buffer e podem alterar outros locais de memria, executando cdigo arbitrrio que o atacante fornece. Portanto, estar preocupado com a segurana do host muito importante, assim concluindo um conjunto de segurana completo.

24

FERRAMENTAS DE DETECO DE INTRUSO

Com a extrema necessidade das organizaes em acessos externos, tanto de dentro para fora, quanto de fora para dentro, surge o perigo das invases, e estar protegido de fundamental importncia. Tendo essas necessidades e percebendo esse perigo, o uso de ferramentas para identificar quando a empresa est sendo atacada muito importante. Essa ferramenta chamada IDS, e segundo Moreira (2001, p.140) A funo de uma ferramenta de IDS em uma rede realmente de deteco de tudo aquilo que tido como no aceitvel e, por outro lado, desencadear algumas funes de reaes pr-estabelecidas [...]. No basta apenas o uso de um IDS na rede, mas sim um conjunto completo de ferramentas voltadas para a segurana como descreve Annimo (2001, p. 184) Embora a tecnologia de IDS seja certamente atraente, antes de perder qualquer tempo em pesquisas de IDS, voc deve primeiro perguntar se um IDS faz sentido para sua organizao. O autor refere-se quilo que foi descrito anteriormente, que para se preocupar com IDS necessrio antes ter os devidos componentes de segurana na rede, como firewall, DMZ e outros. A ferramenta IDS pode realizar algumas atividades como: registrar informaes em arquivos de log, com dados a respeito do ataque e atacante, efetuar contra-ataque, enviar alertas para o administrador e terminar a conexo. Mas como tratar uma situao como intruso ou no aceitvel como descreveu o autor na citao acima? O sistema analisa um conjunto de aes ou at mesmo uma pessoa, que tenta acessar o sistema no qual ela no tem permisses. O IDS basicamente detecta dois tipos de intrusos, os internos, que so os funcionrios descontentes ou agindo de m f, e os externos que so hackers, crackers entre outros. Nos prximos captulos ser visto mais amplamente o assunto IDS, focando detalhes e implementao do Snort.

25

3.1 DETECTAR UMA INVASO O que pode ser definido como uma deteco de invaso? Isto ocorre quando em uma rede, existe a entrada no autorizada de um computador. Essa entrada ou invaso tem por objetivo comprometer ou danificar o sistema. Com este tipo de ataque surge uma ferramenta para detectar invaso como descreve Caswell (2003, p. 2) O modo mais simples de definir um IDS poderia ser descrevendo-o como uma ferramenta especializada que sabe como ler e interpretar o contedo de arquivo de log [...]. O IDS como descreve Caswell, uma ferramenta projetada para detectar e desativar os possveis ataques. Ele funciona da seguinte forma: o IDS constantemente armazenam um banco de dados com assinaturas de ataques e compara com padres de atividades trfego ou comportamento que so gerados nos logs de equipamentos como roteadores, firewall, servidores etc. Quando o IDS detecta uma ao que julga ser hostil, ele pode emitir alerta ou alarmes, e tambm pode ativar outros mecanismos de defesa para rastrear o ataque. O IDS mais uma adio no quesito defesa em profundidade. Ele monitora a rede e os dispositivos de segurana como firewall, roteadores. Com a verificao de logs do Snort pode-se verificar a existncia de algum tipo de tentativa de invaso e tomar as medidas necessrias para combat-la.

3.2 MODELOS CONCEITUAIS DE IDS Foram criados modelos conceituais para a criao de sistemas de deteco de intruso, visando interoperabilidade entre eles, descritos a seguir (FONTANA: 2006).

3.2.1 Estrutura comun de deteco de intruso (CIDF) Um modelo proposto para a criao de IDS, que consiste em um agrupamento de conjuntos que define uma ferramenta IDS (OLIVEIRA: 2006). Os conjuntos podem ser classificados em:

26

a) gerador de eventos (E-boxes), componente com a funo de obter eventos a partir do meio externo ao CIDF; b) analisador de eventos (A-boxes), tem como funo receber os dados, analisar e enviar de forma resumida para outros componentes; c) base de dados de eventos (D-boxes), componente apenas para armazenar os eventos; d) unidade de resposta (R-boxes), sua funo tomar aes, matar processos, resetar conexo, notificar estaes entre outros (OLIVEIRA: 2006);

3.2.2 Linguagem comun de especificao de intruso (CISL) Linguagem para que o IDS possa descrever objetos em expresses, e que no estejam em formato fixo e que possam ser interpretveis por outros componentes.

3.2.3 Internet intrusion alert (IAP) Protocolo de troca de dados entre agentes IDS, trocando de dados entre sensores, analisador e estaes de gerenciamento. Atravs de uma biblioteca segundo Fontana (2005, p. 23) Uma biblioteca para o uso do IAP j existe e para citar um exemplo tem-se um plugins para o Snort chamado SnortNet que integra vrios sensores Snort, criando uma estao de gerncia que se comunica atravs do IAP.

3.3 FERRAMENTAS DE IDS Existem vrias ferramentas de IDS, sendo alguns gratuitos e outras pagas, como: RealSecure, NetProwler, NFR, NetRanger, Snort, IntruderAlert, SessionWall, Abacus, Tripwire, BRMA, GOTS, EPIC2, NID, Shadow, BlackIce, CMDS, Centrax. A seguir algumas descries de ferramentas de IDS gratuitas.

27

a) snort um IDS de rede ou de host, que verifica assinaturas, desenvolvido pra ambiente Linux. Ocupa pouco recurso de hardware, segundo Lari (2004, p. 25) O Snort considerado um IDS lightweight. Isso quer dizer que ele pode ser colocado em funcionamento com muito pouco esforo tanto no sentido computacional quanto no sentido de configurao e suporte. b) shadow utiliza chamada a sensores espalhados pela rede e estaes de anlise. O Shadow no emite alertas, simplesmente so criados arquivos de registro. c) tripwire como o NFR, existe uma verso comercial e outro pblico (cdigos fontes disponveis para Unix e Linux). O Tripwire trabalha de forma diferente de outros IDS, ele verifica os arquivos de sistema em busca de mudanas. feito um checksum entre o arquivo de sistema e as informaes que esto armazenadas num sistema seguro. Com o Tripwire possvel restaurar os arquivos modificados, e trabalha com o conceito de assinatura criptogrfica (ALLEN: 2006). d) GOTS (Governement off the Shelf), utilizados em grandes arrays de sensores de deteco de invaso (NORTHCUTT: 2000).

Estes foram alguns dos IDS gratuitos existentes em contrapartida sero apresentados os IDS comerciais.

a) netprowler um HIDS, que verifica assinaturas, permitindo que o usurio adicione novas assinaturas (ALLEN: 2006). b) netranger um NIDS, funciona com sensores espalhados pela rede que se comunicam diretamente com o software principal. Verificando trs categorias de ataques. Ataques nomeados (ataques com um nome especfico), gerais (varian-

28

tes de ataques especficos) e extraordinrios (ataques com as assinaturas altamente complexas) (ALLEN: 2006). c) NFR (Network Flight Recorder), disponvel em uma verso comercial e outra pblico, sendo esta uma verso mais antiga. Pode agir fora de um firewall para descobrir ameaas em pontos mais distantes da rede (ALLEN: 2006). d) realsecure uma ferramenta desenvolvida para ambiente NT como descreve Northcutt (2000. p. 80) possuem verses em Unix de seu instrumento, bem como NT, mas o console roda somente em NT. Por isso, ns classificaremos RealSecure como um sistema NT. Para que possa funcionar corretamente no mnimo de 128 MB de RAM, tanto em modo grfico como em console e necessita de processadores velozes e bastante espao em disco (NORTHCUTT: 2000).

3.4 HIDS E NIDS Os IDS esto divididos em dois grupos, IDS de rede e IDS de host, assim chamados de Networking Intruder Detection System (NIDS) e Host Intruder Detection System (HIDS), respectivamente. A figura 3 apresenta um diagrama de rede onde explica visualmente onde est instalado um IDS de host, ou seja o IDS est em uma mquina de um usurio verificando todos os eventos que possam estar acontecendo nesta mquina.

29

Figura 3 - IDS de host Fonte: Caswell, 2003, p. 45

Segundo Northcutt (2002, p.5) Os sensores NIDS normalmente residem em sub-redes que esto conectadas diretamente ao firewall, bem como em pontos crticos da rede interna.. Os sensores HIDS residem em hosts individuais e os monitoram (NORTHCUTT: 2002). A figura 4 apresenta um diagrama de rede onde est localizado o NIDS na rede, este sistema de NIDS monitora o segmento de rede.

30

Figura 4 IDS de rede Fonte: Caswell, 2003, p. 46

3.4.1 HIDS A funo de HIDS na rede monitorar e coletar informaes de computadores individuais como explica clm (2006) Atravs disso os HIDS podem analisar as atividades das estaes com confiana e preciso, determinando exatamente quais processos e usurios esto envolvidos em um tipo particular de ataque no sistema operacional. Algumas vantagens de um HIDS podem ser citadas:

a) este tipo de IDS de host tem a capacidade de monitoramento dos eventos locais do host, detectando ataques que no poderiam ser detectados por IDS de rede; b) mesmo em ambientes criptografados esse tipo de IDS pode ler o contedo do pacote, pois a anlise feita antes de ser criptografada na origem, ou depois de ser decriptada no destino (CLM: 2006);

31

c) geram poucos falsos positivos na rede, e verificam se o ataque obteve sucesso (LAFET: 2006);

Por outro lado, tambm existem desvantagens a citar:

a) algumas desvantagens no uso de HIDS segundo CLM (2006) Esse tipo de IDS difcil de ser gerenciar porque cada host monitorado precisa ser configurado; b) consome recursos de processamento do host, influenciando no seu desempenho; c) outro problema, que o HIDS no reconhece ataques rede, e sim apenas consegue monitorar pacotes direcionados para ele (CLM: 2006);

3.4.1 NIDS A anlise feita atravs dos pacotes de rede, em um segmento de rede. Monitorando todos os hosts que estiverem neste segmento. Tambm poder ter vrios conjuntos de sensores espalhados pela rede e reportando os ataques a uma nica console, segundo CLM (2006) As estaes que rodam esses sensores devem estar limitadas a executar somente o sistema de IDS, para se manterem mais seguras contra ataques. Muitos sensores funcionam em modo stealth (invisvel), dificultando para o atacante localizar sua presena na rede. O NIDS funciona em modo passivo e inline como ser descrito mais adiante no tpico IPS. Algumas vantagens do NIDS:

32

a) Em termos de desempenho em rede os sensores NIDS, causam pouco impactos ficando em modo passivo como ser descrito mais adiante; b) Outro ponto importante os NIDS so mais seguros, ficando invisveis para os atacantes (CLM: 2006);

Algumas desvantagens do NIDS:

a) A grande parte dos NIDS no reconhece se um ataque foi bem sucedido, apenas sabe que ouve um ataque, sendo necessrio que o administrador fique verificando se o host apontado foi atacado realmente; b) Os sensores NIDS tm problemas para funcionar em redes com switches, segundo CLM (2006) A maioria dos switchs no tem um sistema de monitoramento de portas e isso limita ao NIDS apenas analisar uma estao; c) Pacotes fragmentados podem deixar alguns NIDS instveis e at mesmo chegar a travar o equipamento; d) Outro ponto que um NIDS tem problemas com pacotes criptografados;

3.5 SISTEMA DE PREVENO DE INTRUSO (IPS) Intrusion Prevention System (IPS), o IPS um IDS com recurso de firewall. Ferramenta ou software, com habilidade de detectar ataques conhecidos e desconhecidos, e tambm impede que o ataque seja bem sucedido (SECURITYFOCUS: 2006). O IPS como qualquer outra ferramenta possui suas vantagens e desvantagens, como algumas descritas a seguir. Algumas vantagens do IPS: a) protege na camada de aplicao;

33

b) impede ataques; c) possibilita correo de eventos em tempo real;

Algumas desvantagens do IPS: a) falsos positivos; b) gargalos na rede; c) tecnologia ainda nova; d) custo na implementao (FONTANA: 2005);

Como exemplo de um IPS pode ser citado o HLBR (Hogwash Light BR), um projeto brasileiro, IPS desenvolvido em 2005, derivado do Hogwash, com regras simples (WIKIPEDIA2: 2006). O IPS atua em dois modos diferentes como o modo passivo e o inline. O modo passivo captura o trfego da rede, e o inline atua como um firewall na rede, tornando esse modo capaz de detectar os ataques e tambm preveni-los, no deixando que os pacotes cheguem ao servidor. Sistemas operando em modo inline so chamados de IPS baseados em rede (NIPS) (NAKAMURA: 2003). O sensor NIPS instalado na rede em modo de linha, onde todo o trfego passa por ele. O trfego analisado verificando a presena de algum ataque, caso seja detectado este ser bloqueado imediatamente. Com este tipo de bloqueio rpido o NIDS previne-se de ataques criptografados, desconhecidos e DoS (MCAFEE: 2006).

J os sensores HIPS, so instalados em estaes de trabalho, monitorando determinado sistema como descreve Mcafee (2006) monitoram o comportamento dos aplicativos e do

34

sistema operacional em busca de sinais de ataque. Quando um ataque detectado, o agente do HIPS o bloqueia e impede a tentativa de comprometimento do sistema.

35

SNORT

O Snort um IDS de cdigo-fonte aberto, que realiza anlises de trfego e anlises de pacotes em tempo real, como descreve Caswell (2003, p.10) O Snort pode realizar anlise de protocolo, pesquisa e correspondncia de contedo e pode ser usado para detectar uma variedade de ataques e investigaes [...]. Alguns tipos de ataques que pode ser detectados: estouro de buffer, varreduras de portas secretas, ataques de CGI, entre outros. Alm de ser um excelente IDS possvel destacar que o Snort pode ser instalado em um equipamento de baixo desempenho como um Pentium 100 com 32 mega de memria e um HD de 10 Gb. O Snort pode ser dividido em trs modos: a) modo farejador: apenas l os pacotes e os exibe no console em uma lista continua; b) modo registrador de pacote: este modo apenas registra os pacotes no disco; c) modo de deteco de invaso de rede: sendo o modo mais complexo, tem a funo de anlise de trfego da rede, obtendo algum tipo de relao com as configuraes feitas pelo usurio e para executar aes contra os alertas que ele encontrar;

4.1 COMO FUNCIONA O SNORT O Snort uma ferramenta muito poderosa, constituda por componentes como explica Caswell (2003, p. 26) O Snort tem vrios componentes importantes, a maioria dos quais exige plug-ins para personalizar sua implementao. Estes componentes so formados por prprocessadores e plug-ins de alertas, e com estes recursos o Snort verifica os pacotes e os administra.

36

O Snort possui quatro componentes bsicos: o farejador, pr-processador, mecanismo de deteco e a sada.

4.1.1 Farejador O Snort em sua forma mais bsica funciona como um farejador de pacotes, ele pega os pacotes e processa atravs do pr-processador e depois faz a verificao atravs das regras existentes como mostra a figura 5.

Figura 5 Snort na forma mais bsica Fonte: Caswell, 2003, p. 26 Um farejador de pacotes um dispositivo de software ou hardware que funciona como uma escuta em redes, parecida com uma escuta de telefone, mas usado para rede. Os farejadores analisam os protocolos de rede e transformam os pacotes em algo que possa ser legvel para as pessoas. Os farejadores podem ter vrios usos como: anlise de desempenho, soluo de problemas e at mesmo para obter senhas e outros dados interessantes. Uma das maneiras de proteger a rede contra este tipo de invaso segundo Caswell (2003, p. 27) A criptografia do trfego de sua rede pode impedir que as pessoas consigam farejar seus pacotes e transformar em algo legvel, assim como qualquer ferramenta de rede, os farejadores de pacotes podem ser usados para o bem ou para o mal. O termo para o bem ou para o mal usado pelo autor na citao anterior, mostra que o Snort em modo farejador pode ser usado para resolver problemas de redes como descrito anteriormente (para o bem), por outro lado o Snort pode ser usado por alguma pessoa para capturar pacotes da rede com

37

intuito de descobrir senhas ou informaes (para o mal). A figura 6 mostra um esquema do funcionamento do farejador Snort.

Figura 6 Farejador de pacotes Snort Fonte: Caswell, 2003, p. 27 4.1.2 Pr-processador O pr-processador obtm o mximo de pacotes que puder e os verifica em relao aos plug-ins que possui como plug-in Remote Procedure Call (RPC) e plug-in portscan (porgrama para scanear portas). Segundo Caswell (2003, p. 27) esses plug-ins conferem certo tipo de comportamento de pacote. Uma vez determinado que o pacote tenha um tipo em particular de comportamento, ele ento enviado para o mecanismo de deteco. A figura 7 mostra o pr-processador usando os plug-ins, ou seja, quando o pacote capturado este passa pelo prprocessador que faz uma verificao com os plug-ins que possui, se neste processo for detectado algum tipo de relao ento o pacote encaminhado para os plug-ins que faz o mesmo procedimento e se houver algum tipo de relao encaminha para o mecanismo de deteco. Pr-porcessador Mecanismo de deteco

Plug-in de codificao http Plug-in portscan Figura 7 Pr-processador do Snort Fonte: Caswell, 2003, p. 28

38

Uma das caractersticas de um bom IDS, poder ativar e desativar os plug-ins conforme a necessidade (CASWELL: 2003). 4.1.3 Mecanismo de deteco a parte mais importante em um IDS, pois ele pega os dados do pr-processador e plug-ins (so programas que permitem pginas web usar recursos no disponveis na linguagem HTML) e verifica esses dados com um conjunto de regras e se estas regras tiverem relao com os dados dos pacotes ento eles sero enviados para o processador de alertas. O Snort um IDS baseado em assinatura e sua funo executada atravs de vrios conjuntos de regras que so agrupados por categoria como; trojam, estouro de buffer, acesso a aplicativos. As regras so divididas em duas partes: a) o cabealho da regra a ao a ser executada, log ou alerta, e endereos IP de origem e destino; b) a opo da regra o contedo do pacote que corresponde regra. A figura 8 mostra o funcionamento do Snort com mecanismo de deteco;

Mecanismos de deteco

Registra alerta

Regra

Os pacotes correspondem?

Descarta Figura 8 Mecanismo de deteco do Snort Fonte: Caswell, 2003, p. 29

39

4.1.4 Componente de alerta Os dados ao passarem pelo mecanismo de deteco e tiverem alguma relao com as regras, ento ser gerado um alerta. Esses alertas so gerados em arquivos de logs ou armazenados em um banco de dados MySQL ou Postgres.. Existem vrios ferramentas para Snort, incluindo vrios plug-ins para PHP, Perl e servidores Web que servem para exibir os logs em uma interface web. Esses logs so gravados em arquivos de texto localizados no equipamento que est rodando o Snort (mquina usando sistema operacional Linux), em /var/log/snort ou em bancos de dados como citado anteriormente. Outras formas de alertas que podemos ter com ferramentas auxiliares do Snort enviar mensagens e alertas via e-mail atravs da ferramenta Swatch (CASWELL: 2003). A tabela 1 apresenta algumas ferramentas para Snort. Tabela 1 - Complementos teis do Snort
Software Url Decrio Um analisador so Snort da Silicon Defense, usado para diagnsticos. A sada em html Um script Perl que mostrar seus ataques graficamente Um monitor de syslog em tempo real, que tambm fornece alertas em tempo real via e-mail O Analussi Console for Intrusin Databases. Fornece anlise de registro para o Snort. Exige PHP, Apa-che e o plugin de banco de dados do Snort. Como essas informaes normalmente so sigilosas, veementemente recomendado que voc as criptografia usando mod_ssl com Apache ou Apache-SSL. Um aplicativo comercial que fornece uma interface semelhante do ACID Um programa de anlise de

SnortSnarf Snortplot.php

www.silicondefense.com/software/snortsnarf www.snort.org/dl/contrib/data_analysissnortplot.pl

Swatch

http://swatch.sourceforge.net

Acid

http://acidlab.sourceforge.net

Demarc Razorback

www.demarc.com www.intersectalliance.com/projects/RazorBack/

40

Incident.pl

www.cse.fau.edu/~valankar/incident

log em tempo real baseado no GNOME/X11 para Linux Um script Perl usado para criar relatrios de incidentes a partir de um arquivo de log do snort Um analisador de log preventivo do Snort que pega a sada e pode enviar alertas por email ou bloquearo trfego, configurando regras IPTables. Uma ferramenta usada para manter suas regras atualizadas Um configurador de regras do Snort baseado no GNOME Um mdulo complementar que gera relatrios de deteco de invaso em tempo real

Loghog

http://sourceforge.net/projects/loghog

Oinkmaster SneakyMan

www.algonet.se/itzer/oinkmaster http://sneak.sourceforge.net

SnortReport

www.circitsmaximus.com/download.html

Fonte: Caswell, 2003, p. 30

4.2 UTILIZANDO O SNORT NA REDE O Snort pode ser usado em trs modos diferentes com j foi descrito no captulo anterior. Para habilitar o modo farejador e registrador de pacotes no Snort, a figura 9 mostra o seguinte comando que ser digitado, no terminal do Linux. snort -d -e -v Figura 9 Snort como farejador Fonte: O autor Na tabela 2 descrito o significado de cada parmetro. Tabela 2 - Opes bsicas do Snort para farejamento e registro de pacotes
Opes -v -d -e O que faz Clocar o Snort no modo de farejamento de pacote Inclui todos os cabealhos da camada de rede Inclui os cabealhos da camada de link de dados

Fonte: Caswell, 2003, p. 33

41

O Snort pode conter muitos parmetros desde a mais simples as mais elaboradas como mostra a figura 10. snort -dev -l /var/snort/logs -h 192.168.0.0/24 Figura 10 Snort como registrador de pacotes Fonte: O autor A tabela 3 demonstra o que significa os parmetros da figura 10 Tabela 3 Descrio das opes da figura 10 Opo
-l -h O que faz Indica onde sero armazenados os logs do Snort Indica a rede ou computador que ser monitorado pelo Snort

Fonte: O autor Este comando j deixa de ser um simples farejador e passa a ser um registrador de pacotes. Para transformar o cdigo descrito anteriormente de registrador de pacotes para um IDS de rede basta acrescentar o arquivo de configurao, onde esto as regras que ativam os alertas como mostra a figura 11. snort -dev -l /var/snort/logs -h 192.168.0.0/24 -c /etc/snort/snort.conf Figura 11 Iniciando Snort como IDS Fonte: O autor A tabela 4 demonstra o que significa os parmetros da figura 11

Opo -l -h -c

Tabela 4 Descrio das opes da figura 11 O que faz Indica onde sero armazenados os logs do Snort Indica a rede ou computador que ser monitorado pelo Snort Caminho completo de onde est o arquivo de configurano do Snort Fonte: O autor

4.3 OS PRINCIPAIS PROBLEMAS DO SNORT Como o Snort uma ferramenta como qualquer outra pode ter seus problemas, segundo de Caswell (2003, p. 41) O Snort uma ferramenta maravilhosa; entretanto, assim como

42

todas as ferramentas, ele tem suas armadilhas. Os principais problemas do Snort so: no pegar todos os pacotes, alertas falsos positivos e alertas falsos negativos. Devido velocidade da rede ou da interface, o Snort pode acabar no pegando todos os pacotes de rede. Alertas falsos positivos ocorre quando o Snort d um aviso quando no deveria. J o falso negativo muito preocupante, pois algum invade seu sistema que est sendo monitorado pelo Snort, mas voc no recebe nenhum aviso de invaso, e voc ficar apenas sabendo do comprometimento do seu sistema s quando algum administrador de outra rede lhe enviar um aviso que em sua rede possa ter alguma atividade suspeita (CASWELL: 2003). Para evitar ou amenizar este tipo de problema, o administrador dever estar sempre atento s atualizaes das regras do Snort e verificar quais alertas ter que deixar ativo em seu sistema, o que provocaria este tipo de problema com falsos positivos e negativos. Medidas podem ser tomadas para tentar tornar seu IDS mais seguro, com atualizaes do Snort, regras, mas por mais que seu Snort esteja atualizado ter a necessidade de cuidar do equipamento em que o Snort est rodando. Ou seja, os mesmos cuidados que foram descritos em captulos anteriores sobre segurana de host (atualizaes, firewall, desativao de servios desnecessrios, entre outros).

43

INSTALAO DO SNORT, MYSQL, APACHE, PHP E ACIDLAB

Nessa instalao implementado um NIDS usando a ferramenta Snort para sistema operacional Linux usando a distribuio Debian Sarge 3.1. Para instalar e executar o Snort, necessrio tambm instalar mais alguns pacotes e outros programas que ajudaro a gerenciar melhor os eventos capturados pelo Snort. Os programas que sero necessrios neste estudo de caso so: a) Snort: ferramenta IDS; b) MySQL: banco de dados para armazenar os logs capturados pelo Snort; c) Apache: servidor web necessrio para visualizar os logs com maior facilidade e melhor gerenciamento; d) PHP: um script, necessrio pois o ACIDlab baseado nesta linguagem; e) ACIDlab: Esta implementao ser toda instalada com arquivos da prpria distribuio, ou seja, do Debian. Alguns requisitos necessrios antes de comear a instalao. Estar configurado corretamente a rede, DNS e o apt-get (comando necessrio para a instalao dos pacotes na distribuio Linux Debian Sarge 3.1), lembrando que o comando apt-get funciona em algumas distribuies Linux.

5.1 INSTALAO DOS PACOTES Depois de tudo configurado necessrio instalar os pacotes para esta implementao. Todos esses pacotes sero instalados usando o comando, apt-get install nome do pacote, exemplo (apt-get install apache2). Os pacotes para esta instalao esto descritos no anexo b. Iniciando a instalao do Apache e PHP, usando os pacotes citados no anexo b.

44

Instalado o Apache com suporte a PHP e feitas s devidas configuraes. Dando seqncia a instalao, o prximo passo ser instalar o MySQL. Depois de instalado ser necessrio configurar a senha de acesso root. Configurando a senha do root no MySQL como demonstra a figura 12.

Figura 12 Configurando senha no MySQL Fonte: O autor Neste ponto o MySQL j est instalado e configurado o usurio, mas necessrio criar o banco de dados onde o Snort armazenar os eventos como mostra a figura 13.

45

Figura 13 Criando base de dados do Mysql Fonte: O autor

Dando sequncia a instalao ser instalado o Snort.

Terminada a instalao o prximo passo ser a criao das tabelas no MySQL como descreve a figura 14.

Figura 14 - Criao das tabelas no Mysql Fonte: O autor

46

Neste ponto o Snort j est instalado, mas necessrio ainda configur-lo para que possa funcionar corretamente. Editar o arquivo de configurao do Snort localizada no diretrio como descreve a figura 15.

Figura 15 Comando do Snort Fonte: O autor Dentro do arquivo de configurao necessrio modificar os seguintes parmetros: var HOME_NET, var RULE_PATH e output database: log, mysql, user=root password=estudo dbname=snort host=localhost.

a) var HOME_NET: este parmetro indica qual o endereo da rede ou computador que o Snort ir monitorar; b) var RULE_PATH: caminho no qual se encontra as regras do Snort; c) output database: informado as configuraes do banco de dados que ser usado para gravar os logs do Snort, como usurio e senha, nome do banco de dados;

47

Estes parmetros so necessrios apenas pra deixar o Snort funcionando, mas ser preciso efetuar uma configurao mais detalhada conforme a necessidade de sua rede, desabilitando outros tipos de componentes a fim de evitar os falsos positivos decorrente das regras que esto habilitados no arquivo de configurao do Snort, mas sem que voc possua esses servios em sua rede, como ter um servidor web usando o Apache e estar recebendo ataques IIS sendo que na rede no tenha um servidor IIS. Encontra-se em (anexo a) um exemplo de configurao do snort.conf que foi implementado neste estudo de caso. O Snort grava seus logs no banco de dados MySQL, onde ficam registrados os eventos capturados pelo IDS. Porm, sabe-se que ficar gerenciando esses logs de forma manual um tanto cansativo. Pensando nesse problema instalado um visualizador de logs do Snort que possibilita uma fcil visualizao e gerenciamento desses eventos. Iniciando a instalao do ACIDlab, usando os pacotes do (anexo b). Depois de instalado ser preciso configurar o ACIDlab, e tambm criar um arquivo ACIDlab para declarar no site do Apache como na figura 16.

Figura 16 Configuraes Acidlab Fonte: O autor

48

No vi (editor em modo texto usado para editar arquivos no Linux), sem dar o insert vamos digitar o seguinte comando como na figura 17.

Figura 17 Configurando o ACIDlab no Apache Fonte: O autor

Com este comando ira carregar os mdulos do PHP no arquivo. Agora preciso publicar o novo site, o seguinte comando ser dado no terminal Shell do Linux como na figura 18.

49

Figura 18 Publicando site Fonte: O autor Aps este comando ser necessrio reiniciar o Apache como na figura 19.

Figura 19 Reiniciando o Apache Fonte: O autor

S resta configurar o arquivo de configurao do ACIDlab localizado no diretrio como mostra a figura 20.

50

Figura 20 Editando arquivo do Acidlab Fonte: O autor

Estando dentro do arquivo de configurao do ACIDlab, ser preciso configurar este arquivo com as seguintes configuraes como mostra a figura 21.

Figura 21 Configurao do Acidlab Fonte: O autor Estas configuraes so necessrias para que o ACIDlab possa comunicar-se com o banco de dados e assim exibir os logs de forma mais fcil.

51

Este exemplo de configurao foi feito baseado em pesquisas em sites, tendo sua configurao original modificada e adaptada a est situao. Para testar se o ACIDlab est rodando abra um Browser e digite

http://localhost/acidlab Na primeira execuo do ACIDlab aparecer um erro, isso normal, pois o ACIDlab informa da ausncia de extruturas de tabelas. Prximo passo ser clicar no link setup page e depois no boto Create_ACID_AG. A figura a seguir mostra a pgina do ACIDlabcarregada como na figura 22.

Figura 22 - Pgina inicial do Acidlab Fonte: O autor A seguir um exemplo dos eventos capturados do Snort visualizados no ACIDlab como na figura 23.

52

Figura 23 Eventos do capturados do Snort Fonte: O autor A figura anterior mostra todos os eventos capturados pelo Snort, informando o tipo de assinatura, datas e horrios, endereos de destino e origem e protocolo.

53

TESTANDO O SNORT

Aps a implementao e configurao do Snort, foram feitos testes para verificar se o IDS implantado est funcionando corretamente, verificando os eventos gerados em funes dos testes. Os testes foram feitos entre duas mquinas fsicas e uma virtual no qual est rodando Debian Sarge 3.1 com IDS Snort.

6.1 PRIMEIRO TESTE REALIZADO O ambiente de testes foi composto por dois computadores fsicos e um computador virtual instalado em uma das mquinas. Os computadores esto classificados como A e B, sendo assim representados na figura 25. As configuraes de cada computador esto representadas na figura 24.
Sistema Op. Processador Memria HD Placa de Rede Sistema Op. Processador Memria HD Placa de Rede Sistema Op. Modelo Verso Memria Modo de exibio Windows XP AMD 2.8 Gz 512 mb 160 Gb sim Windows XP Atlhon 1 Gz 320 mb 40 Gb sim Debian Sarge Vmware Workstation 5.5.1 128 mb Modo Caracter

Figura 24 Configuraes dos computadores Fonte: O autor

Mquina Virtual

54

Primeiro teste realizado com acesso RDP (Remote Desktop Protocol). Conhecendo o ambiente do teste conforme a figura 25.

Figura 25 - Ambiente de testes Fonte: O autor

Teste realizado com o protocolo RDP, sendo feito da mquina A para B, sendo monitorado e registrado pelo Snort, como descreve a figura 26 a seguir:

55

Figura 26 - Conexo de A para B por RDP Fonte: O autor

Figura 27 - Alerta com relao ao teste executado Fonte: O autor

Na figura 27, pode-se verificar que o Snort detectou algumas tentativas de acesso feita pela mquina A com destino a mquina B, a seguir a figura 28 mostra logs capturados pelo Snort e exibidos no ACIDlab.

56

Figura 28 - Registros do Snort Fonte: O autor A figura 28 mostra os logs do Snort, com todas as ocorrncias capturadas por ele, inclusive a conexo feita por RDP

6.2 SEGUNDO TESTE Testes feitos com o Nessus. Ferramenta para anlise de vulnerabilidades de rede, FTP, web. Este teste foi realizado em um ambiente corporativo, contendo trinta estaes de trabalho, cinco servidores uma DMZ e firewall, a figura 29 demonstra esse ambiente corporativo.

57

Figura 29 Ambiente corporativo Fonte: O autor

A figura 31 e 32 demonstra a ferramenta usada para a realizao deste teste.

58

Figura 30 Nessus Fonte: O autor

Figura 31 Nessus fazendo varredura host Figura: O autor

Aps a execuo da ferramenta a figura 32 mostra a quantidade de eventos gerados pelo Snort atravs do teste feito com o Nessus.

59

Figura 32 Pgina do acidlab mostrando a quantidade de eventos Fonte: O autor As figuras de 33 a 36 esto ilustrando os eventos registrados pelo Snort.

Figura 33 Registros decorridos do teste com Nessus Fonte: O autor

60

Figura 34 Continuao da figura 38 Fonte: O autor

Figura 35 - Continuao da figura 39 Fonte: O autor

61

Figura 36 - Continuao da figura 40 Fonte: O autor

6.3 TERCEIRO TESTE O teste a seguir, ser executado um script para testar as regras do Snort, este script se encontra no (anexo c). A figura 37 descreve uso do script para testar as regras do Snort, esse script realiza o ataque de DoS.

62

Figura 37 Script sendo executado no Snort Fonte: O autor A figura 38 mostra os logs que o Snort detectou com esse ataque.

Figura 38 Visualizao dos logs capturados pelo Snort Fonte: O autor

63

Esses foram os testes realizados para verificar as funcionalidades do Snort, lembrando que a obteno destes resultados apenas com simples configuraes no Snort, no qual j se pode ter um IDS funcional, porm podendo ter problemas com falsos positivos e falsos negativos, no detectar certos tipos de ataques, entre outros.

64

CONCLUSO

Com o trmino desta pesquisa conclui-se que indispensvel segurana para as empresas, sendo necessrio um conjunto de componentes que trabalhem juntos formando assim um sistema de segurana reforado. Dentro deste ambiente de segurana destacado uma ferramenta de IDS o Snort, escolhido para est implementao, devido a est ferramenta ser gratuita e muito conceituada, alm de conter muito material de pesquisa e fruns para tirar dvidas e customizar a ferramenta. Como trabalhos futuros, deixado como sugestes:

a) o estudo dos logs do Snort; b) implantao de ferramentas para contra atacar invasores como, SnortGuardian; c) customizao das regras do Snort;

Na elaborao deste trabalho foram encontradas dificuldades em relao implementao do Snort, devido inexperincia com a ferramenta e o sistema operacional utilizado. No entanto, foi um desafio no qual foi possvel obter mais conhecimento, superando as dificuldades e conhecendo melhor o seu funcionamento, abrindo possveis caminhos nesta rea de segurana.

65

REFERNCIAS

ABSOLUTA, Segurana de host. Disponvel em: <http://www.absoluta.org/seguranca/host.htm> Acesso em: 12, dez, 2006. ANNIMO. Segurana Mxima. Rio de Janeiro, Campus, 2001. CLM, O que como funciona uma ferramenta IDS.Disponvel em: <http://www.clm.com.br/snort/comofuncionaids.asp#hids> Acesso em: 6. dez. 2006 CASWELL, Brian. Snort 2 Sistema de Deteco de Intruso. Rio de Janeiro: Alta Books ltda, 2003. LARI, Paulo Augusto Moda et al. Snort, Mysql, Apache e Acid. Rio de Janeiro: Brasport Livros e Multimdia Ltda, 2004. FONTANA, Ricardo lopez Bez. Sistemas de Deteco e Preveno de Intruso. Joinville, TCC, 2005. MCAFEE, Preveno contra Intruses de Hosts e Redes. Disponvel em: <http://www.mcafee.com/br/security_insights/hips_active_protection.html> Acesso em: 12, dez, 2006. MICROSOFT. Protegendo Sua Rede: Identificando os Permetros de Rede de Empresa de Pequeno a Mdio Porte. Disponvel em: <http://www.microsoft.com/brasil/security/guidance/smb/sec_net_smb_per_dev.mspx>. Acesso em: 3. set. 2006. NAKAMURA, Emilio Tissato. Segurana de redes - Em ambientes cooperativos. So Pualo: Futura, 2002. NAKAMURA, Emilio Tissato. Segurana de redes - Em ambientes cooperativos. So Pualo: Futura, 2003. NORTHCUTT, Stephen. Como Detectar Invaso em rede - Um guia para analista. Rio de Janeiro: Cincia Moderna Ltda, 2000. NORTHCUTT, Stephen et al. Segurana e preveno em redes. So Paulo: Editora Berkeley, 2001. NORTHCUTT, Stephen et al. Desvendando Segurana em Redes. Rio de Janeiro: Campus, 2002. OLIVEIRA, Frank Ned Santa Cruz de. Ferramentas de IDS. Disponvel em: <http://www.ccuec.unicamp.br/revista/infotec/artigos/> Acesso em: 6. dez. 2006. STREBE, Matthew. Firewalls. so Paulo: Makron Books Ltda, 2000.

66

SILVA, Gleydson Mazioli de. Firewall iptables. Disponvel em: <www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd> Acesso em: 10, dez, 2006. WIKIPEDIA1. DMZ. Disponvel em: < http://pt.wikipedia.org/wiki/DMZ>. Acesso em: 31. ago. 2006. WIKIPEDIA2, Hlbr. Disponvel em: <http://pt.wikipedia.org/wiki/Hlbr> Acesso em: 6. dez. 2006. WIKIPEDIA3, NAT. Disponvel em: <http://pt.wikipedia.org/wiki/NAT> Acesso em: 12, dez, 2006.

67

ANEXOS

68

Anexo A: snort.conf, foram retirados todos os comentrios desnecessrios


#-------------------------------------------------# http://www.snort.org Snort 2.6.0 config file # Contact: snort-sigs@lists.sourceforge.net #-------------------------------------------------# $Id$ # ################################################### var HOME_NET 192.168.0.0/24 #var HOME_NET any var EXTERNAL_NET any #var DNS_SERVERS $HOME_NET #var SMTP_SERVERS $HOME_NET #var HTTP_SERVERS $HOME_NET #var SQL_SERVERS $HOME_NET # List of telnet servers on your network #var TELNET_SERVERS $HOME_NET #var SNMP_SERVERS $HOME_NET var HTTP_PORTS 80 #var SHELLCODE_PORTS !80 #var ORACLE_PORTS 1521 var AIM_SERVERS [64.12.24.0/23,64.12.28.0/23,64.12.161.0/24,64.12.163.0/24,64.12.200.0/24,2 05.188.3.0/24,205.188.5.0/24,205.188.7.0/24,205.188.9.0/24,205.188.153.0/24 ,205.188.179.0/24,205.188.248.0/24] var RULE_PATH /etc/rules

dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/ /usr/local/lib/snort_dynamicpreprocessor/libdynamicexample.so dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so /usr/local/lib/snort_dynamicrule/libdynamicexamplerule.so preprocessor flow: stats_interval 0 hash 2 preprocessor frag3_global: max_frags 65536 preprocessor frag3_engine: policy first detect_anomalies preprocessor stream4: disable_evasion_alerts preprocessor stream4_reassemble preprocessor http_inspect: global \ iis_unicode_map unicode.map 1252 preprocessor http_inspect_server: server default \ profile all ports { 80 8080 8180 } oversize_dir_length 500 preprocessor rpc_decode: 111 32771

69

preprocessor bo preprocessor ftp_telnet: global \ encrypted_traffic yes \ inspection_type stateful preprocessor ftp_telnet_protocol: telnet \ normalize \ ayt_attack_thresh 200 preprocessor ftp_telnet_protocol: ftp server default \ def_max_param_len 100 \ alt_max_param_len 200 { CWD } \ cmd_validity MODE < char ASBCZ > \ cmd_validity MDTM < [ date nnnnnnnnnnnnnn[.n[n[n]]] ] string > \ chk_str_fmt { USER PASS RNFR RNTO SITE MKD } \ telnet_cmds yes \ data_chan preprocessor ftp_telnet_protocol: ftp client default \ max_resp_len 256 \ bounce yes \ telnet_cmds yes

#preprocessor smtp: \ # ports { 25 } \ #inspection_type stateful \ #normalize cmds \ #normalize_cmds { EXPN VRFY RCPT } \ #alt_max_command_line_len 260 { MAIL #alt_max_command_line_len 300 { RCPT #alt_max_command_line_len 500 { HELP #alt_max_command_line_len 255 { EXPN

} \ } \ HELO ETRN } \ VRFY }

preprocessor sfportscan: proto { all } \ memcap { 10000000 } \ sense_level { low }

preprocessor dns: \ ports { 53 } \ enable_rdata_overflow

output database: log, mysql, user=root password=estudo dbname=snort host=localhost

include classification.config include reference.config include include include include include include $RULE_PATH/local.rules $RULE_PATH/bad-traffic.rules $RULE_PATH/exploit.rules $RULE_PATH/scan.rules $RULE_PATH/finger.rules $RULE_PATH/ftp.rules

70

include include include include include include include include include include include include include include include include include include include include include include include include include include include

$RULE_PATH/telnet.rules $RULE_PATH/rpc.rules $RULE_PATH/rservices.rules $RULE_PATH/dos.rules $RULE_PATH/ddos.rules $RULE_PATH/dns.rules $RULE_PATH/tftp.rules $RULE_PATH/web-cgi.rules $RULE_PATH/web-coldfusion.rules $RULE_PATH/web-iis.rules $RULE_PATH/web-frontpage.rules $RULE_PATH/web-misc.rules $RULE_PATH/web-client.rules $RULE_PATH/web-php.rules $RULE_PATH/sql.rules $RULE_PATH/x11.rules $RULE_PATH/icmp.rules $RULE_PATH/netbios.rules $RULE_PATH/misc.rules $RULE_PATH/attack-responses.rules $RULE_PATH/oracle.rules $RULE_PATH/mysql.rules $RULE_PATH/snmp.rules $RULE_PATH/smtp.rules $RULE_PATH/imap.rules $RULE_PATH/pop2.rules $RULE_PATH/pop3.rules

include $RULE_PATH/nntp.rules include $RULE_PATH/other-ids.rules # include $RULE_PATH/web-attacks.rules # include $RULE_PATH/backdoor.rules # include $RULE_PATH/shellcode.rules # include $RULE_PATH/policy.rules # include $RULE_PATH/porn.rules # include $RULE_PATH/info.rules # include $RULE_PATH/icmp-info.rules # include $RULE_PATH/virus.rules # include $RULE_PATH/chat.rules # include $RULE_PATH/multimedia.rules # include $RULE_PATH/p2p.rules # include $RULE_PATH/spyware-put.rules include $RULE_PATH/experimental.rules

71

Anexo B: Pacotes necessrios para Snort, Apache, PHP, MySQL e ACIDlab apache2 libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick mysql-server mysql-client libmysqlclient12-dev snort-mysql snort-rules-default acidlab acidlab-mysql libphp-adodb libphp-phplot wwwconfig-common

72

Anexo C: Script de teste para Snort


#!/bin/sh # ##################################################################### # You are free to copy and distribute this script under # # GNU Public License until this part is not removed # # from the script # ##################################################################### # HOW TO USE # # # # Right after installation of Snort, run this script # # It will generate alerts in /var/log/snort/alert file similar # # to the following: # # # # Note that Snort must be running at the time you run this # # script # # # # [**][1:498:3]ATTACK RESPONSES id check returned root[**] # # [Classification: Potentially Bad Traffic][Priority:2] # # 08/31-15:56:48.188882 255.255.255.255 -> 192.168.1.111 # # ICMP TTL:150 TOS:0x0 ID:0 IpLen:20 DgLen:84 # # Type:0 Code:0 ID:45596 Seq:1024 ECHO REPLY # # # # These alerts are displayed at the end of the script # ##################################################################### # clear echo "################################################################" echo "# Script to test Snort Installation #" echo "# Written By #" echo "# #" echo "# Rafeeq Rehman #" echo "# rr@argusnetsec.com #" echo "# Argus Network Security Services Inc #" echo "# http://www.argusnetsec.com #" echo "################################################################" echo echo echo echo echo echo echo echo echo echo echo echo

"################################################################" "The script generates three alerts in file /var/log/snort/alert" "Each alert shoud start with message like the following:" " \"ATTACK RESPONSES id check returned root\"" "################################################################" "Enter IP address of any other host on this network. If you" "don't know any IP address, just hit Enter key. By default" -n "broadcast packets are used [192.168.0.255]:"

read ADDRESS if [ -z $ADDRESS ] then ADDRESS="192.168.0.255" fi echo echo "Now generating alerts. If it takes more than 5 seconds, break" echo "the script by pressing Ctrl-C. Probably you entered wrong IP" echo "address. Run the script again and don't enter any IP address"

73

ping -n -r $ADDRESS -p"7569643d3028726f6f74290a" -c3 2>/dev/null >/dev/null if [ $? then echo echo exit else echo echo echo fi sleep 2 echo echo echo echo echo echo echo echo read -ne 0 ] "Alerting generation failed." "Aborting..." 1

"Alert generation complete"

"################################################################" "Last 18 lines of /var/log/snort/alert file will be displayed now" "If Snort is working properly, you will see recently generated" "alerts with current time" "################################################################" "Hit Enter key to continue..." ENTER

if [! -f /var/log/snort/alert ] then echo "The log file does not exist." echo "Aborting..." exit 1 fi tail -n18 /var/log/snort/alert echo echo "Done" echo