Abrir
Fechar

Instalação e configuração do Snort no Linux. Pratique usando o IDS SNORT. Estrutura e funcionamento do Snort

Hoje, fala-se muito sobre segurança de redes sem fio, mas hackear redes é percebido como algo muito distante. Nós já material publicado sobre como quebrar a segurança WEP. Além disso, depois de algum tempo saiu continuação sobre como proteger sua rede. Hoje nossa atenção será dedicada às ferramentas para verificar a segurança da rede sem fio. E também sistemas de detecção de ataques - uma espécie de “alarme de incêndio” para sua WLAN.

A propósito, se falamos sobre hackeamento de WLAN, os usuários de redes domésticas e de pequenos escritórios parecem especialmente vulneráveis ​​para nós. Isto se deve principalmente ao fato de que eles têm outras tarefas além de proteger sua rede sem fio. E, diferentemente das grandes empresas, não têm oportunidade de contratar profissionais.

Porém, nem tudo é tão triste quanto parece. Na natureza, existem formas de avaliar a segurança de uma rede sem fio, apesar do aparente absurdo da combinação das palavras “segurança” e “rede sem fio”. Os Sistemas de Detecção de Intrusão (IDS) podem detectar possíveis intrusões antes que elas aconteçam, enquanto o inimigo procura uma abertura. É claro que tais sistemas não podem garantir segurança completa (e o que, aliás, pode?), mas em combinação com firewalls e outras medidas de segurança podem ser muito úteis. É geralmente aceito que o IDS é uma espécie de alarme de segurança: ou seja, apenas notifica sobre um ataque, deixando o trabalho com o invasor para outros sistemas e meios (mesmo físicos).

Arroz. 1. Cheirar IDs.


Arroz. 3. Linksys WRT54G.

Abaixo daremos exemplos baseados em WRT54G com firmware OpenWRT RC 2(codinome "Russo Branco"). Na verdade, existem muitas distribuições Linux para roteadores sem fio, mas escolhemos o firmware OpenWRT porque é simples, leve e empacotado como o Debian Linux.


Arroz. 4. OpenWRT em ação.

Aviso. Carregar OpenWRT, Snort Wireless ou outras versões de firmware alternativas no WRT54G anulará a garantia. Antes de começar a atualizar uma versão alternativa de firmware, recomendamos download uma cópia da versão atual do firmware

Não entraremos em detalhes sobre a instalação do OpenWRT, pois você pode encontrá-lo no site do OpenWRT excelente guia de instalação. Após a conclusão da instalação, você pode se conectar ao roteador usando Telnet () e aproveitar o resultado.

Depois de instalar o OpenWRT no roteador, você pode baixar e instalar o programa Snort sem fio. Tudo isso pode ser feito através do sistema de pacotes OpenWRT mencionado - execute o comando ipkg com os seguintes parâmetros.

instalação do ipkg http://nthill.free.fr/openwrt/ipkg/testing/20041204/snort-wireless_2.1.1-1_mipsel.ipk

Alguns podem não gostar que este pacote tenha mais de um ano. Mas não há nada de errado com isso, já que todas as funções necessárias do IDS estão presentes aqui, e todas as regras posteriores do Snort também podem ser baixadas via ipkg (mais detalhes: Página do rastreador OpenWRT). Se você decidir organizar um ponto de acesso em um PC, poderá baixar o código-fonte do Snort Wireless e compilá-lo diretamente em seu computador. Observe que você deve adicionar o sinalizador --Ativar rede sem fio, caso contrário, os pré-processadores Wi-Fi não funcionarão.

O Snort Wireless funciona como o Snort normal, mas foi projetado especificamente para pontos de acesso sem fio, permitindo protegê-los eficazmente contra ataques. Especificamente, ele contém um novo protocolo de regras chamado Wi-fi e permitir que o IDS isole adequadamente o tráfego sem fio típico de ataques WLAN comuns. Por exemplo, os mesmos ataques usando Netstumbler ou tentativas de quebrar WEP. Usar o protocolo wifi no Snort Wireless é muito semelhante a configurar as regras normais do Snort, com uma exceção: em vez de inserir os endereços IP e portas do primeiro e segundo nós, você deve usar seus endereços MAC.

Neste ponto, temos um Snort Wireless funcionando. Vamos prosseguir com a configuração para uso na rede selecionada. Quando você executa o ipkg, o Snort é instalado no diretório /etc/snort no roteador. Como outros programas Unix, o Snort usa um arquivo de configuração editável onde você pode especificar informações sobre seu ambiente de rede e os vários padrões de ataque que deseja monitorar. O arquivo é chamado bufar.conf (Arroz. 5) e está localizado no diretório /etc/snort. Ele precisa ser aberto em qualquer editor de texto (se o seu roteador não tiver, baixe-o usando ipkg).


Arroz. 5. Arquivo de configuração Snort.conf.

Agora você pode configurar todos os parâmetros de rede necessários, incluindo o nome do ponto de acesso no qual o IDS está rodando e os endereços MAC dos clientes que deseja monitorar. Há muitas configurações que você pode definir aqui, então revise todas elas cuidadosamente para ter certeza de não perder nada.

Em particular, observe os pré-processadores específicos de Wi-Fi no Snort Wireless. Eles incluem pré-processadores para detectar varredura passiva de rede por programas como NetStumbler e tentativas de falsificação de endereço MAC. Decidimos considerar pré-processadores importantes separadamente.


Arroz. 6. O pré-processador AntiStumbler permite notificar sobre um ataque de reconhecimento.

  • AntiStumbler. Programas como NetStumbler e MacStumbler ( Arroz. 6), use SSIDs nulos para detectar pontos de acesso. Esses SSIDs atuam como transmissões e forçam outros pontos de acesso a enviar seus SSIDs ao nó solicitante. Este recurso é útil ao procurar redes sem fio disponíveis. O pré-processador AntiStumbler reconhece que muitos SSIDs nulos estão sendo enviados de um endereço MAC e pode disparar um alarme.
    Observação. Este pré-processador não permite a definição de programas como Kismet, já que eles apenas escutam passivamente os frames 802.11 e não enviam solicitações.
  • DeauthFlood. Este ataque foi descrito em detalhes em nosso material sobre hacking WEP. Usado para desconectar hosts de pontos de acesso e forçar uma tentativa de reconexão, o que fornece pacotes adicionais para análise durante o cracking WEP. Além disso, o ataque pode ser utilizado para “negação de serviço” (DoS) de um ponto de acesso. O pré-processador DeauthFlood reconhece este tipo de ataque contando o número de quadros de desautenticação por unidade de tempo e, se necessário, dispara um alarme.
  • Autenticação. O ataque é semelhante ao anterior, mas o pré-processador AuthFlood detecta muitas tentativas de autenticação, ou seja, tentativas de clientes de se conectarem à rede sem fio, o que pode ser usado como um ataque DoS no ponto de acesso.
  • MacSpoof. Uma das maneiras mais eficazes de restringir o acesso a um ponto de acesso é criar uma lista de endereços MAC de clientes permitidos. Infelizmente, um invasor pode falsificar o endereço MAC da sua máquina e conectar-se ao ponto de acesso. O pré-processador MacSpoof verifica os números dos pacotes e, caso seja detectada alguma inconsistência, indicando uma possível falsificação de endereço MAC, dispara um alarme.
  • RogueAP. Os pontos de acesso estrangeiros (“inimigos”) são disfarçados de pontos normais para que o usuário se conecte a eles por engano e transfira quaisquer dados pessoais. Este pré-processador ainda não implementado, porém, em versões futuras ele poderá reportar a proximidade de pontos de acesso de outras pessoas.

