Como instalar e configurar o Snort IDS no Linux para proteger sua rede

Se você leva a sério a segurança da rede e a melhoria da proteção, a instalação de sistemas de detecção e prevenção de intrusão (IPS ou IDS) é essencial para fortalecer o perímetro da rede e desviar o tráfego de rede indesejado.

O Snort é uma solução popular de IPS/IDS gratuita e de código aberto. Vamos aprender como você pode instalar e configurar o Snort no Linux para defender sua rede de ataques cibernéticos. Verificar O que acontece quando seu telefone está espionando você?

O que é roncar?

O Snort é um aplicativo de detecção e prevenção de intrusão de rede (NIDS/IPS) de código aberto que, como o nome sugere, ajuda a proteger o perímetro de sua rede, impondo regras e filtros que detectam e descartam pacotes maliciosos injetados em sua rede.

Com o Snort, você poderá realizar registro avançado de tráfego de rede, detecção e análise de pacotes e configurar um poderoso sistema de prevenção de invasões que protege sua rede contra tráfego indesejado e potencialmente malicioso.

Pré-requisitos para instalar o Snort

Antes de instalar o Snort, há algumas configurações iniciais que precisam ser feitas. O que envolve principalmente atualizar e atualizar seu sistema e instalar as dependências que o Snort requer para funcionar corretamente.

Comece atualizando e atualizando seu sistema.

Em distribuições Linux baseadas em Ubuntu e Debian:

sudo apt update && apt upgrade -y

No Arch Linux e suas distribuições baseadas:

sudo pacman -Syu

No RHEL e Fedora:

atualização sudo dnf

À medida que o sistema for atualizado, continue a instalar as dependências exigidas pelo Snort. Aqui estão os comandos que você precisa executar:

No Ubuntu e Debian, execute:

sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev

No Arch Linux, execute:

sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf

Para RHEL e Fedora, emita o seguinte comando:

sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y

Além disso, você também precisa instalar manualmente a biblioteca de aquisição de dados, LibDAQ para Snort funcionar corretamente e também gperftools para gerar arquivos de construção.

Primeiro, baixe os arquivos de origem LibDAQ do site oficial usando o comando wget. Em seguida, extraia o arquivo zip e vá para o diretório com cd. Dentro do diretório, execute o boot e configure os scripts, e depois prossiga para preparar os arquivos com o comando make install.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz tar -xzvf lib* cd lib* ./bootstrap ./configure make sudo make install

Com o LibDAQ instalado, você precisa instalar uma última dependência: gperftools. Comece buscando os arquivos de origem do repositório GitHub. Extraia os arquivos, navegue até o diretório e execute o script de configuração. Finalmente, instale o pacote usando comandos make install.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz tar -xvzf gper* && cd gper ./configure make sudo make install

Depois que essas dependências estiverem instaladas, você pode passar para as próximas etapas para instalar o Snort.

Instale o Snort da fonte no Linux

Após a conclusão da configuração inicial, agora você pode se concentrar na instalação do aplicativo real. Você o construirá a partir do código-fonte, portanto, obtenha primeiro os arquivos de compilação necessários.

Use o comando wget ou baixe os arquivos manualmente na página de download oficial:

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

Baixar: Snort

Após o download do arquivo zip contendo os arquivos de compilação, extraia-o usando o comando alcatrão:

alcatrão -xzvf bufada*

Vá para a pasta extraída, execute o script de configuração e use o comando fazer Para preparar os arquivos e, finalmente, instalá-lo com make install:

cd snort* ./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc cd build make sudo make install

O Snort agora será instalado com sucesso em seu sistema. No entanto, há mais uma etapa que você precisa concluir. Ao instalar manualmente um novo aplicativo, o diretório de instalação e as bibliotecas necessárias podem não ser incluídos automaticamente no caminho padrão do sistema. Portanto, você pode encontrar erros ao iniciar o aplicativo.

Para evitar esse problema, você precisa executar o comando ldconfig. Ele sincronizará o cache da biblioteca compartilhada do sistema com bibliotecas e binários recém-instalados. Execute o comando ldconfig Com privilégios de root ou usando um prefixo sudo:

sudoldconfig

Agora cobri todas as etapas importantes necessárias para instalar o Snort. Para verificar a instalação, execute o comando snort com um sinalizador -V , e você deverá ver uma saída que retorna o nome da versão e outros dados.

resfolegando -V

Depois de verificar se o Snort está instalado, siga as próximas etapas para configurá-lo como um IDS/IPS em pleno funcionamento.

Configuração inicial do Snort no Linux

A eficiência do Snort depende quase inteiramente da qualidade dos conjuntos de regras com os quais é fornecido.

No entanto, antes de começar a configurar as regras, você precisa configurar suas placas de rede para funcionar com o Snort e também precisa testar como a configuração padrão é tratada pelo Snort. Comece configurando as placas de rede.

Você precisa definir a interface de rede para o modo promíscuo:

sudo ip link set dev interface_name promisc on

usando ettool , desative o descarregamento de recebimento global (GRO) e o descarregamento de recebimento grande (LRO) para evitar o corte de pacotes de rede maiores:

