Suricata - uma ferramenta de detecção, prevenção e segurança de intrusões
- 2794
- 771
- Mrs. Willie Beahan
Suricata é um mecanismo de detecção de ameaças poderoso, versátil e de código aberto que fornece funcionalidades para detecção de intrusões (IDs), prevenção de intrusões (IPS) e monitoramento de segurança de rede. Ele realiza uma inspeção profunda de pacotes, juntamente com o padrão que combina uma mistura que é incrivelmente poderosa na detecção de ameaças.
No momento da redação deste guia, a versão mais recente de Suricata é 6.0.5.
Recursos de Suricata
- IDS/IPS - Suricata é uma regra baseada em regras Detecção de intruso e Prevenção Motor que aproveita os conjuntos de regras desenvolvidos externamente, como o TALOS REGISTEN e as ameaças emergentes, o Suricata RegrasSet para monitorar o tráfego de rede para qualquer atividade maliciosa, violações de políticas e ameaças.
- Detecção automática de protocolo - O Suricata Engine detecta automaticamente protocolos como HTTP e HTTPS. FTP e SMB em qualquer porta e aplique a lógica de detecção e log adequada. Isso é útil na detecção de malware e canais CNC.
- Lua script - Suricata pode invocar Lua scripts que fornecem detecção avançada de malware para detectar e decodificar o tráfego de malware que é difícil de detectar.
- Multi-threading - Suricata fornece velocidade e importância na determinação do tráfego de rede. O mecanismo é desenvolvido para aplicar o aumento do poder de processamento oferecido por chipsets de hardware de vários núcleos modernos.
Instalando a Ferramenta de Detecção de Intrusão Suricata no Linux
Nesta seção, demonstraremos como instalar Suricata em distribuições baseadas em Debian e Rhel.
Instale Suricata no Debian/Ubuntu e Mint
Suricata É fornecido por Debian / Ubuntu repositórios e podem ser facilmente instalados usando o gerenciador de pacotes apt. No entanto, vale a pena notar que isso não instala a versão mais recente do Suricata. Para instalar a versão mais recente, você precisa instalá -la a partir de uma fonte que abordaremos mais tarde neste guia.
Para instalar Suricata usando o apt Gerenciador de pacotes, execute o comando:
$ sudo apt install suricata -yInstale Suricata no Ubuntu
Suricata começa automaticamente uma vez instalado. Você pode confirmar isso da seguinte maneira.
$ sudo systemctl status suricataVerifique Suricata no Ubuntu
Instale Suricata em Rhel, Rocky, Almalinux e Fedora
Para instalar Suricata sobre RHEL Distribuições como Centos Stream, Rocky Linux, Almalinux, Fedora e Rhel, você precisa ativar o repositório EPEL primeiro.
$ dnf install https: // dl.FedoraProject.org/pub/epel/epel-latest-9.Noarch.RPM [RHEL 9] $ dnf install https: // dl.FedoraProject.org/pub/epel/epel-latest-8.Noarch.RPM [RHEL 8] $ yum install https: // dl.FedoraProject.org/pub/epel/epel-latest-8.Noarch.RPM [RHEL 7]
Uma vez EPEL está ativado, instale os seguintes pacotes necessários e adicione o OISF repositório para o seu sistema.
----------- Em sistemas fedora ----------- $ sudo dnf install dnf-plugins-core $ sudo dnf copr ativar @oisf/suricata-6.0 ----------- Em sistemas RHEL ----------- $ sudo dnf install yum-plugin-copr $ sudo dnf copr habilting @oisf/suricata-6.0
Em seguida, instale Suricata Usando o DNF Package Manager ou o Yum Package Manager, conforme mostrado.
$ sudo dnf install suricata -y ou $ sudo yum install suricata -yInstale Suricata em Rhel
Uma vez Suricata está instalado, inicie e verifique seu status.
$ sudo systemctl start suricata $ sudo systemctl status suricataVerifique Suricata em Rhel
Instale Suricata da fonte no Linux
Os repositórios de SO padrão não fornecem a versão mais recente de Suricata. Se seu objetivo é instalar a versão mais recente de Suricata, Então você precisa instalá -lo da fonte.
No momento da redação deste guia, a versão mais recente de Suricata é 6.0.5. Para instalar Suricata Da fonte em Ubuntu/Debian e RHEL Distribuições, instale as seguintes bibliotecas, ferramentas de compilação e dependências.
----------- Em Sistemas Debian ----------- $ sudo apt install rustc build-essencial cargo libpcre3 libpcre3-dbg libpcre3-dev faz automatismo automático libcap-ng0 fazer libmagic-dev libjansson-dev libjansson4 libpcpap-d libliBniblibslbJansson-0 libjansson4 libpcap-d LibNet1-D1Ml-4 -ng-dev pkg-Config libnetfilter-quêue1 libnfnetlink0 libnetfilter-aqueue-dev libnfnetlink-dev -y ----------- Em sistemas RHEL ----------- $ sudo yum install gcc libpcap-devel pcre-devel lybyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet devel tar o liBNetfilter_queue-devel-dEvel-devel PyyamlMlMlBMMlBMMlBMMLBMMLBMEMLBMLBMEMLBMLBMEMLBMEMLBMEMLBMLBMEMLBMLBMLBMEMLBMLBMEMLBMLBMEMLBMEMLBMENBMELBMA-DEVEND-DEVELBMENBMLBMLBMLBMLBMEMLBMEMLBMENBMENBMENBMENBMENBMA Devele -y
Em seguida, instale a ferramenta Suricata-Update para atualizar as regras do Suricata.
$ sudo apt install python3-pip [em Debian] $ sudo yum install python3-pip [em RHEL] $ pip3 install-upgrade suricata update
Em seguida, crie um link simbólico para /usr/bin/suricata update.
$ sudo ln -s/usr/local/bin/suricata update/usr/bin/suricata update
Agora vá até a página oficial de download do Suricata e faça o download do último arquivo de tarball para Linux usando o comando wget.
$ wget https: // www.OpenInfosecFoundation.org/download/Suricata-6.0.6.alcatrão.gz
Depois de baixado, extraia o arquivo de tarball e instale -o.
$ sudo tar -xvf Suricata -6.0.6.alcatrão.gz $ CD SURICATA-6.0.6 $ ./Configure --enable-nfQueue--prefix =/usr--sysConfdir =/etc--LocalStatedir =/var $ Make $ Make Install-Full
Configurando Suricata em Linux
Para começar a configurar Suricata, Precisamos especificar o IP interno e a rede externa. Para fazer isso, acesse o arquivo de configuração.
$ sudo vim/etc/suricata/suricata.Yaml
Para o Home_net Diretiva, especifique o endereço IP do seu sistema Linux.
Home_net: "[173.82.235.7] "
Em seguida, defina o Externo_net Diretiva para “!$ Home_net““.
External_net: "!$ Home_net "Configurar Suricata no Linux
Em seguida, especifique a interface de rede na qual Suricata Inspecionará o tráfego de rede. No nosso caso, este é o eth0 interface.
Você pode verificar sua interface de rede ativa usando o comando IP:
$ ip a
No arquivo de configuração, atualize a diretiva da interface com o nome da interface de rede.
- Interface: eth0Configurar interface de rede Suricata
Em seguida, verifique se o Path-regra padrão atributo está definido como /etc/suricata/regras.
Configure as regras de SuricataEm seguida, salve as alterações e feche o arquivo de configuração. Em seguida, reinicie Suricata para as mudanças aplicar.
$ sudo systemctl status suricata
Atualizando os conjuntos de regras do Suricata no Linux
Por padrão, Suricata navios com um conjunto limitado de regras de detecção localizadas no /etc/suricata/regras diretório. No entanto, estes são considerados fracos e ineficazes na detecção de intrusões. Você precisa carregar o Ameaça emergente (Et) regras consideradas os conjuntos de regras mais abrangentes para Suricata.
Suricata fornece uma ferramenta conhecida como Suricata-update que buscam regras de fornecedores externos. Para obter um conjunto de regras atualizado para o seu servidor, execute o seguinte comando.
$ sudo suricata update -o/etc/suricata/regrasAtualizando os conjuntos de regras do SURICATA Baixar regras de ameaças emergentes Suricata
Da saída, você pode ver o Suricata-update buscando o grátis Ameaças emergentes e regras abertas e salvando -os para Suricata /etc/Suricata/Regras/Suricata arquivo de regras. Além disso, indica o número de regras processadas. Neste exemplo, um total de 35941 foi adicionado. Daqueles, 28221 foram ativados, 18 foram removidos e 1249 foram modificados.
Adicionando regras de Suricata no Linux
O Suricata-update A ferramenta permite buscar regras de provedores de conjunto de regras. Alguns são livres, como o Et Open definido, enquanto outros exigem uma assinatura paga.
Para listar o conjunto padrão de provedores de regras, execute o Suricata-update comando como mostrado.
$ sudo suricata update lists fontesListar provedores de regras Suricata
Para adicionar um conjunto de regras, por exemplo, o TGREEN/CURSTELT, Execute o seguinte comando.
$ sudo sucuricata update atabilable food tgreen/caçaAdicionar Suricata Regra Set
Depois de adicionar o Regras, execute o Suricata-update comando mais uma vez com o -o/etc/suricata/regras
bandeira.
$ sudo suricata update -o/etc/suricata/regrasAtualizar conjunto de regras Suricata
Testando regras Suricata no Linux
Antes de começar a testar Suricata, É recomendável testar se a configuração está bem. Para fazer isso, execute o seguinte comando:
$ sudo suricata -t -c/etc/suricata/suricata.YAML -V
Certifique -se de que nenhum erro seja relatado. Se você estiver executando RHEL, CENTOS Stream, Fedora e Rocky Linux Start e Atabille Suricata.
$ sudo systemctl start suricata $ sudo systemctl atabille suricata
Até agora, instalamos com sucesso e configuramos Suricata e atualizou os conjuntos de regras. O conjunto de regras ET Open contém mais de 30.000 regras para detectar tráfego malicioso. Nesta seção, colocaremos Suricata à prova e verificaremos se ele pode detectar o tráfego de rede suspeito.
Vamos testar o Et Open REGRASTELT, simulando uma intrusão conforme recomendado pelo Guia Quickstart da Suricata.
A funcionalidade IDS será testada com um ID de assinatura de 2100498 enviando uma solicitação HTTP para o testmynids.org site que é um NIDS (Sistema de Intrusão e Detecção de Rede) estrutura.
$ Curl http: // testmynids.org/uid/índice.html
Você deve obter a seguinte saída.
uid = 0 (raiz) gid = 0 (root) grupos = 0 (raiz)
O Http A solicitação enviada foi projetada para acionar um alerta imitando a saída do eu ia comando que pode ser executado em um sistema remoto comprometido por meio de um shell.
Agora vamos examinar os toros de Suricata para um alerta correspondente. Suricata envia com dois arquivos de log que são ativados por padrão.
/var/log/suricata/rápido.log/var/log/suricata/véspera.registro
Vamos verificar se uma entrada de log no /var/log/suricata/rápido.registro Arquivo de log que corresponde à solicitação de CURL usando o comando Grep. Vamos procurar as entradas de log usando o 2100498 Identificador de regra da documentação do QuickStart.
$ grep 2100948/var/log/suricata/rápido.registro
Você obterá a seguinte saída que significa uma intrusão. Aqui, 173.82.235.7 é o endereço IP público do servidor.
09/09/2022-22: 17: 06.796434 [**] [1: 2100498: 7] GPL ATTACT_RESPONSE ID CHECHET ROOT RETRATED [**] [CLASSIFICAÇÃO: Tráfego potencialmente ruim] [Prioridade: 2] TCP 13.226.210.123: 80 -> 173.82.235.7: 33822Verifique os logs do Suricata
Como alternativa, você pode verificar o /var/log/suricata/véspera.registro Arquivo de log para o ID de assinatura de 2100498, como mostrado.
$ jq 'select (.alerta .Signature_id == 2100498) '/var/log/Suricata/Eve.JSONVerifique o Suricata Log para obter um ID de assinatura
Este foi um guia abrangente sobre como instalar e configurar Suricata no Linux. Vimos vários métodos de instalação, como configurar Suricata e atualizar Suricata Regras, bem como gerenciar o serviço Suricata Systemd e executar testes de intrusão de rede.
É nossa esperança que agora você possa instalar e usar confortavelmente Suricata Para proteger seu sistema de intrusões de rede ou tráfego malicioso.
- « Guia do Tecmint para Redhat Ansible Automation Exam Guia
- Como monitorar o site e o aplicativo com o tempo de uptime kuma »