Como configurar o Snort no Debian

O Snort é um sistema gratuito de detecção de intrusões de rede (IDS). Em termos menos oficiais, permite monitorar sua rede em busca de atividades suspeitas em tempo real . Atualmente, o Snort possui pacotes para sistemas baseados no Fedora, CentOS, FreeBSD e Windows. O método exato de instalação varia entre os sistemas operacionais. Neste tutorial, instalaremos diretamente a partir dos arquivos de origem do Snort. Este guia foi escrito para o Debian.

Atualizar, atualizar e reiniciar

Antes de realmente colocarmos as mãos nas fontes do Snort, precisamos garantir que nosso sistema esteja atualizado. Podemos fazer isso emitindo os comandos abaixo.

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Pré-instalar configuração

Após a reinicialização do sistema, precisamos instalar vários pacotes para garantir a instalação do SBPP. Consegui descobrir vários pacotes necessários, então o comando base está abaixo.

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

Depois que todos os pacotes estiverem instalados, você precisará criar um diretório temporário para os arquivos de origem - eles podem estar em qualquer lugar que você quiser. Eu vou estar usando /usr/src/snort_src. Para criar esta pasta, você precisará estar logado como rootusuário ou ter sudopermissões - rootisso facilita.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Instalando a DAQ (Data Acquisition Library)

Antes de podermos obter a fonte do Snort, precisamos instalar o DAQ. É bastante simples de instalar.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Extraia os arquivos do tarball.

tar xvfz daq-2.0.6.tar.gz

Mude para o diretório DAQ.

cd daq-2.0.6

Configure e instale o DAQ.

./configure; make; sudo make install

Essa última linha será executada ./configureprimeiro. Então ele será executado make. Por fim, ele será executado make install. Usamos a sintaxe mais curta aqui apenas para economizar um pouco na digitação.

Instalando o Snort

Queremos ter certeza de que estamos no /usr/src/snort_srcdiretório novamente, portanto, mude para esse diretório com:

cd /usr/src/snort_src

Agora que estamos no diretório das fontes, faremos o download do tar.gzarquivo para a fonte. No momento da redação deste artigo, a versão mais recente do Snort é 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

Os comandos para realmente instalar o snort são muito semelhantes aos usados ​​para o DAQ, mas eles têm opções diferentes.

Extraia os arquivos de origem do Snort.

tar xvfz snort-2.9.8.0.tar.gz

Mude para o diretório de origem.

cd snort-2.9.8.0

Configure e instale as fontes.

 ./configure --enable-sourcefire; make; sudo make install

Pós-instalação do Snort

Depois de instalar o Snort, precisamos garantir que nossas bibliotecas compartilhadas estejam atualizadas. Podemos fazer isso usando o comando:

sudo ldconfig

Depois disso, teste sua instalação do Snort:

snort --version

Se esse comando não funcionar, você precisará criar um link simbólico. Você pode fazer isso digitando:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

A saída resultante será semelhante ao seguinte:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Snort sem root

Agora que o snort está instalado, não queremos que ele funcione como root, portanto, precisamos criar um snortusuário e um grupo. Para criar um novo usuário e grupo, podemos usar estes dois comandos:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Como instalamos o programa usando a fonte, precisamos criar os arquivos de configuração e as regras para o snort.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

Depois de criar os diretórios e as regras, agora precisamos criar o diretório de log.

sudo mkdir /var/log/snort

E, finalmente, antes que possamos adicionar regras, precisamos de um local para armazenar as regras dinâmicas.

sudo mkdir /usr/local/lib/snort_dynamicrules

Depois que todos os arquivos anteriores forem criados, defina as permissões apropriadas neles.

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Configurando os arquivos de configuração

Para economizar muito tempo e evitar copiar e colar tudo, basta copiar todos os arquivos no diretório de configuração.

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

Agora que os arquivos de configuração estão lá, você pode fazer uma de duas coisas:

  • Você pode ativar o Barnyard2
  • Ou você pode simplesmente deixar os arquivos de configuração em paz e selecionar seletivamente as regras desejadas.