Além disso, o Snort Wireless inclui muitas regras predefinidas para um grande número de situações. Dependendo da configuração da rede, algumas regras podem ser muito convenientes. Por exemplo, todas as regras da web, se um servidor web estiver em execução na sua rede. Para ativar uma regra, basta descomentar a linha correspondente no arquivo de configuração do Snort. Conjuntos de regras individuais são salvos em um diretório por padrão /etc/snort/rules, e qualquer um deles pode ser visualizado usando um editor de texto. As regras nos conjuntos são definidas exatamente da mesma forma que no próprio Snort. A propósito, seguindo os exemplos, você mesmo pode facilmente escrever uma regra.


Arroz. 7. A regra do Snort detectou uma máquina de varredura de porta.

Em andamento

Quando o arquivo bufar.conf pronto, você pode iniciar o Snort. Na inicialização, você pode especificar vários parâmetros que determinam tudo, desde a saída até o modo operacional. Primeiro, vamos executar o Snort com os seguintes parâmetros (nas opções do Telnet).

bufar -D -A completo

Este comando inicia o Snort como um processo em segundo plano, para que você possa continuar trabalhando com o shell em paz. Quando um alarme é acionado, informações completas serão registradas no log.

Agora que o Snort está funcionando, você pode pensar em maneiras adicionais de proteger sua rede sem fio. Digamos que você possa entrar em contato Kismet- um utilitário semelhante ao Snort que pode ser implantado como um sistema adicional de detecção de intrusões. O Snort funciona apenas na terceira camada do modelo OSI – a camada de rede, que é responsável pelo IP e outros tráfegos. E o Kismet trabalha no segundo nível – o nível do canal, responsável pelos frames Ethernet. Assim, a implantação de ambos os sistemas em pares aumentará significativamente a segurança geral.


Arroz. 8. Kismet no trabalho.

Você pode configurar o Snort para gravar logs em um banco de dados, facilitando análises posteriores. Daniel Walther escreveu gerenciamento sobre como configurar a gravação em bancos de dados MySQL e PostgreSQL. Se você estiver usando o Gentoo Linux em uma máquina que funciona como ponto de acesso, então você pode ir além: instalar o Apache e configurar a exibição de logs via web. No site Wiki Gentoo Você pode encontrar uma descrição detalhada dessa configuração.


Arroz. 9. Visualize os logs do Snort via MySQL, ACID e Apache.

Conclusão

Abordamos apenas os princípios básicos de como o Snort funciona. Em princípio, com base nos materiais do artigo, você pode configurar o sistema em um ponto de acesso. No entanto, o Snort possui muito mais recursos do que os descritos no artigo. Em particular, você pode criar governa de forma independente, o que ajudará a integrar o Snort mais profundamente na rede.

Finalmente, não se esqueça que para proteger eficazmente a sua rede sem fio, tanto o Snort quanto as regras devem ser mantidos atualizados. Não se esqueça de visitar regularmente Snort sem fio, e rastreador de pacote ipkg(para instalações OpenWRT) ou Página de regras do Snort(para os outros).

Como outras ferramentas de segurança, o Snort não é uma panacéia para proteger sua rede. Este é apenas um dos bastiões da sua fortaleza. Mas no complexo de defesa funciona muito bem.


Data de publicação: 21 de setembro de 2009
Tradução: S.Vladimirsky
Data de transferência: 2 de outubro de 2009

Este guia descreve como instalar e configurar um sistema de detecção de intrusão (IDS) com pacotes Snort, ACIDBASE (mecanismo de análise e segurança de núcleo), MySQL e Apache2 no Ubuntu 9.04 usando o gerenciador de pacotes Synaptic Ubuntu. O Snort irá ajudá-lo a monitorar sua rede e alertá-lo sobre possíveis ameaças. Neste caso, o Snort irá gerar arquivos de log para o banco de dados MySQL, e o ACIDBASE permitirá exibi-los em uma interface gráfica em um navegador web.

1. Preparando o sistema e instalando software.

1.1 Instalação.

Baixe o Desktop Ubuntu 9.04 de 32 bits ou 64 bits aqui: http://www.ubuntu.com/getubuntu/download

1.2 Configurações de sistema e rede

Conecte seu computador à rede. Embora o sistema possa operar com diversas configurações, é preferível a seguinte configuração:

  • Localizado em uma zona desmilitarizada (DMZ).
  • Endereço IP estático oculto atrás de um firewall usando NAT.
  • Conecte-se à porta de monitoramento no switch de rede (SWITCH).

Crie um novo administrador chamado <ваше_имя> e senha <ваш_пароль> .

1.3 Instalação de software.

A primeira coisa que você precisa fazer após a conclusão da instalação é instalar todas as atualizações recomendadas pelo Ubuntu. Para acessar as atualizações, acesse o menu: Sistema > Administração > Gerenciador de atualizações. Digite sua senha e selecione Verificar. Selecione Instalar atualizações.

Na sua área de trabalho, vá para Sistema > Administração > Gerenciador de Pacotes Synaptic. Digite sua senha e selecione Pesquisar.

Encontre e instale os seguintes pacotes:

  • Acidbase com todos os pacotes dependentes
  • Snort-MySQL com todos os pacotes dependentes
  • MySql-server-5.0 com todos os pacotes dependentes
  • Libpcap0.8-dev
  • libmysqlclient15-dev
  • MySql-client-5.0
  • Búfalo
  • Apache2
  • Libapache2-mod-php5
  • Php5-gd
  • Php5-mysql
  • libphp-adodb
  • Php-pêra

2. Obtenha direitos de superusuário

Na área de trabalho, vá ao menu: Aplicativos> Acessórios> Terminal (Aplicativos> Complementos> Terminal) e digite o comando:

$ sudo -eu
$ digite a senha

3. Configurando o Snort

Para definir configurações personalizadas, você precisa editar o arquivo de configurações snort.conf.

Usando um editor de texto (nano, vi, vim ou outro), abra o arquivo /etc/snort/snort.conf.

# vim /etc/snort/snort.conf

Altere a variável var HOME_NET any para var HOME_NET 192.168.1.0/24 (seu endereço de rede doméstica pode ser diferente de 192.168.1.0). Se você estiver monitorando diversas redes, deverá especificar todas essas redes da seguinte forma: var HOME_NET . Altere var EXTERNAL_NET any para var EXTERNAL_NET !$HOME_NET (define todas as variáveis, exceto a variável externa HOME_NET).

Altere var RULE_PATH ../rules para var RULE_PATH /etc/snort/rules . Role até o ponto onde a linha # output database: log, mysql, user= é especificada, remova o sinal # do início da linha.

Exemplo: banco de dados de saída: log, mysql, user= senha = nome do banco de dados=snort host=localhost

(veja acima quando um novo usuário foi criado).

Anote o nome de usuário, a senha e o nome do banco de dados (dbname). Você precisará dessas informações ao instalar o banco de dados MySQL. Salvar as mudanças e sair.

4. Instalando bancos de dados Snort e Archive no MySQL

4.1 Instalando MySQL

Faça login no servidor MySQL.

# mysql -u raiz -p

Às vezes acontece que não há senha definida, basta pressionar “Enter”.