sudo ethtool -K nome_da_interface gro off lro off

Teste o desempenho do Snort com a configuração padrão:

snort -c /usr/local/etc/snort/snort.lua

Isso deve retornar uma saída bem-sucedida que você instalou e configurou o Snort corretamente em seu sistema. Agora você pode ajustar seus recursos e experimentar diferentes configurações para encontrar o melhor conjunto de regras para proteger sua rede.

Defina e imponha regras com o Snort

Com as configurações básicas definidas, o Snort agora está pronto para defender seu perímetro. Como você sabe, o Snort precisa de conjuntos de regras para determinar a validade do tráfego de dados, vamos preparar alguns conjuntos de regras gratuitos criados pela comunidade para o Snort.

Snort lê conjuntos de regras e configurações de diretórios especificados. Então, primeiro, usando comandos mkdir و contacto , crie alguns diretórios importantes para armazenar regras e outros dados relacionados ao snort:

sudo mkdir -p /usr/local/etc/{lists,so_rules,rules} sudo touch /usr/local/etc/rules/local.rules sudo touch /usr/local/etc/lists/default.blocklist

Ao criar esses guias, você pode baixar o conjunto de regras da comunidade no site oficial usando o comando wget:

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

Depois que o download do conjunto de regras terminar, extraia-o e copie-o para o diretório /usr/local/etc/rules/.

tar -xvzf snort3-com* cd snort3-com* cp * /usr/local/etc/rules/

Para executar um snort com o conjunto de regras, execute este comando:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nome_da_interface -s 65535 -k none

explicação do comando:

  1. -c Especifica o caminho para o arquivo de configuração padrão.
  2. -R Especifica o caminho para a regra que está sendo imposta.
  3. -i Define a interface.
  4. -s ignora o limite de snaplen.
  5. -k Ele ignora a soma de verificação.

Isso deve validar a configuração e forçar todos os conjuntos de regras para o Snort. Assim que detectar qualquer perturbação na rede, ele irá alertá-lo com uma mensagem de console.

Se você deseja criar e implementar seu próprio conjunto de regras, pode aprender mais sobre elas em Páginas de documentação oficial. Verificar Os melhores serviços de firewall de aplicativos da web para proteger um site.

Bater recordes com o Snort

Por padrão, o Snort não gera nenhum log. Você precisa especificar usando a tag -L Para iniciar o Snort no modo de log, especifique o tipo de arquivo de log e uma tag -l Define o diretório de registro para o Snort despejar logs.

Aqui está o comando para iniciar o Snort com logs ativados:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nome_da_interface -s 65535 -k none -L tipo_de_arquivo -l /var/log/snort

explicação do comando:

  1. -c Especifica o caminho para o arquivo de configuração padrão.
  2. -R Especifica o caminho para a regra que está sendo imposta.
  3. -i Define a interface.
  4. -s ignora o limite de snaplen.
  5. -k Ele ignora a soma de verificação.
  6. -L Ativa o modo de gravação e especifica o tipo de arquivo de log.
  7. ele especifica -l Caminho de armazenamento de registros.

Observe que no exemplo de comando anterior, o diretório do registro é definido como /var/log/snort. Embora essa seja uma prática recomendada, você pode armazenar seus registros em outro lugar.

Você pode ler os arquivos de log do Snort a partir do diretório especificado ou passá-los para um aplicativo SIEM, como o Splunk, para análise posterior.

Adicione o Snort como um processo daemon para iniciá-lo com o sistema

Mesmo que você tenha o Snort instalado e configurado, você precisa ter certeza de que ele começa a ser executado na inicialização e funciona como um servidor de segundo plano. Adicioná-lo como um serviço de sistema de inicialização automática garantirá que o Snort esteja em execução e defendendo seu sistema o tempo todo em que estiver online.

Veja como adicionar o processo daemon para iniciar o Snort no Linux:

  • Comece criando um arquivo de serviço sistema novo:
toque em /lib/systemd/system/snort.service
  • Abra o arquivo em um editor de texto de sua preferência e preencha com os seguintes dados. Você pode modificar as tags para atender às suas necessidades:
[Unit] Description=Daemon Snort After=syslog.target network.target [Service] Type=simple ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var/log/snort -D -L pcap -i ens33 [Install] WantedBy=multi-user.target
  • Salve e saia do arquivo. Depois disso, usando os dois comandos serviço و systemctl , ative e inicie o script:
sudo systemctl enable snort.service sudo snort start

O daemon Snort agora deve estar em execução. Você pode verificar o status do script usando o comando. Deve retornar uma saída positiva.

status do systemctl snort

Agora você já sabe como proteger sua rede com Snort IDS

Embora o IDS seja uma boa prática, é mais uma ação passiva do que ativa. A melhor forma de melhorar e garantir a segurança da sua rede é testá-la constantemente e procurar falhas que precisam ser corrigidas.

O teste de penetração é uma ótima maneira de encontrar e corrigir vulnerabilidades exploráveis. Você pode ver agora Melhores ferramentas de teste de penetração para profissionais de segurança cibernética.

Ir para o botão superior