De qualquer forma, você ainda vai querer mudar algumas coisas. Continue lendo.

Configuração

No /etc/snort/snort.confarquivo, você precisará alterar a variável HOME_NET. Ele deve ser definido como o bloco IP da sua rede interna para não registrar as tentativas da sua própria rede de efetuar login no servidor. Pode ser 10.0.0.0/24ou 192.168.0.0/16. Na linha 45, /etc/snort/snort.confaltere a variável HOME_NETpara esse valor do bloco IP da sua rede.

Na minha rede, fica assim:

ipvar HOME_NET 192.168.0.0/16

Então, você precisará definir a EXTERNAL_NETvariável para:

any

O que acaba se transformando EXERNAL_NETno que você HOME_NETnão é.

Definindo as regras

Agora que a grande maioria do sistema está configurada, precisamos configurar nossas regras para este porquinho. Em algum lugar em torno da linha 104 em seu /etc/snort/snort.confarquivo, você deve ver uma "var" declaração e as variáveis RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, e BLACK_LIST_PATH. Seus valores devem ser definidos para os caminhos em que usamos Un-rooting Snort.

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

Depois que esses valores forem definidos, exclua ou comente as regras atuais começando na linha 548.

Agora, vamos verificar se a sua configuração está correta. Você pode verificar com snort.

 # snort -T -c /etc/snort/snort.conf

Você verá uma saída semelhante à seguinte (truncada por questões de brevidade).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Agora que tudo está configurado sem erros, estamos prontos para começar a testar o Snort.

Teste do Snort

A maneira mais fácil de testar o Snort é habilitando o local.rules. Este é um arquivo que contém suas regras personalizadas.

Se você notou no snort.confarquivo, em algum lugar na linha 546, esta linha existe:

include $RULE_PATH/local.rules

Se você não o tiver, adicione-o em torno de 546. Você pode usar o local.rulesarquivo para teste. Como teste básico, apenas o Snort acompanha uma solicitação de ping (solicitação ICMP). Você pode fazer isso adicionando a seguinte linha ao seu local.rulesarquivo.

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

Depois de ter isso em seu arquivo, salve-o e continue lendo.

Execute o teste

O comando a seguir iniciará o Snort e imprimirá alertas de "modo rápido", conforme o usuário bufar, no grupo bufar, usando a configuração /etc/snort/snort.conf, e ele ouvirá na interface de rede eno1. Você precisará mudar eno1para qualquer interface de rede em que seu sistema esteja escutando.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

Depois de executá-lo, execute ping no computador. Você começará a ver uma saída semelhante à seguinte:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Você pode pressionar Ctrl + C para sair do programa, e é isso. O Snort está pronto. Agora você pode usar as regras que desejar.

Por fim, quero observar que existem algumas regras públicas criadas pela comunidade que você pode baixar do site oficial, na guia "Comunidade". Procure por "Snort" e, logo abaixo, há um link da comunidade. Faça o download, extraia-o e procure o community.rulesarquivo.



Leave a Comment

Configure sua própria rede privada com o OpenVPN

Configure sua própria rede privada com o OpenVPN

O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Usando um sistema diferente? O Couch CMS é um sistema de gerenciamento de conteúdo (CMS) simples e flexível, gratuito e de código aberto que permite que os web designers

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Configurando um Chroot no Debian

Configurando um Chroot no Debian

Este artigo ensinará como configurar uma prisão chroot no Debian. Presumo que você esteja usando o Debian 7.x. Se você estiver executando o Debian 6 ou 8, isso pode funcionar, mas

Como instalar o PiVPN no Debian

Como instalar o PiVPN no Debian

Introdução Uma maneira fácil de configurar um servidor VPN no Debian é com o PiVPN. PiVPN é um instalador e wrapper para o OpenVPN. Ele cria comandos simples para você t

Como instalar o Kanboard no Debian 9

Como instalar o Kanboard no Debian 9

