Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

Segundo as estatísticas, o volume de tráfico da rede aumenta aproximadamente un 50% cada ano. Isto leva a un aumento da carga do equipo e, en particular, aumenta os requisitos de rendemento de IDS / IPS. Podes mercar hardware especializado caro, pero hai unha opción máis barata: a introdución dun dos sistemas de código aberto. A moitos administradores novatos é difícil instalar e configurar IPS gratuítos. No caso de Suricata, isto non é totalmente certo: podes instalalo e comezar a repeler ataques típicos cun conxunto de regras gratuítas en poucos minutos.

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata
Snort ou Suricata. Parte 1: Escolla un IDS/IPS gratuíto para protexer a súa rede corporativa

Por que necesitamos outro IPS aberto?

Considerado durante moito tempo o estándar, Snort estivo en desenvolvemento desde finais dos noventa, polo que orixinalmente era dun só fío. Ao longo dos anos, apareceron nel todas as características modernas, como o soporte IPv6, a capacidade de analizar protocolos a nivel de aplicación ou un módulo de acceso universal a datos.

O motor do núcleo Snort 2.X aprendeu a funcionar con varios núcleos, pero mantívose dun só fío e, polo tanto, non pode aproveitar de forma óptima as plataformas de hardware modernas.

O problema resolveuse na terceira versión do sistema, pero tardou tanto en prepararse que Suricata, escrita desde cero, logrou aparecer no mercado. En 2009, comezou a desenvolverse precisamente como unha alternativa multi-thread a Snort, que conta con funcións IPS fóra da caixa. O código distribúese baixo a licenza GPLv2, pero os socios financeiros do proxecto teñen acceso a unha versión pechada do motor. Algúns problemas de escalabilidade xurdiron nas primeiras versións do sistema, pero foron rapidamente resoltos.

Por que Surica?

Suricata ten varios módulos (similares a Snort): captura, captura, decodificación, detección e saída. Por defecto, o tráfico capturado vai antes da decodificación nun fluxo, aínda que isto carga máis o sistema. Se é necesario, os fíos pódense dividir na configuración e distribuírse entre os procesadores - Suricata está moi ben optimizado para hardware específico, aínda que este xa non é un nivel HOWTO para principiantes. Tamén vale a pena sinalar que Suricata ten ferramentas avanzadas de inspección HTTP baseadas na biblioteca HTP. Tamén se poden usar para rexistrar o tráfico sen detección. O sistema tamén admite a decodificación IPv6, incluíndo túneles IPv4-in-IPv6, túneles IPv6-in-IPv6 e moito máis.

Pódense usar diferentes interfaces para interceptar o tráfico (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING) e no modo Unix Socket, pode analizar automaticamente os ficheiros PCAP capturados por outro sniffer. Ademais, a arquitectura modular de Suricata facilita a conexión de novos elementos para capturar, decodificar, analizar e procesar paquetes de rede. Tamén é importante ter en conta que en Suricata o tráfico está bloqueado mediante un filtro regular do sistema operativo. GNU/Linux ten dúas opcións para o funcionamento de IPS: a través da cola NFQUEUE (modo NFQ) e mediante a copia cero (modo AF_PACKET). No primeiro caso, o paquete que entra en iptables envíase á cola NFQUEUE, onde pode ser procesado a nivel de usuario. Suricata execútao segundo as súas propias regras e emite un dos tres veredictos: NF_ACCEPT, NF_DROP e NF_REPEAT. Os dous primeiros son autoexplicativos, mentres que o último permite etiquetar e enviar paquetes á parte superior da táboa de iptables actual. O modo AF_PACKET é máis rápido, pero impón unha serie de restricións ao sistema: debe ter dúas interfaces de rede e funcionar como pasarela. O paquete bloqueado simplemente non se reenvía á segunda interface.

Unha característica importante de Suricata é a capacidade de usar desenvolvementos para Snort. O administrador ten acceso, en particular, aos conxuntos de regras de Sourcefire VRT e OpenSource Emerging Threats, así como ao comercial Emerging Threats Pro. A saída unificada pódese analizar usando backends populares, tamén se admite a saída PCAP e Syslog. A configuración e as regras do sistema gárdanse en ficheiros YAML, que son fáciles de ler e poden procesarse automaticamente. O motor Suricata recoñece moitos protocolos, polo que as regras non precisan estar vinculadas a un número de porto. Ademais, o concepto de flowbits practícase activamente nas regras de Suricata. Para rastrexar o disparador, utilízanse variables de sesión para crear e aplicar varios contadores e bandeiras. Moitos IDS tratan conexións TCP diferentes como entidades separadas e é posible que non vexan unha conexión entre elas que indique o inicio dun ataque. Suricata tenta ver a imaxe completa e en moitos casos recoñece o tráfico malicioso distribuído en diferentes conexións. Podes falar das súas vantaxes durante moito tempo, é mellor que pasemos á instalación e configuración.

Como instalar?

Instalaremos Suricata nun servidor virtual que executa Ubuntu 18.04 LTS. Todos os comandos deben ser executados en nome do superusuario (raíz). A opción máis segura é facer SSH no servidor como un usuario normal e despois usar a utilidade sudo para elevar os privilexios. Primeiro cómpre instalar os paquetes que necesitamos:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

Conectando un repositorio externo:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

Instala a última versión estable de Suricata:

sudo apt-get install suricata

Se é necesario, edite o nome dos ficheiros de configuración, substituíndo o eth0 predeterminado polo nome real da interface externa do servidor. As configuracións predeterminadas gárdanse no ficheiro /etc/default/suricata e as personalizadas en /etc/suricata/suricata.yaml. A configuración de IDS limítase principalmente a editar este ficheiro de configuración. Ten moitos parámetros que, polo seu nome e propósito, coinciden con análogos de Snort. A sintaxe é ben diferente, pero o ficheiro é moito máis fácil de ler que as configuracións de Snort, e está ben comentado.

sudo nano /etc/default/suricata

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

Atención! Antes de comezar, paga a pena comprobar os valores das variables da sección vars.

Para completar a configuración, terás que instalar suricata-update para actualizar e cargar as regras. É moi sinxelo facelo:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

A continuación, necesitamos executar o comando suricata-update para instalar o conxunto de regras Emerging Threats Open:

sudo suricata-update

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

Para ver a lista de fontes de regras, execute o seguinte comando:

sudo suricata-update list-sources

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

Actualizar fontes de regras:

sudo suricata-update update-sources

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

Revisando fontes actualizadas:

sudo suricata-update list-sources

Se é necesario, pode incluír fontes gratuítas dispoñibles:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

Despois diso, cómpre actualizar as regras de novo:

sudo suricata-update

Isto completa a instalación e configuración inicial de Suricata en Ubuntu 18.04 LTS. Despois comeza a diversión: no seguinte artigo, conectaremos un servidor virtual á rede da oficina mediante VPN e comezaremos a analizar todo o tráfico entrante e saínte. Prestaremos especial atención ao bloqueo de ataques DDoS, actividade de malware e intentos de explotar vulnerabilidades en servizos accesibles desde redes públicas. Para maior claridade, simularanse ataques dos tipos máis comúns.

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

Snort ou Suricata. Parte 2: Instalación e configuración inicial de Suricata

Fonte: www.habr.com

Engadir un comentario