Se você não conseguir fazer login, tente o comando acima novamente e digite SUA_SENHA.

Se não houver senha, será necessário definir uma senha para a conta de superusuário.

Nota: Quando você está em um servidor MySQL, o prompt exibe o grupo de caracteres "mysql>" em vez do símbolo "#".

mysql> criar usuário @localhost;
mysql> DEFINIR SENHA PARA r@localhost=SENHA( );
mysql> DEFINIR SENHA PARA root@localhost=SENHA( );

4.2 Criando um banco de dados Snort

mysql>cria banco de dados snort; mysql> concede INSERT,SELECT em root.* para snort@localhost; mysql> conceda CREATE,INSERT,SELECT,DELETE,UPDATE no snort.* para @localhost; mysql> conceda CREATE,INSERT,SELECT,DELETE,UPDATE ao bufar.* para bufar;

4.3 Criando um banco de dados Archive

mysql> criar arquivo de banco de dados; mysql> conceda CREATE,INSERT,SELECT,DELETE,UPDATE no arquivo.* para @localhost; mysql> concede CREATE,INSERT,SELECT,DELETE,UPDATE no arquivo.* para arquivar; mysql> sair

4.4 Criando tabelas em bancos de dados Snort e Archive

Usaremos o esquema Snort para fazer o layout dos bancos de dados Snort e Archive.

# cd /usr/share/doc/snort-mysql # zcat create_mysql.gz | mysql -você -h localhost -p snort # zcat create_mysql.gz | mysql -você -h localhost -p arquivo

4.5 Confirmação da criação de bancos de dados e tabelas recém-criadas.

Faça login no servidor MySQL e verifique os bancos de dados que acabamos de criar e as tabelas hospedadas nesses bancos de dados. Se tudo foi criado com sucesso, você verá quatro (4) bancos de dados (mysql, test, snort e archive) nos bancos de dados mysql e aproximadamente 16 tabelas em cada banco de dados.

# mysql -u root -p mysql> mostra bancos de dados; mysql> use bufar; mysql> mostrar tabelas; mysql> usar arquivo; mysql> mostrar tabelas; mysql> sair

4.6 Testando o Snort

No modo terminal, digite o comando: # snort -c /etc/snort/snort.conf

Se tudo correr bem, você deverá ver a resposta em códigos ASCII.

Para finalizar o teste pressione ctrl + c

5. Configurando o Apache2

O pacote Apache2 já deve estar instalado no seu computador.

Usando seu editor de texto favorito, crie um arquivo chamado test.php na pasta /var/www/.

# vim /var/www/test.php

Escreva nele:

Salve suas alterações e feche este arquivo.

Edite o arquivo /etc/php5/apache2/php.ini

# vim /etc/php5/apache2/php.ini

Na linha "Extensões dinâmicas", adicione o seguinte:

Extensão=mysql.so extensão=gd.so

Reinicie o Apache2.

# /etc/init.d/apache2 reiniciar

Obtenha o endereço IP do seu computador de trabalho.

# ifconfig -a

Abra seu navegador e vá para http://YOUR_IP_ADDRESS/test.php.

Se tudo correr bem, as informações do PHP serão exibidas.

6. Configurando pastas

Mova o ADOdb para a pasta /var/www.

# mv /usr/share/php/adodb /var/www/

Crie uma pasta chamada web em www e mova ACIDBASE para ela.

# mkdir /var/www/web # mv /usr/share/acidbase /var/www/web/

Permita temporariamente a gravação na pasta do banco de dados acidbase para instalá-lo.

#chmod 777 /var/www/web/acidbase

# cd /var/www/web/acidbase # mv base_conf.php base_conf.old

Para trabalhar no ACIDBASE, execute o comando:

#pear instalar Image_Color

7. Instalando ACIDBASE para bancos de dados Snort e Archive

7.1 Instalando o banco de dados Snort através de um navegador web

Etapa 1 de 5:

Insira o caminho para ADODB. Este é /var/www/adodb.

Etapa 2 de 5:

Tipo de banco de dados principal = MySQL
Nome do banco de dados = snort
Host do banco de dados = localhost (localização local do banco de dados Snort),
Nome de usuário do banco de dados =<ваше_имя_пользователя>(Nome de usuário do banco de dados Snort)
Senha do banco de dados =<ваш_пароль>(Senha para banco de dados Snort)

Tipo de banco de dados de arquivo = MySQL (tipo de banco de dados de arquivo),


Nome de usuário do banco de dados =<ваше_имя_пользователя>
Senha do banco de dados =<ваш_пароль>

Etapa 3 de 5:

Se desejar usar autenticação, digite seu nome de usuário e senha (usuário:<ваше_имя>, senha:<ваш_пароль>).

Etapa 4 de 5:

Clique em Criar BASE AG.

Etapa 5 de 5:

Quando a etapa 4 for concluída, na parte inferior, clique em: Agora continue para a etapa 5.

Favoritar esta página.

7.2 Crie uma pasta para o banco de dados Archive ACIDBASE

Para que o banco de dados de arquivo funcione corretamente, uma pasta de arquivo deve ser criada na pasta ACIDBASE.

# mkdir /var/www/web/acidbase/archive # cd /var/www/web/acidbase # cp -R * /var/www/web/acidbase/archive # chmod 777 /var/www/web/acidbase/archive

Renomeie o arquivo base_conf.php existente para base_conf.old .

# cd /var/www/web/acidbase/archive # mv base_conf.php base_conf.old

7.3 Instalando o banco de dados Archive através de um navegador da web.

Abra um navegador da web e vá para http://YOUR_IP_ADDRESS/web/acidbase/archive/setup.

Na primeira página, clique em Continuar.

Etapa 1 de 5:

Insira o caminho para ADODB. Este é /var/www/adodb. >

Etapa 2 de 5:

Tipo de banco de dados de arquivo = MySQL
Nome do banco de dados = arquivo (Arquivo de Banco de Dados),
Host do banco de dados = localhost (localização local do banco de dados Archive),
Nome de usuário do banco de dados =<ваше_имя_пользователя>(Nome de usuário do banco de dados de arquivo),
Senha do banco de dados =<ваш_пароль>(Senha para banco de dados Archive)

Etapa 3 de 5:

Se você quiser usar autenticação, digite seu nome de usuário e senha (usuário:<ваше_имя_пользователя>, senha:<ваш_пароль>).

Etapa 4 de 5:

Clique em Criar BASE AG.

Etapa 5 de 5:

Quando a etapa 4 for concluída, clique na parte inferior: Agora continue para a etapa 5 (agora vá para a etapa 5).

8. Inicie o Snort e verifique o status dos serviços.

Para executar o Snort, digite no modo terminal:

# snort -c /etc/snort/snort.conf -i eth0 -D

Este comando inicia o snort usando a interface eth0 no modo de demonstração.

Você pode verificar se o serviço está em execução usando o seguinte comando:

#ps aux | grep bufar

Se o serviço estiver em execução, você verá algo semelhante ao seguinte snort -c /etc/snort/snort.conf -i eth0 -D .

Verifique se todos os serviços necessários estão em execução executando os seguintes comandos:

# /etc/init.d/mysql status # /etc/init.d/apache2 status # /etc/init.d/snort status

Se os serviços estiverem em execução, você verá uma mensagem de resposta .

Se necessário, execute o comando
# /etc/init.d/ reiniciar
para cada um dos serviços que precisa ser reiniciado.

