Header Ads

Como usar o sistema de detecção de intrusão Snort no Linux

Shutterstock / RussieseO

Execute o Snort no Linux e proteja sua rede com análise de tráfego em tempo real e detecção de ameaças. A segurança é tudo, e o Snort é de classe mundial. Este porco pode salvar seu bacon.

O que é Snort?

Snort é um dos sistemas de detecção de intrusão de rede (NIDS) mais conhecidos e amplamente usados. Foi considerado um dos projetos de código aberto mais importantes de todos os tempos. Originalmente desenvolvido pela Sourcefire, é mantido pelo Talos Security Intelligence and Research Group da Cisco desde que a Cisco adquiriu a Sourcefire em 2013.

O Snort analisa o tráfego da rede em tempo real e sinaliza qualquer atividade suspeita. Em particular, ele procura por qualquer coisa que possa indicar tentativas de acesso não autorizado e outros ataques à rede. Um conjunto abrangente de regras define o que é considerado “ suspeito ” e o que o Snort deve fazer se uma regra for acionada.

Da mesma forma que os pacotes de antivírus e antimalware contam com definições de assinatura de vírus atualizadas para poder identificar e proteger você das ameaças mais recentes, o Snort ’ as regras são atualizadas e reeditadas com frequência para que o Snort esteja sempre operando com sua eficácia ideal.

As regras do Snort

Existem três conjuntos de regras:

  • Regras da comunidade: Estes são conjuntos de regras disponíveis gratuitamente, criados pela comunidade de usuários do Snort.
  • Regras registradas: Esses conjuntos de regras são fornecidos pelo Talos . Eles também estão disponíveis gratuitamente, mas você deve se registrar para obtê-los. O registro é gratuito e leva apenas alguns minutos. Você receberá um oinkcode pessoal que precisa incluir na solicitação de download.
  • Regras de assinatura: Estas são as mesmas regras que as regras registradas. No entanto, os assinantes recebem as regras cerca de um mês antes de serem lançadas como conjuntos de regras gratuitas para usuários registrados. No momento em que este artigo foi escrito, as assinaturas de 12 meses custavam a partir de US $ 29 para uso pessoal e US $ 399 para uso comercial.

Instalando o Snort

Antigamente, instalar o Snort era um processo manual demorado. Não foi difícil, mas havia muitas etapas e era fácil perder uma. As principais distribuições do Linux simplificaram as coisas ao disponibilizar o Snort em seus repositórios de software.

Publicidade

As versões nos repositórios às vezes ficam atrás da versão mais recente disponível no site do Snort. Se desejar, você pode baixar e instalar a partir do código-fonte. Contanto que você tenha as regras mais recentes, não importa muito se o seu Snort não for o mais recente e o melhor, contanto que não seja antigo.

Para pesquisar este artigo, instalamos o Snort no Ubuntu 20.04, Fedora 32 e Manjaro 20.0.1.

Para instalar o Snort no Ubuntu, use este comando:

 sudo apt-get install snort 

À medida que a instalação prossegue, serão feitas algumas perguntas a você. Você pode encontrar as respostas para essas perguntas usando o comando ip addr antes de iniciar a instalação ou em uma janela de terminal separada.

 endereço IP 

Anote o nome da sua interface de rede. Neste computador de pesquisa, é enp0s3.

Além disso, observe o seu endereço IP. Este computador tem um endereço IP de 192.168.1.24. O extra “ / 24 ” é a notação de roteamento entre domínios sem classes (CIDR). Isso nos diz a faixa de endereços de rede. Isso significa que essa rede tem uma máscara de sub-rede de 255.255.255.0, que tem três conjuntos principais de oito bits (e 3 x 8 = 24). Você não precisa se preocupar muito com isso, basta registrar o que quer que seu endereço IP esteja incluindo a notação CIDR. Você precisa fornecer isso como a resposta a uma das perguntas, com o último octeto do endereço IP alterado para zero. Em nosso exemplo, é 192.168.1.0/24.

Pressione “ Tab ” para destacar o “ OK ” botão e pressione “ Enter. ”

Publicidade

Digite o nome da interface de rede e pressione “ Tab ” para destacar o “ OK ” botão e pressione “ Enter. ”

Digite o intervalo do endereço de rede no formato CIDR, pressione “ Tab ” para destacar o “ OK ” botão e pressione “ Enter. ”

Para instalar o Snort no Fedora, você precisa usar dois comandos:

 rpm -Uvh https://forensics. cert. org/cert-forensics-tools-release-32. rpm

 sudo dnf install snort 

No Manjaro, o comando de que precisamos não é o pacman normal, é pamac. E não precisamos usar sudo:

 pamac install snort 

Quando for perguntado se deseja construir o Snort a partir do AUR (Arch User Repository), pressione “ Y ” e pressione “ Enter. ” Não queremos editar os arquivos de compilação, então responda a essa pergunta pressionando “ N ” e pressionando “ Enter. ” Pressione “ Y ” e pressione “ Enter ” quando for perguntado se a transação deve ser aplicada.

Sua senha será solicitada.

As versões do Snort que foram instaladas foram:

  • Ubuntu: 2.9.7.0
  • Fedora: 2.9.16.1
  • Manjaro: 2.9.16.1

Você pode verificar sua versão usando:

 snort - versão 

Configurando o Snort

