Tutorial: Instalando e configurando (IDS/IPS) Snort IDS

Tutorial: Instalando e configurando (IDS/IPS) Snort IDS

Tutorial: Instalando e configurando (IDS/IPS) Snort IDS

 

Introdução

Um sistema de detecção de intrusão (IDS) que inspeciona todas as atividades de rede – entrada e saída, identifica padrões suspeitos que podem indicar uma rede ou sistema que esteja realizando algum tipo de ataque e posteriormente tentando invadir e comprometer o sistema.

Um IDS difere de um firewall – Este que inspeciona o tráfego e faz o bloqueio a partir das regras especificadas pelo administrador. Um IDS por outro lado, inspeciona e avalia o tráfego para determinar se ele é suspeito, O IDS pode gerar alertas baseados na análise e regras configuradas.

Existem vários locais que um IDS pode ser localizado. A seguir, são dois exemplos de locais de colocação.

Nosso primeiro exemplo, mostra o IDS por trás de um firewall. Dados que entram na rede local (LAN) é espelhado para a porta do IDS que está conectado. A interface do IDS está em modo promíscuo permitindo-a inspecionar todo o tráfego proveniente da rede.

ids_mirror_firewall

No segundo exemplo, uma estação de trabalho atuando como IDS.

ids_workstation

Ambos os exemplos acima estão monitorando o firewall para garantir que nenhum tráfego suspeito na rede. Como foi citado anteriormente, existem vários locais que um IDS pode ser implantado. Um cenário adicional seria um IDS na frente do firewall, um IDS atrás do firewall. Isso permitirá você saber onde o tráfego suspeito está vindo, seja da internet (WAN) ou proveniente do firewall ou até mesmo da sua rede.

Neste pequeno tutorial, vamos instalar e configurar um IDS.

Pré-requisitos

 

Configuração do sistema

Para começar, peço-lhes que possuam uma instalação do Ubuntu ou Debian – ambas na última versão.

Para facilitar a visualização dos dados relacionados ao Snort, vamos instalar um front-end baseado na web, o Console de Análise para Detecção de Intrusão (ACID) vai servir a esse propósito.

Servidor LAMP

Com console aberto e autenticado, realize a instalação do LAMP:

sudo apt-get install lamp-server

No processo de instalação, será questionado de sobre a senha do MySQL, não se esqueça de defini-la

lamp_install

A suíte LAMP não serve apenas como um servidor Web para o ACID, mas também servirá como um backend do MySQL para Snort.

Snort

Deve-se criar o banco de dados para ser utilizado pelo Snort.

Instalação Snort

Vamos dar início a instalação do Snort!

sudo apt-get -y install snort-mysql

Deve-se notar que será solicitado a digitar o endereço IP para a rede local em formato Classless Inter-Domain Routing (CIDR).

local_net_address_range

No final da instalação do Snort, será solicitado se deseja configurar um banco de dados para usá-lo com o Snort, escolha não, vamos configurar manualmente Snort para se conectar ao nosso banco de dados criado anteriormente.

Você receberá um aviso semelhante a este: Snort will not start as its database is not yet configured. (Snort não vai começar com seu banco de dados, ele ainda não está configurado.)

Configuração do Snort

Devemos atualizar nosso banco de dados com a estrutura de tabela do Snort:

pushd /usr/share/doc/snort-mysql
sudo zcat create_mysql.gz | mysql -u snort -p snort
# The syntax is: mysql -u <username> -p <prompt for password> <database>
popd

Devemos modificar o arquivo de configuração do Snort para incluir nossas informações específicas do MySQL.

sudo sed -i "s/output\ log_tcpdump:\ tcpdump.log/#output\ log_tcpdump:\ tcpdump.log\noutput\ database:\ log,\ mysql, user=snort password=password dbname=snort host=localhost/" /etc/snort/snort.conf

A linha acima foi localizado na linha 786 do arquivo /etc/snort/snort.conf. O trecho simplesmente coloca um comentário na frente da saída para o log, e acrescenta a linha de saída para o nosso banco de dados.