Introdução

O principal objetivo deste trabalho é descrever e estudar a popular aplicação IDS Snort. Snort é um grande projeto de código aberto usado por muitos administradores de rede para capturar assinaturas maliciosas e alertá-los quando sua rede estiver sob ataque. O Snort intercepta todo o tráfego das interfaces de rede, verificando os pacotes em busca de solicitações suspeitas e tentativas de invasão.

Sua principal vantagem é a acessibilidade e a capacidade de editar seu trabalho de acordo com sua rede de trabalho específica. O programa foi projetado para funcionar em organizações de pequeno e grande porte. Também importante é a capacidade de editar suas próprias regras exclusivas com base nos requisitos de segurança de uma organização específica (por exemplo, a proibição de acesso de funcionários às redes sociais).

As desvantagens incluem a inconveniência de configuração e instalação em alguns sistemas operacionais (por exemplo, Windows), a falta de uma descrição única suficientemente completa e detalhada da configuração e o desenvolvimento de seu próprio conjunto de regras.

Além disso, é muito difícil eliminar alarmes falsos, uma vez que empresas diferentes têm frequentemente restrições diferentes e é necessário um ajuste bastante preciso das regras. Muitos modos de inicialização de um aplicativo usando teclas que diferenciam maiúsculas de minúsculas são muito difíceis de lembrar e podem levar a resultados incorretos.

A principal tarefa deste trabalho é compreender as características funcionais do IDS Snort e verificar o funcionamento da aplicação realizando diversos tipos de ataques de rede sobre ela. Descubra se existem IDS semelhantes em um formato mais conveniente. Como o Snort interage com bancos de dados. Desenvolva várias regras exclusivas e teste sua funcionalidade.

Instalação e configuração do IDS Snort

Snort: Instalação no Windows XP

Ao instalar o Snort em um sistema operacional Windows, você pode encontrar algumas dificuldades. Portanto, este trabalho foca em uma parte bastante detalhada das opções de instalação e configuração. Primeiro você precisa baixar os programas necessários para o seu computador de trabalho.

Regras para Snort.

Todos os itens acima são baixados dos sites oficiais desses aplicativos.

Winpcap é um aplicativo que captura e filtra pacotes no nível do kernel. Isso é análogo ao driver libpcap integrado do Unix. A instalação não causará nenhum inconveniente especial, pois será iniciada por meio de um instalador normal. Depois disso, você precisa baixar o próprio IDS do site oficial, após o qual baixamos o arquivo mais recente com as regras de lá. O próximo passo será copiar completamente todas as pastas que estavam no arquivo com as regras para o diretório raiz da aplicação, substituindo completamente o conteúdo quando necessário. Então, para que o programa funcione corretamente, você precisará fazer alterações importantes no arquivo de configuração.

var RULE_PATH c:snort ules

var SO_RULE_PATH c:snortso_rules

var PREPROC_RULE_PATH c:snortpreproc_rules

diretório do pré-processador dinâmico c: snortlibsnort_dynamicpreprocessor

motor dinâmico c:snortlibsnort_dynamicenginesf_engine.dll

#diretório de detecção dinâmica /usr/local/lib/snort_dynamicrules

Encontramos linhas semelhantes no arquivo de configuração e as substituímos pelas fornecidas acima. Depois disso, tentamos testar o aplicativo. Inicie a linha de comando e vá para o diretório do aplicativo na seção “bin”. Digite o comando "snort -W"

Arroz. 1.1.

Com este comando verificamos a funcionalidade da aplicação para visualizar nossas interfaces. Depois de nos certificarmos de que há mais de um deles, selecionamos aquele que está conectado à rede em funcionamento para iniciar a interceptação de pacotes e monitorar o funcionamento do IDS.

C:Snortinsnort -i 3 -c C:snortetcsnort.conf -l C:snortlog -A console

Vejamos agora o comando que inserimos. "- i 3" significa que veremos a interface que possui ID= 3 na lista de nossas interfaces. Em seguida, especificamos o caminho para o arquivo de configuração e o caminho para o diretório onde o “log” dos pacotes interceptados deve ser gravado. "-A console" significa que os pacotes de alarme serão detectados em nosso console. Caso surjam problemas durante o processamento, nós os eliminamos à medida que forem identificados. Snort indica a string e o tipo de erro de construção. Se tudo funcionou, não veremos nada até que uma das regras em execução seja acionada. Para usar um deles, vamos tentar simular um ataque à rede e lançar um pacote suspeito pela nossa rede local. Para fazer isso, por exemplo, abra a linha de comando e digite o seguinte: “Ping 192.168.1.16”. O Snort interceptará uma tentativa de escutar o host em 192.168.1.1624 e exibirá uma mensagem e informações sobre a atividade suspeita na rede. Infelizmente, esses sistemas IDS têm uma séria desvantagem - falsos positivos. Neste sentido, para que o Snort seja útil e não enganoso, é necessário definir de forma suficiente e clara as regras e diferenciar as redes visualizadas para evitar estes falsos positivos.


Arroz. 1.2.

Agora, no console onde nosso IDS está rodando, aparecerão mensagens sobre um pacote suspeito que lembra “escuta”. Esta regra envolvida mostrou que o Snort estava totalmente funcional. Consideremos seus modos de operação e a sintaxe das regras para trabalhos futuros.

Bilhões de pacotes de dados são transmitidos pelas redes corporativas todos os dias. Alguns deles são perigosos; Os autores de tais pacotes tomaram medidas especiais para contornar firewalls e romper as linhas de defesa ao longo do perímetro das redes, interrompendo o funcionamento de todos os sistemas encontrados ao longo do caminho. Os efeitos destrutivos de ataques empacotados como Code Red, Nimda, SQL Slammer e MSBlaster são bem conhecidos. Todos esses malwares exploram protocolos confiáveis ​​(como HTTP) ou tráfego de rede de sistemas Microsoft. Tais protocolos não podem simplesmente ser tomados e bloqueados, por isso os administradores geralmente tentam capturar o tráfego perigoso o mais rápido possível usando sistemas de detecção de acesso não autorizado, Network Intrusion Detection System (NIDS), para responder à ameaça a tempo.

Existem vários NIDS disponíveis comercialmente, variando em capacidade e custo. Em geral, todos funcionam com sucesso. Todos os pacotes comerciais que encontrei foram excelentes. Mas o que devem fazer as organizações com orçamentos modestos se a detecção de intrusões não for uma prioridade? Para tais casos, existe o Snort - um poderoso pacote NIDS gratuito. Ao contrário de muitos pacotes de código aberto, é compatível com Windows.

Conhecendo o Snort

O desenvolvedor original do Snort, Martin Resch, disponibilizou o programa para a comunidade aberta sob os termos da Licença Pública Geral GNU (GPL). A história deste pacote começou em 1998 e, desde então, provou sua confiabilidade mais de uma vez. Graças às contribuições de membros de comunidades abertas e administradores de rede em todo o mundo, o Snort se tornou um produto muito poderoso. A versão atual fornece análise de tráfego de rede em tempo real e registro de tráfego IP em velocidades Fast Ethernet e Gigabit Ethernet.

Michael Davis portou o Snort 1.7 para a plataforma Win32, disponibilizando-o para a comunidade Windows. Chris Reid então assumiu a tarefa de compilar novas versões do Snort em executáveis ​​prontos que pudessem ser facilmente implantados em um ambiente Windows.