Existem algumas etapas a serem concluídas antes de executarmos o Snort. Precisamos editar o “ snort. conf ” arquivo.

 sudo gedit /etc/snort/snort. conf

Publicidade

Localize a linha que diz “ ipvar HOME_NET any ” e edite-o para substituir o “ any ” com o intervalo de endereços de notação CIDR de sua rede.

Salve suas alterações e feche o arquivo.

Atualizando as regras do Snort

Para ter certeza de que sua cópia do Snort está fornecendo o nível máximo de proteção, atualize as regras para a versão mais recente. Isso garante que o Snort tenha acesso ao mais novo conjunto de definições de ataque e ações de proteção.

Se você se registrou e obteve seu próprio oinkcode, pode usar o seguinte comando para baixar o conjunto de regras para usuários registrados. A página de download do Snort lista os conjuntos de regras disponíveis, incluindo o conjunto de regras da comunidade para o qual você não precisa se registrar.

Baixe o conjunto de regras para a versão do Snort que você instalou. Estamos baixando a versão 2.9.8.3, que é a mais próxima da versão 2.9.7.0 do Snort que estava no repositório do Ubuntu.

 wget https://www. snort. org/rules/snortrules-snapshot-2983. tar. gz?oinkcode=< seu código oink vai aqui > -O snortrules-snapshot-2983. tar. gz 

Quando o download for concluído, use este comando para extrair as regras e instalá-las no diretório “ / etc / snort / rules ” diretório.

 sudo tar -xvzf snortrules-snapshot-2983. tar. gc -C / etc / snort / rules 

Modo promíscuo

As placas de interface de rede geralmente ignoram o tráfego que não é destinado a seus endereços IP. Queremos que o Snort detecte tráfego de rede suspeito endereçado a qualquer dispositivo na rede, não apenas o tráfego de rede que é enviado ao computador em que o Snort está instalado.

Publicidade

Para fazer a interface de rede do computador Snort ouvir todo o tráfego da rede, precisamos configurá-lo para o modo promíscuo. O comando a seguir fará com que a interface de rede enp0s3 opere em modo promíscuo. Substitua enp0s3 pelo nome da interface de rede que você está usando em seu computador.

 sudo ip link set enp0s3 promisc on 

Se você estiver executando o Snort em uma máquina virtual, lembre-se também de ajustar as configurações em seu hipervisor para a placa de rede virtual usada por sua máquina virtual. Por exemplo, no VirtualBox, você precisa ir para Configurações > Rede > Avance e altere o “ Modo promíscuo ” menu suspenso para “ Permitir todos. ”

RELACIONADO: Como usar o comando ip no Linux

Executando o Snort

Agora você pode iniciar o Snort. O formato do comando é:

 sudo snort -d -l / var / log / snort / -h 192.168.1.0/24 -A console -c /etc/snort/snort. conf

Substitua seu próprio intervalo de IP de rede no lugar de 192.168.1.0/24.

As opções de linha de comando usadas neste comando são:

  • -d: Filtra os pacotes da camada de aplicativo.
  • -l / var / log / snort /: define o diretório de registro.
  • -h 192.168.1.0 / 24: Isso não define a rede doméstica, que foi definida em “ snort. conf ” Arquivo. Com este valor definido para o mesmo valor da rede doméstica, os logs são estruturados de forma que o conteúdo de computadores remotos suspeitos seja registrado em diretórios com o nome de cada computador remoto.
  • -A console: Envia alertas para o console janela.
  • -c /etc/snort/snort. conf: Indica qual arquivo de configuração do Snort usar.

O Snort rola uma grande quantidade de saída na janela do terminal e, a seguir, entra em seu modo de monitoramento de análise. A menos que detecte alguma atividade suspeita, você não verá mais nenhuma saída de tela.

Em outro computador, começamos a gerar atividades maliciosas que visavam diretamente nosso computador de teste, que estava executando o Snort.

O Snort identifica o tráfego de rede como potencialmente malicioso, envia alertas para a janela do console e grava entradas nos logs.

Publicidade

Ataques classificados como “ Vazamentos de informação ” Os ataques indicam que foi feita uma tentativa de interrogar seu computador em busca de algumas informações que poderiam ajudar um invasor. Isso provavelmente indica que alguém está realizando reconhecimento em seu sistema.

Ataques classificados como “ Negação de serviço ” ataques indicam uma tentativa de inundar seu computador com tráfego de rede falso. O ataque tenta sobrecarregar seu computador a ponto de não poder continuar a fornecer seus serviços.

Para verificar se o modo promíscuo está funcionando corretamente e se estamos protegendo todo o intervalo de endereços de rede, dispararemos algum tráfego malicioso em um computador diferente e veremos se o Snort o detecta.

A atividade é detectada e relatada, e podemos ver que este ataque foi direcionado contra um computador diferente com um endereço IP de 192.168.1.26. O Snort está monitorando todo o intervalo de endereços desta rede.

Próximas etapas

Para manter sua vigilância, o Snort precisa de regras atualizadas. Você poderia escrever um pequeno script e colocar os comandos para baixar e instalar as regras nele, e definir um cron job para automatizar o processo chamando o script periodicamente. O script de porco puxado é um script pronto projetado para fazer exatamente isso, caso você não queira escrever o seu próprio.

Snort não tem um front-end ou uma interface gráfica do usuário. Projetos de terceiros criaram vários e você pode querer investigar alguns deles, como Snorby e Squil.

Nenhum comentário