Remova o arquivo de configuração do banco de dados do Snort.

sudo rm -rf /etc/snort/db-pending-config

Inicie o Snort

sudo /etc/init.d/snort start

Verifique se o daemon do Snort foi iniciado com sucesso:

sudo /etc/init.d/snort status
tail /var/log/daemon.log

ACID

Instalação ACID

Em seguida, vamos instalar um web front-end (ACID) para monitorar a saída do Snort.

sudo apt-get -y install acidbase

Durante o processo de instalação do acidbase, você será solicitado a configurar um banco de dados para ele, escolha sim e usar o MySQL como tipo de banco de dados. Você será solicitado a fornecer a senha de administrador do banco de dados. Esta é a mesma senha que foi usada quando o MySQL foi inicialmente instalado com o LAMP.

acidbase_install

Ao entrar com a senha de administrador do banco de dados, você será solicitado a criar uma senha para usuário acidbase no MySQL para se conectar ao banco. Neste tutorial vou usar a mesma senha do usuário snort.

Configuração ACID

Quando instalado, o front-end acidbase web está configurado para permitir apenas o acesso a partir do localhost, modifique a configuração do HTTP acidbase para permitir que outras estações de trabalho possam se conectar.

sudo sed -i "s#allow\ from\ 127.0.0.0/255.0.0.0#allow\ from\ 127.0.0.0/255.0.0.0\ 10.10.1.10/255.255.255.0#" /etc/acidbase/apache.conf

No trecho acima, estou permitindo o acesso a acidbase do meu desktop que tem o endereço IP 10.10.1.10/24.

Dê um restart no Apache para as alterações de configuração acidbase tenham efeito.

sudo /etc/init.d/apache2 restart

Teste IDS

Para testar o Snort e acidbase, execute um portscan no servidor do Snort.

sudo nmap -p1-65535 -sV -sS -O snort.home.local

Atualize a página do acidbase e você deverá ver os resultados da sua varredura de portas.

Gostou deste Tutorial? Curta e compartilhe nas redes sociais!

Jean Oliveira

Profissional de Tecnologia da Informação com 10 anos de experiência em empresas de diversos portes. Ampla experiência em administração de servidores Windows, implantação e administração de serviços AD, DNS, DHCP, DFS, GPO, WDS e WSUS. Forte atuação em suporte e administração de servidores virtuais com Hyper-V e VMWare, conhecimentos avançados em Veeam Backup e Veritas BackupExec. Experiência em suporte e administração de Citrix Virtual Apps e Desktops. Vivencia em monitoramento de redes e servidores com Zabbix e SolarWinds. Conhecimentos avançados em desenvolvimento de scripts para automação de tarefas com PowerShell. Foco na melhoria da experiência do usuário e redução de custos operacionais. Capacidade de análise de problemas em ambientes de missão crítica propondo soluções rápidas e efetivas, profissional dinâmico, comprometido, proativo e diligente.

Related Posts
Comment ( 1 )
  1. JuLIANO NASCIMENTO
    18 de março de 2022 at 12:06
    Reply

    bOM DIA GOSTARIA DE SABER COMO FAZER PARA QUE O SNORT VERIFIQUE UM DATASET EM FORMATO .CSV.
    qUERIA FAZER A ANÁLISE DESTE DATASET UTILIZANDO O SNORT PARA VERIFICAR SE ELE IDENTIFICA OS ATAQUES ddO’S E GERA O ARQUIVO DE IDS SINALIZANDO OS POSSÍVEIS ATAQUES.
    mEU sO É wINDOWS, CONSEGUI INSTALAR O SNORT E XECUTAR ELE NA REDE, MAS PARA ABRIR UM ARQUIVO .CSV NÃO CONSEGUI AINDA. tEM ALGUM CÓDIGO QUE PRECISA INSERIR NO ARQUIVO SNORT.CONF PARA FUNCIONAR?

Leave a reply
Captcha Click on image to update the captcha .