Administradores não familiarizados com o NIDS podem considerar a ferramenta um tipo especial de analisador de rede. O NIDS examina cada pacote que passa pela interface, procurando padrões conhecidos na carga útil onde o código malicioso normalmente fica oculto. Com o Snort, você pode realizar operações de busca e correspondência em cada pacote que passa pela rede de uma organização e detectar vários tipos de ataques e tráfego ilegítimo em tempo real.

Requisitos para cheirar

Para executar o Snort, você precisa de um computador Windows equipado com pelo menos um adaptador de rede. É melhor ter dois adaptadores de rede, um conectado à rede controlada e outro à rede de produção; este último encaminha os relatórios. O Snort é compatível não apenas com o Windows 2000 Server e versões posteriores, mas também com o Windows XP Professional Edition, XP Home Edition e Windows 2000 Professional. Nenhuma licença de servidor é necessária. Eu conecto meu laptop XP Pro a muitas redes de clientes todos os dias e geralmente executo o Snort como um serviço. Dessa forma, o programa é executado em segundo plano, detectando quaisquer ataques ao meu sistema vindos daquela rede cliente. Eu uso o Snort como sensor portátil - o programa atua como um NIDS para qualquer porta à qual o laptop esteja conectado.

Em redes pequenas, o Snort pode ser implantado em um servidor básico. Não é necessária uma máquina dedicada de alta potência para detectar tentativas de acesso não autorizado. Por exemplo, ouvi falar de nós Snort baseados em FreeBSD com processadores de 1 GHz e 1 GB de RAM atendendo com sucesso redes com 15.000 usuários e vários links WAN T-3. Graças à eficiência do código-fonte do Snort, não é necessária uma máquina muito poderosa para executar o programa.

Qual é o melhor local na rede para localizar o NIDS? O primeiro pensamento é colocar o dispositivo na frente do firewall. É aqui que o NIDS detectará a maioria dos ataques, mas o número de falsos positivos também será maior e o administrador receberá muitos avisos inúteis sobre o perigo. Você não deve se preocupar com ameaças bloqueadas por um firewall; é mais importante detectar programas perigosos que estão por trás dele. Portanto, é melhor colocar o Snort atrás do firewall de qualquer maneira.

Entretanto, se os usuários se conectarem à rede através de uma conexão VPN (através da Internet ou link sem fio), faz sentido colocar o NIDS mais atrás do firewall, como atrás de um servidor VPN ou concentrador, onde os pacotes são descriptografados à medida que saem do firewall. Túnel VPN. Caso contrário, o NIDS não será capaz de combater o malware incorporado no tráfego VPN, uma vez que os pacotes analisados ​​serão criptografados. O mesmo se aplica ao tráfego SMTP criptografado, arquivos .zip criptografados anexados a mensagens de e-mail e outros tipos de dados criptografados.

Idealmente, o NIDS deve ser colocado suficientemente atrás de qualquer componente que criptografe o tráfego e próximo o suficiente do perímetro da rede para analisar o tráfego no maior número possível de segmentos e sub-redes. Em um ambiente de rede comutada, um switch normalmente requer uma porta de diagnóstico para coletar todos os pacotes que passam pela rede. Como resultado, o NIDS tem acesso conveniente a todo o tráfego da rede.

Agora que você está familiarizado com o Snort e conhece seus requisitos de hospedagem, você pode instalar e testar o NIDS. Para obter mais informações sobre o Snort, consulte os documentos vinculados na barra lateral "Recursos da Web". Este processo consiste em sete etapas:

  1. Instalando WinPcap
  2. Instalando o Snort
  3. Testando o Snort
  4. Configurando o Snort
  5. Definindo regras
  6. Configurando alertas e registros
  7. Executar como um serviço

Etapa 1. Instalando o WinPcap

O Snort é essencialmente um analisador de rede em modo promíscuo, portanto requer suporte de driver. Este suporte é fornecido pelo WinPcap. Loris Digioanni criou o WinPcap portando o driver de captura de pacotes libpcap, amplamente utilizado entre usuários Unix, para o ambiente Windows. WinPcap inclui um filtro de pacotes em nível de kernel, uma DLL de baixo nível (packet.dll) e uma biblioteca independente de sistema de alto nível (wpcap.dll, baseada em libpcap 0.6.2).

WinPcap pode ser baixado em http://winpcap.polito.it. O driver é compatível com Windows Server 2003, XP, Windows 2000, Windows NT, Windows Me e Windows 9x. WinPcap também oferece suporte ao sniffer de pacotes Ethereal de código aberto, que pode ser obtido em . Usando o Ethereal, você pode verificar se o Snort está instalado corretamente.

Após baixar o arquivo de instalação do WinPcap da rede, basta passar por diversas telas do procedimento de instalação. O maior esforço por parte do usuário é exigido pela tela onde você deve concordar com os termos da licença.

Passo 2: Instale o Snort