Usando um sistema diferente? Introdução O Kanboard é um programa de software de gerenciamento de projetos gratuito e de código aberto, projetado para facilitar e visualizar

Como instalar o Neos CMS no Debian 9

Como instalar o Neos CMS no Debian 9

Usando um sistema diferente? Neos é uma plataforma de aplicativos de conteúdo com um CMS e uma estrutura de aplicativos em seu núcleo. Este guia mostra como instalar

Configurar cactos no Debian Jessie

Configurar cactos no Debian Jessie

Introdução O Cacti é uma ferramenta de monitoramento e gráfico de código aberto totalmente baseada em dados RRD. Através do Cacti, você pode monitorar quase qualquer tipo de dispositivo

Como instalar o Java 8 e o DCEVM no Debian 8 (Jessie)

Como instalar o Java 8 e o DCEVM no Debian 8 (Jessie)

Java é uma linguagem de programação independente de plataforma / máquina virtual. Neste tutorial, instalaremos a implementação OpenJDK do Java 8 em um Debian

Servidor HTTP Git com Nginx no Debian 8

Servidor HTTP Git com Nginx no Debian 8

O Git é um sistema de controle de versão (VCS) que permite o rastreamento de alterações no código. Neste tutorial, mostraremos a instalação de um servidor HTTP (S) Git, um

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL

Usando vistas MySQL no Debian 7

Usando vistas MySQL no Debian 7

Introdução O MySQL possui um ótimo recurso conhecido como views. As visualizações são consultas armazenadas. Pense neles como um alias para uma consulta longa. Neste guia,

Como instalar o Matomo Analytics no Debian 9

Como instalar o Matomo Analytics no Debian 9

Usando um sistema diferente? O Matomo (anteriormente Piwik) é uma plataforma de análise de código aberto, uma alternativa aberta ao Google Analytics. Fonte Matomo está hospedado o

Monitorar o status do servidor Debian com o Munin

Monitorar o status do servidor Debian com o Munin

Munin é uma ferramenta de monitoramento para pesquisar processos e recursos em sua máquina e apresenta as informações em gráficos através de uma interface da web. Use o seguinte

Como instalar o fórum NodeBB no Debian 9

Como instalar o fórum NodeBB no Debian 9

Usando um sistema diferente? O NodeBB é um fórum baseado no Node.js. Ele utiliza soquetes da web para interações instantâneas e notificações em tempo real. Código fonte do NodeBB i

Como configurar o Samba com armazenamento em bloco no Debian 9

Como configurar o Samba com armazenamento em bloco no Debian 9

O Samba é uma solução de código aberto que permite aos usuários configurar compartilhamentos de arquivos e impressão rápidos e seguros. Neste artigo, abordarei como configurar a sagacidade do Samba

Adicionar intervalo de endereços IP ao seu servidor (CentOS / Ubuntu / Debian)

Adicionar intervalo de endereços IP ao seu servidor (CentOS / Ubuntu / Debian)

Introdução Neste tutorial, abordaremos o processo de adicionar um intervalo / sub-rede IP inteiro a um servidor Linux executando o CentOS, Debian ou Ubuntu. O processo

Instale o Plesk no Debian 8 (Jessie)

Instale o Plesk no Debian 8 (Jessie)

Usando um sistema diferente? O Plesk é um painel de controle proprietário de host da web que permite que os usuários administrem seus sites pessoais e / ou clientes, bancos de dados

Como instalar o Koel no Debian 9

Como instalar o Koel no Debian 9

Usando um sistema diferente? O Koel é um aplicativo simples de transmissão de áudio pessoal baseado na Web, escrito em Vue no lado do cliente e Laravel no lado do servidor. Koe

Como implantar o Ghost v0.11 LTS no Debian 8

Como implantar o Ghost v0.11 LTS no Debian 8

Usando um sistema diferente? O Ghost é uma plataforma de blog de código aberto que vem ganhando popularidade entre desenvolvedores e usuários comuns desde a sua 201

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.