O próximo passo é instalar o Snort. A versão mais recente pode ser encontrada nos sites da CodeCraft Consultants ( http://www.codecraftconsultants.com/snort.aspx) ou Snort.org ( http://www.snort.org). Eu recomendo baixar o Snort da CodeCraft Consultants, pois você pode obter um executável auto-extraível desse site. O programa ainda orienta o usuário nas etapas básicas de instalação do Snort em um computador. A versão mais recente do Snort 2.1.1, build 18, foi usada na preparação deste artigo. Versões atualizadas foram lançadas.

Ao executar o programa de instalação, na primeira caixa de diálogo deve-se selecionar o modo de configuração do banco de dados para armazenar os resultados. Se você estiver usando MySQL ou um banco de dados compatível com ODBC, poderá aceitar o modo padrão (Figura 1). Mas se você for armazenar protocolos em um banco de dados Microsoft SQL Server ou Oracle, será necessário selecionar o modo apropriado e certificar-se de que o programa cliente necessário esteja disponível na máquina. O modo padrão foi usado na preparação deste artigo.

A próxima etapa é identificar os componentes do Snort que você deseja instalar. O conjunto padrão (Tela 2) está adequado, então recomendo aceitá-lo e clicar em Avançar. Na caixa de diálogo Escolher local de instalação, você deve especificar o diretório onde o Snort será implantado. Após inserir o nome do diretório, clique em Avançar para concluir o processo de instalação.

Tela 2: Selecionando Componentes de Instalação

Etapa 3: teste sua instalação do Snort

Após concluir o processo de instalação, o Snort precisa ser testado. Por padrão, o executável do Snort precisa receber dois locais: onde gravar os logs e onde encontrar o arquivo de configuração (snort.conf). Essas informações são fornecidas pelo usuário ao executar o Snort na linha de comando usando as opções -l e -c, respectivamente. Por exemplo, o comando

Snort -l F:snortlog -c F:snortetcsnort.conf -Um console

informa ao programa que os logs devem ser gravados no diretório F:snortlog e que snort.conf está localizado no diretório F:snortetc. A opção -A especifica o método para transmitir avisos gerados pelo programa. Neste exemplo, avisos são exibidos na tela do console para que o administrador possa verificar se o Snort está funcionando corretamente. Observe que no artigo o comando é impresso em várias linhas, mas na janela de comando ele deve ser inserido em uma linha. O mesmo se aplica aos outros comandos multilinhas deste artigo. Muitas opções de linha de comando do Snort diferenciam maiúsculas de minúsculas, portanto você deve inserir os comandos exatamente como eles são digitados.

Se o sistema tiver múltiplas interfaces de rede, então, por padrão, o Snort escuta na primeira interface que descobre. Se a ordem das interfaces de rede em uma máquina for desconhecida, você poderá executar o comando Snort com uma única opção -W. O Snort lista os nomes e números das interfaces de rede na ordem em que o programa as detecta. Para forçar o Snort a usar uma interface de rede específica, você deve inserir a opção -i com o número da interface ao iniciar o Snort. Após executar o Snort, a tela exibirá informações semelhantes às mostradas em tela 3 .

Depois de executar o Snort, você pode testar sua sensibilidade enviando tráfego especialmente preparado para o NIDS. Uma das maneiras mais fáceis de acionar um aviso é chamar o interpretador de comandos (cmd.exe) na máquina remota como parte de uma solicitação de URL HTTP (uma técnica comum para worms Code Red e Nimda). Para simular esta fase do ataque, acesse qualquer URL e acrescente os caracteres /cmd.exe ao final da solicitação. Por exemplo, em resposta a uma chamada para http://www.a-website-that-I-can-trust.com/cmd.exe, o Snort deve exibir um aviso na janela de comando semelhante em aparência aos três primeiros avisos sobre tela 4. Essas mensagens são gravadas no log F:snortlog.

Os sites alvo para teste devem ser selecionados com cuidado. Do ponto de vista técnico, a maioria dos administradores de sites consideraria tais ações uma tentativa de hacking. Esta tentativa não terá sucesso (a menos que haja erros graves na configuração do servidor), mas recomendo testar apenas com seu próprio servidor ou com um servidor confiável cujos administradores estejam cientes dos testes.

Se o teste não for possível, outra maneira de testar o Snort é enviar uma solicitação de eco excepcionalmente longa pela rede para um servidor ou computador com o Snort em execução. Por exemplo, você pode usar o comando Ping

Ping -l 32767 endereço_ip

onde ip_address é o endereço IP do servidor de destino ou computador Snort. Este comando deve enviar um pacote muito longo (comprimento exato - 32 KB), o que é claramente incomum para um comando Ping. O Snort deve detectar este pacote, como visto nos oito avisos inferiores em tela 4 .

Se receber avisos, você poderá começar a configurar o Snort para suas condições específicas. Caso contrário, é necessário voltar ao procedimento de instalação e verificar se alguma etapa foi ignorada.

Etapa 4: configurando o Snort

Os dados básicos de configuração do Snort são armazenados no arquivo snort.conf, que por padrão está localizado no diretório %systemdrive%snortetc. O arquivo pode ser deixado nesta pasta ou movido para outra se você especificar o caminho para o programa na linha de comando.

Uma descrição detalhada de todos os parâmetros presentes no snort.conf poderia ocupar uma edição inteira de revista, já que o Snort é um programa incrivelmente poderoso. Por enquanto, consideraremos apenas seus parâmetros principais.

Para distinguir o tráfego de entrada do tráfego de saída, você precisa informar ao Snort os hosts e os endereços IP da sua rede corporativa. Para inserir essas informações, a variável HOME_NET deve ser definida no arquivo snort.conf. Você deve encontrar a linha

Var HOME_NET qualquer

e substitua-o por um intervalo de endereços IP. Você pode especificar um intervalo, por exemplo

Var HOME_NET 192.168.0.1/24

ou vários intervalos. Ao especificar vários intervalos, você deve colocar o conjunto de intervalos entre colchetes e separar cada intervalo com uma vírgula. Você não pode inserir espaços entre intervalos de endereços IP. Por exemplo, a linha

Var HOME_NET

informa ao Snort que as sub-redes 10.0.1.0/24, 10.0.2.0/24 e 10.0.3.0/24 pertencem à rede corporativa. Por padrão, o Snort trata todos os outros endereços como externos. Você pode especificar explicitamente quais redes devem ser consideradas externas definindo a variável EXTERNAL_NET. No arquivo snort.config você precisa encontrar a linha

Var EXTERNAL_NET qualquer

e substitua-o pelo endereço IP da rede que deve ser considerada externa. Entretanto, geralmente é melhor deixar a variável EXTERNAL_NET definida como any para começar.

Depois de passar algum tempo, você poderá identificar os tipos de servidores que sua empresa possui e suas localizações. Essas informações estão contidas nas variáveis ​​DNS_SERVERS, SMTP_SERVERS, HTTP_SERVERS, SQL_SERVERS e TELNET_SERVERS nas seguintes linhas do arquivo snort.conf:

Var DNS_SERVERS $HOME_NET var SMTP_SERVERS $HOME_NET var HTTP_SERVERS $HOME_NET var SQL_SERVERS $HOME_NET var TELNET_SERVERS $HOME_NET var SNMP_SERVERS $HOME_NET

Por padrão, todas as seis variáveis ​​do servidor são definidas como $HOME_NET; isso significa que o Snort monitorará todos os tipos de ataques em todos os sistemas na faixa HOME_NET. Esta configuração é bastante aceitável para uma rede pequena cujos administradores toleram um certo número de alertas falsos. Mas para monitorar tráfego pesado, é aconselhável ajustar o Snort para verificar apenas parte das assinaturas de determinados nós. Não faz sentido proteger um servidor Web executando apenas o Microsoft IIS contra ataques de buffer overflow do SQL. Para definir uma classe de host específica, você deve substituir $HOME_NET por um intervalo de endereços IP do servidor de destino de acordo com o formato usado para a variável HOME_NET. Por exemplo, para a variável DNS_SERVERS, em vez de $HOME_NET, você deve substituir o intervalo de endereços IP dos servidores DNS.

A precisão do ajuste pode ser melhorada identificando as portas usadas pelos servidores para aplicativos específicos. Por exemplo, se os servidores Web usarem uma porta especial 8080 para tráfego HTTP em vez da porta 80 (esta porta normalmente é usada para servidores Web e navegadores), você poderá configurar o Snort para monitorar a porta 8080 alterando a variável HTTP_PORTS. No snort.conf você deve encontrar a linha

Var HTTP_PORTS 80

e substitua-o pela linha

Var HTTP_PORTS 8080

Da mesma forma, você pode alterar as portas do Oracle (definidas pela variável ORACLE_PORTS) e de outros aplicativos. Assim como a variável HTTP_PORTS, o padrão ORACLE_PORTS é 80. Se o servidor usar a porta 1521, a string seria semelhante a

Var ORACLE_PORTS 1521

Portanto, existem muitas configurações que podem ser definidas no arquivo snort.conf. Você deve revisar o snort.conf para encontrar as configurações mais importantes para o seu ambiente específico e configurá-las adequadamente.

Etapa 5. Definindo as regras

Uma das linhas do snort.conf contém a variável RULE_PATH. Um exemplo desta linha:

Var RULE_PATH ../rules

A opção ../rules especifica que as regras (ou seja, assinaturas) podem ser encontradas no diretório de regras, que está no mesmo nível dos binários do Snort na estrutura de diretórios. Assim, por exemplo, se você instalar o Snort na pasta genérica F:snort, os binários do Snort estarão em F:snortin e as regras estarão em F:snort ules. Você pode alterar a variável RULE_PATH se desejar, mas a opção padrão é adequada.

As regras são a base do Snort. São sequências de bytes, assinaturas de ataques e outros tipos de dados que, ao serem detectados, geram um alerta. Snort tem mais de 1.500 assinaturas prontas.

Como é a regra? A regra para cmd.exe que foi violada durante o teste do Snort é semelhante a esta: alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-IIS cmd.exe access"; flow:to_server, estabelecido; content: " cmd.exe"; classtype: ataque de aplicativo da web; sid: 1002;). Vejamos os principais componentes da regra. O link $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS especifica que apenas o tráfego vindo de fora para a rede (conforme definido pela variável EXTERNAL_NET) deve ser analisado. O parâmetro content: especifica uma pesquisa por uma sequência de caracteres cmd.exe no fluxo de dados. Quando o Snort detecta tal sequência, ele gera um aviso especificado pelo parâmetro msg:.

Como você pode ver no exemplo do cmd.exe, as regras são basicamente simples. Você pode criar suas próprias regras para qualquer tipo de tráfego. Por exemplo, se quiser detectar tentativas não autorizadas de acesso remoto a um diretório em uma máquina por meio do interpretador de comandos, você poderá procurar o volume na unidade ou o número de série do volume em portas onde eles raramente são encontrados, como portas de saída. Graças à abordagem flexível para atribuição de regras, os administradores recebem amplas opções de configuração do Snort.

As 1.500 regras do Snort são armazenadas em diferentes arquivos de acordo com os tipos de dados que estão sendo analisados. Por exemplo, a regra para cmd.exe está no arquivo web-iis.rules. Se a empresa não usar o IIS, o programa não precisará detectar ataques do IIS. O arquivo web-iis.rules pode ser facilmente removido totalmente da configuração, localizando e comentando a linha

Incluir $RULE_PATH/web-iis.rules

no arquivo snort.conf. Para transformar uma linha em comentário, preceda-a com um símbolo (#):

#inclui $RULE_PATH/web-iis.rules

Por padrão, alguns tipos de arquivos de regras (por exemplo, icmp-info.rules, chat.rules) são representados por comentários no snort.conf. A configuração padrão de regras no snort.conf é muito boa. Após ativar regras bloqueadas, o programa geralmente gera muitos avisos desnecessários.

Alguns arquivos contêm diversas regras úteis, mas algumas regras geram muitos avisos desnecessários. Para desabilitar uma regra específica, você precisa marcar a linha correspondente no arquivo de regras como um comentário. No futuro, o Snort irá ignorar esta regra ao trabalhar com o arquivo.

Quando novas fontes de ameaças aparecem, o arquivo de regras deve ser atualizado. O melhor recurso para novas regras é Snort.org. Este site não possui um serviço de atualização automática, portanto o administrador terá que verificar regularmente se há atualizações quando surgir uma nova ameaça.

Etapa 6: configurar alertas e registros

Conforme observado, o Snort fornece registro de informações em bancos de dados MySQL, SQL Server, Oracle e compatíveis com ODBC. Basta selecionar o tipo de banco de dados apropriado durante o processo de instalação do Snort. Para não aumentar excessivamente a extensão do artigo, consideraremos os modos de registro padrão usando um arquivo de texto e a função de gravar mensagens no log de eventos do Windows.

Ao executar o NIDS usando o comando Snort, a opção de console -A faz com que avisos sejam exibidos na tela. Para encaminhar mensagens para um arquivo de texto, você deve substituir essa opção por -A rápido ou -A completo, dependendo do modo de registro de sua preferência. O parâmetro completo exibe uma descrição detalhada da ameaça em várias linhas de um arquivo de texto denominado alerts.ids no diretório, cujo caminho é especificado pela opção -l. Esse tipo de registro fornece detalhes abrangentes, mas pode ser difícil de entender se houver muitos eventos registrados na rede. Nessas redes “ruidosas”, é recomendado usar o modo rápido para adicionar entradas de uma linha aos alerts.ids contendo as principais características do tráfego suspeito. Na minha opinião, trabalhar com um arquivo de texto no modo rápido é mais fácil do que no modo completo.

A versão atual do Snort fornece registro no log de eventos do Windows. Muitas organizações já adquiriram ferramentas centralizadas de monitoramento de eventos, registro e coleta de dados, e esse recurso seria um ótimo complemento para o ambiente Windows.

Para gravar avisos no log de eventos do aplicativo do sistema no qual o Snort está sendo executado, use a opção -E em vez da opção -A (os parâmetros são opcionais). A Figura 5 mostra a aparência de um evento do Snort (neste caso, uma tentativa de acessar cmd.exe) publicado no log do aplicativo. O evento do Windows fornece as mesmas informações detalhadas que a tela do console.

O NIDS é inútil se o administrador examinar os logs de eventos (ou logs de texto) uma vez por semana. Se algo acontecer na rede, o administrador deve saber imediatamente. Um sistema centralizado de monitoramento e processamento de eventos pode enviar mensagens via e-mail, pager e outros dispositivos de comunicação. Mas se não existir tal sistema, isso não é motivo de preocupação. NETIKUS.NET oferece um pacote EventSentry Light gratuito que pode ser usado para enviar alertas.

EventSentry Light é uma versão de teste do EventSentry e pode ser baixada em http://www.netikus.net/products_downloads.html. Com o EventSentry Light, você pode configurar seu sistema para monitorar logs de eventos e enviar automaticamente mensagens de e-mail detalhadas sobre quaisquer eventos do Snort registrados no log. Sobre tela 6 mostra uma mensagem de e-mail sobre tentativas de ataque ao cmd.exe. Recebi esta mensagem do EventSentry Light alguns segundos após o ataque.

Conforme mencionado acima, o Snort normalmente gera uma tonelada de mensagens desnecessárias que preenchem rapidamente os logs de eventos. Isso é algo para se ter em mente ao escolher tamanhos de arquivo para logs de eventos e como girá-los. Para evitar que o EventSentry Light inunde sua caixa de entrada com mensagens sobre eventos menores, você pode criar um filtro para pesquisar sequências de chaves. Por exemplo, organizei um filtro de busca por uma string no texto das mensagens.

Etapa 7: execute como um serviço

Quando terminar, você pode executar o Snort como um serviço, em vez de precisar fazer login no seu computador desktop toda vez que quiser executar o programa. Se você executar o Snort com as opções /SERVICE e /INSTALL (juntamente com outras opções de linha de comando), o Snort será configurado para ser executado como um serviço do Windows e será iniciado automaticamente com o Windows sem intervenção do usuário.

Próximo nível: módulos de expansão

Snort é um aplicativo completo. Contudo, em alguns casos, o programa precisa ser ampliado. Por exemplo, se vários NIDS forem implantados em diferentes partes da rede, será conveniente gerenciar o Snort a partir da interface gráfica. Esses recursos são implementados nos módulos de extensão IDScenter da Engage Security e IDS Policy Manager da Activeworx. Às vezes é necessário analisar as informações contidas nas mensagens. Você pode visualizar e analisar dados armazenados usando o módulo Analysis Console for Intrusion Databases (ACID) desenvolvido na Carnegie Mellon University.

Proteção confiável

Snort é um programa completo que não prejudicará o orçamento da empresa. Ao combinar o Snort com um poderoso aplicativo de monitoramento de eventos, como o EventSentry Light, você pode prevenir proativamente ataques contra sua rede.

MINISTÉRIO DA EDUCAÇÃO E CIÊNCIA DA FEDERAÇÃO RUSSA

Instituição estadual de ensino de ensino profissional superior

"UNIVERSIDADE DO ESTADO DE SÃO PETERSBURGO
ENGENHARIA DE INSTRUMENTOS AEROESPACIAIS"

TRABALHO DO CURSO (PROJETO)
PROTEGIDO COM AVALIAÇÃO EXCELENTE

SUPERVISOR

Professor Associado, Ph.D., Professor Associado

posição, acadêmico grau, classificação

data de assinatura

iniciais, sobrenome

NOTA EXPLICATIVA DO TRABALHO DO CURSO (PROJETO)

Pratique usando o IDS SNORT

disciplina: engenharia e segurança técnica da informação

TRABALHO CONCLUÍDO)

ESTUDANTE(KA) GR.

data de assinatura

iniciais, sobrenome

São Petersburgo 2011

1.. O que é Snort? 2

2. Modo farejador: 2

3. Modo de registro de pacotes. 6

4. Modo de detecção de intrusão de rede. 6

1. O que é Snort?

Snort é um sistema leve de detecção de intrusão. O Snort é geralmente chamado de NIDS / descriptografar, traduzir / - “leve” porque foi projetado principalmente para redes pequenas. O programa pode realizar análises de protocolo e ser usado para detectar uma variedade de ataques.

O Snort usa "regras" (especificadas nos arquivos de "regras") para saber qual tráfego permitir e qual bloquear. A ferramenta é flexível, permitindo anotar novas regras e segui-las.

O Snort pode funcionar em 3 modos principais:

· Modo Sniffer: permite simplesmente capturar pacotes da rede e exibi-los na tela (geralmente no console)

· Modo de registro de pacotes: permite salvar pacotes em seu disco rígido


· O modo Intrusion Detection System (NIDS) é a configuração mais sofisticada e personalizável que permite analisar o tráfego de rede com base em um conjunto de regras definido pelo usuário.

2. Modo farejador:

No modo de detecção de pacotes, o Snort simplesmente lê os pacotes vindos da rede e os exibe na tela. Para exibir cabeçalhos de pacotes TCP/IP, você deve executar:

bufar –v

Este comando exibe cabeçalhos de pacotes IP e TCP/UDP/ICMP. Você pode ver de onde os pacotes foram enviados, para onde, para quantos /endereços?/. As figuras/desenhos devem ser numerados para referência. Não há link - isso significa que a imagem não é necessária / é claro que existem dois endereços de saída / de onde você pode vê-la? Decifre os formatos das entradas na figura ou pelo menos consulte o número da linha/

Para entender quais são esses endereços, basta executar o comando

Informação do sistema


Da foto / já - fotos. e não desenhos? A uniformidade deve ser mantida dentro do documento! Ou é outra coisa?/ Fica claro quais são esses endereços de saída. /bem, liste-os - ou pelo menos indique-os. que seus números são dados entre colchetes/

Para visualizar os dados contidos nos pacotes, você deve inserir:

bufar-vd

https://pandia.ru/text/78/320/images/image004_112.jpg" alt="detail_output.jpg" width="589" height="338">!}

As opções podem ser fornecidas em qualquer formato, por exemplo: "snort - vde", "snort - d - ev" e "snort - e - v -d".

O Snort continuará coletando informações até ser interrompido. Para concluir a captura de pacotes, você deve pressionar Ctrl-C. Após pressionar Ctrl-C, um relatório dos pacotes capturados será exibido. Abaixo está o relatório após executar o Snort por cerca de um minuto.

No instantâneo você pode ver que a maioria dos pacotes analisados ​​são pacotes TCP/IP. Pacotes UDP também foram capturados.

3. Modo de registro de pacotes

O modo de registro de pacotes permite gravar um fluxo de informações no disco. Isso é útil ao realizar análises durante um período de tempo ou verificar alterações nas configurações e políticas de segurança.
Você precisa criar e especificar um diretório para logs, e o Snort mudará automaticamente para o modo de registro de pacotes.

Exemplo: criando um diretório Histórico e corra:

bufar - dev - l../log

Como resultado da operação /onde, onde procurar, como indicar o local desejado?/ o arquivo snort. log.. Os números no final dos novos nomes de arquivos são carimbos de data e hora, o que ajuda a evitar conflitos ao criar arquivos. /um exemplo de arquivo de log é desejável/

4. Modo de detecção de intrusão de rede

O terceiro modo do Snort é o modo Network Intrusion Detection (NIDS).

Em sua forma básica, uma regra do Snort /onde estão armazenadas?/ possui duas partes: um cabeçalho e parâmetros. Abaixo está um exemplo de regra.

alert tcp any any -> any any (conteúdo: "www."; msg: "Alguém está visitando o youtube agora"; sid:1000002; rev:1)

O modelo de estrutura de regras pode ser representado? Ele está codificado ou pode ser alterado? esperamos que os elementos entre colchetes sejam opcionais. conhecido. Mas existem separadores especiais entre eles / de acordo com o seguinte esquema:

<действие_правила> <протокол> <порт> <оператор_направления>


<порт>([meta_dados] [pacote_contents_data]

[data_in_header] [action_after_detection])

As ações de regra são divididas nas seguintes categorias:

1. alerta - Crie um alerta usando o método selecionado e reporte as informações ao sistema de registro.

2. registro - Use um sistema de registro para registrar informações do pacote.

3. passar - Ignore o pacote.

4. ativar - Use outra regra dinâmica.

5. dinâmico - Após a execução da regra ativa, a regra com o procedimento de registro é ativada.

6. derrubar - Descarte o pacote usando um firewall de software e relate as informações ao sistema de registro

7. soltar - Descarte o pacote usando um firewall de software e não use o sistema de registro.

8. rejeitar - Usando um firewall, descarte o pacote se o protocolo for TCP, ou escreva uma mensagem no arquivo de log: A porta ICMP não está disponível se o pacote chegar via protocolo UDP

A segunda parte da regra do Snort são as opções que especificam detalhes adicionais do tráfego detectado. Você pode pesquisar por um conjunto de campos no cabeçalho TCP/ ou pela carga útil do pacote. Cada opção deve ser seguida de aspas e do valor que se busca. Você pode adicionar várias opções separando-as com ponto e vírgula. As opções a seguir são válidas.

sid – um rótulo exclusivo identificando a regra. Esta opção deve ser usada com a opção rev .

<100 зарезервировано для дальнейшего использования

100-999.999 regras já reservadas

>=1.000.000 de regras definidas pelo usuário

rev- valor da versão da regra. Usando o interpretador de regras rev

Snort determina a versão da regra escrita.

Você pode executar o Snort no modo IDS com o comando:

snort - c "D:\Arquivos de Programas\Snort\etc\snort. conf" - l " D:\Arquivos de Programas\Snort\log" - Um console - i 1

chave -Com significa que o modo IDS está ativado

chave eu ativa o modo de gravação no disco rígido indicando o caminho para o arquivo

chave A mostra que todos os avisos (alertas) serão duplicados pela saída do console

chave eu indica o número do índice da interface em que estamos interessados

para descobrir as interfaces suportadas, você precisa executar o comando:

bufar C

Conteúdo do arquivo bufar. conf

Conteúdo do arquivo *****les:

No arquivo bufar. conf você pode conectar regras usando a palavra-chave incluir .

Resultado do comando:

Pode-se observar que o Snort detectou uma tentativa de acesso a um site “perigoso”.

Não há informações sobre a fonte de onde a distribuição foi retirada ou sobre o sistema operacional no qual a pesquisa foi realizada

No geral o trabalho é muito interessante. /