LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Suricata

Suricata es un motor de detección de amenazas potente, versátil y de código abierto que proporciona funcionalidades para la detección de intrusos (IDS), la prevención de intrusos (IPS) y el monitoreo de la seguridad de la red . Realiza una inspección profunda de paquetes junto con la coincidencia de patrones, una combinación que es increíblemente poderosa en la detección de amenazas.

Al momento de escribir esta guía, la última versión de Suricata es la 6.0.5 .

Características de Suricata

  • IDS/IPS : Suricata es un motor de prevención y detección de intrusiones basado en reglas que aprovecha los conjuntos de reglas desarrollados externamente, como el conjunto de reglas de Talos y el conjunto de reglas de Emerging Threats Suricata para monitorear el tráfico de red en busca de cualquier actividad maliciosa, violaciones de políticas y amenazas.
  • Detección automática de protocolos : el motor de Suricata detecta automáticamente protocolos como HTTP y HTTPS. FTP y SMB en cualquier puerto y aplique la lógica adecuada de detección y registro. Esto es útil para detectar malware y canales CnC.
  • Secuencias de comandos de Lua : Suricata puede invocar secuencias de comandos de Lua que brindan detección avanzada de malware para detectar y decodificar el tráfico de malware que, de otro modo, sería difícil de detectar.
  • Subprocesos múltiples : Suricata proporciona velocidad e importancia en la determinación del tráfico de red. El motor está desarrollado para aplicar la mayor potencia de procesamiento que ofrecen los conjuntos de chips de hardware multinúcleo modernos.

Instalación de la herramienta de detección de intrusos Suricata en Linux

En esta sección, demostraremos cómo instalar Suricata en distribuciones basadas en Debian y RHEL .

Instale Suricata en Debian/Ubuntu y Mint

Suricata es proporcionado por los repositorios de Debian/Ubuntu y se puede instalar fácilmente usando el administrador de paquetes apt . Sin embargo, vale la pena señalar que esto no instala la última versión de Suricata. Para instalar la última versión, debe instalarla desde una fuente que cubriremos más adelante en esta guía.

Para instalar Suricata usando el administrador de paquetes apt , ejecute el comando:

$ sudo apt install suricata -y

Instalar Suricata en Ubuntu

Suricata se inicia automáticamente una vez instalado. Puede confirmar esto de la siguiente manera.

$ sudo systemctl status suricata

Compruebe Suricata en Ubuntu

Instale Suricata en RHEL, Rocky, Almalinux y Fedora

Para instalar Suricata en distribuciones RHEL como CentOS Stream, Rocky Linux, AlmaLinux, Fedora y RHEL, primero debe habilitar el repositorio EPEL .

$ dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm  [RHEL 9]
$ dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  [RHEL 8]
$ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  [RHEL 7]

Una vez que EPEL esté habilitado, instale los siguientes paquetes de requisitos y agregue el repositorio OISF a su sistema.

----------- En los sistemas Fedora -----------
$ sudo dnf install dnf-plugins-core
$ sudo  dnf copr enable @oisf/suricata-6.0
----------- En sistemas RHEL ----------- 
$ sudo dnf install yum-plugin-copr
$ sudo dnf copr enable @oisf/suricata-6.0

Luego, instale Suricata usando el administrador de paquetes dnf o el administrador de paquetes yum como se muestra.

$ sudo dnf install suricata -y
O
$ sudo yum install suricata -y

Instalar Suricata en RHEL

Una vez instalado Suricata , inicie y verifique su estado.

$ sudo systemctl start suricata
$ sudo systemctl status suricata

Compruebe Suricata en RHEL

Instale Suricata desde la fuente en Linux

Los repositorios predeterminados del sistema operativo no proporcionan la última versión de Suricata . Si su objetivo es instalar la última versión de Suricata , debe instalarla desde la fuente.

Al momento de escribir esta guía, la última versión de Suricata es la 6.0.5 . Para instalar Suricata desde el origen en las distribuciones Ubuntu/Debian y RHEL , instale las siguientes bibliotecas, herramientas de compilación y dependencias.

----------- En sistemas Debian -----------
$ sudo apt install rustc build-essential cargo libpcre3 libpcre3-dbg libpcre3-dev make autoconf automake \
  libtool libcap-ng0 make libmagic-dev libjansson-dev libjansson4 libpcap-dev libnet1-dev \ 
  libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev pkg-config libnetfilter-queue1 libnfnetlink0 \ 
  libnetfilter-queue-dev libnfnetlink-dev -y
----------- En sistemas RHEL -----------
$ sudo yum install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel \
  libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel PyYAML libmaxminddb-devel \ 
  rustc cargo lz4-devel -y

A continuación, instale la herramienta de actualización de suricata para actualizar las reglas de Suricata.

$ sudo apt install python3-pip           [En Debian]
$ sudo yum install python3-pip           [En RHEL]
$ pip3 install --upgrade suricata-update

Luego cree un enlace simbólico a /usr/bin/suricata-update .

$ sudo ln -s /usr/local/bin/suricata-update /usr/bin/suricata-update

Ahora diríjase a la página de descarga oficial de Suricata y descargue el archivo tarball más reciente para Linux usando el comando wget .

$ wget https://www.openinfosecfoundation.org/download/suricata-6.0.6.tar.gz

Una vez descargado, extraiga el archivo tarball e instálelo.

$ sudo tar -xvf suricata-6.0.6.tar.gz
$ cd suricata-6.0.6
$ ./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
$ make
$ make install-full

Configurando Suricata en Linux

Para comenzar a configurar Suricata , necesitamos especificar la IP interna y la red externa. Para ello, acceda al archivo de configuración.

$ sudo vim /etc/suricata/suricata.yaml

Para la directiva HOME_NET , especifique la dirección IP de su sistema Linux.

HOME_NET: "[173.82.235.7]"

A continuación, establezca la directiva EXTERNAL_NET en “ !$HOME_NET “.

EXTERNAL_NET: "!$HOME_NET"

Configurar Suricata en Linux

A continuación, especifique la interfaz de red en la que Suricata inspeccionará el tráfico de red. En nuestro caso, esta es la interfaz eth0 .

Puede verificar su interfaz de red activa usando el comando ip :

$ ip a

En el archivo de configuración, actualice la directiva de interfaz con el nombre de la interfaz de red.

- interface: eth0

Configurar la interfaz de red de Suricata

A continuación, asegúrese de que el atributo default-rule-path esté establecido en /etc/suricata/rules .

Configurar las reglas de Suricata

Luego guarde los cambios y cierre el archivo de configuración. Luego reinicie Suricata para que se apliquen los cambios.

$ sudo systemctl status suricata

Actualización de conjuntos de reglas de Suricata en Linux

De forma predeterminada, Suricata se envía con un conjunto limitado de reglas de detección ubicadas en el directorio /etc/suricata/rules . Sin embargo, estos se consideran débiles e ineficaces para detectar intrusiones. Debe cargar las reglas de amenazas emergentes ( ET ), que se consideran los conjuntos de reglas más completos para Suricata.

Suricata proporciona una herramienta conocida como suricata-update que obtiene conjuntos de reglas de proveedores externos. Para obtener un conjunto de reglas actualizado para su servidor, ejecute el siguiente comando.

$ sudo suricata-update -o /etc/suricata/rules

Actualización de conjuntos de reglas de Suricata

Descargar las reglas de amenazas emergentes de Suricata

Desde el resultado, puede ver la actualización de suricata obteniendo las reglas abiertas de ET de Emerging Threats gratuitas y guardándolas en el archivo de reglas /etc/suricata/rules/suricata de Suricata . Además, indica el número de reglas procesadas. En este ejemplo, se agregaron un total de 35941 . De ellos, se habilitaron 28221 , se eliminaron 18 y se modificaron 1249 .

Agregar conjuntos de reglas de Suricata en Linux

La herramienta de actualización de suricata le permite obtener reglas de proveedores de conjuntos de reglas. Algunos son gratuitos, como el conjunto ET Open , mientras que otros requieren una suscripción paga.

Para enumerar el conjunto predeterminado de proveedores de reglas, ejecute el comando suricata-update como se muestra.

$ sudo suricata-update list-sources

Lista de proveedores de reglas de Suricata

Para agregar un conjunto de reglas, por ejemplo, el conjunto de reglas tgreen/hunting , ejecute el siguiente comando.

$ sudo suricata-update enable-source tgreen/hunting

Agregar conjunto de reglas de Suricata

Una vez que haya agregado el conjunto de reglas , ejecute el comando suricata-update una vez más con la -o /etc/suricata/rulesbandera.

$ sudo suricata-update -o /etc/suricata/rules

Actualizar conjunto de reglas de Suricata

Prueba de las reglas de Suricata en Linux

Antes de comenzar a probar Suricata , se recomienda probar si la configuración está bien. Para hacerlo, ejecute el siguiente comando:

$ sudo suricata -T -c /etc/suricata/suricata.yaml -v

Asegúrese de que no se notifiquen errores. Si está ejecutando RHEL, CentOS Stream, Fedora y Rocky Linux, inicie y habilite Suricata.

$ sudo systemctl start suricata 
$ sudo systemctl enable suricata 

Hasta ahora, hemos instalado y configurado correctamente Suricata y actualizado los conjuntos de reglas. El conjunto de reglas abiertas de ET contiene más de 30 000 reglas para detectar tráfico malicioso. En esta sección, pondremos a prueba a Suricata y comprobaremos si puede detectar tráfico de red sospechoso.

Probaremos el conjunto de reglas de ET Open simulando una intrusión según lo recomendado por la guía de inicio rápido de Suricata .

La funcionalidad de IDS se probará con una ID de firma de 2100498 mediante el envío de una solicitud HTTP al sitio web testmynids.org , que es un marco NIDS ( Sistema de detección e intrusión de red ).

$ curl http://testmynids.org/uid/index.html

Deberías obtener el siguiente resultado.

uid=0(root) gid=0(root) groups=0(root)

La solicitud HTTP enviada está diseñada para activar una alerta al imitar la salida del comando id que podría ejecutarse en un sistema remoto comprometido a través de un shell.

Ahora analicemos los registros de Suricata en busca de una alerta correspondiente. Suricata se envía con dos archivos de registro que vienen habilitados de forma predeterminada.

/var/log/suricata/fast.log
/var/log/suricata/eve.log

Buscaremos una entrada de registro en el archivo de registro /var/log/suricata/fast.log que corresponda a la solicitud curl mediante el comando grep . Buscaremos las entradas de registro utilizando el identificador de regla 2100498 de la documentación de inicio rápido.

$ grep 2100948 /var/log/suricata/fast.log

Obtendrá el siguiente resultado que significa una intrusión. Aquí, 173.82.235.7 es la dirección IP pública del servidor.

09/09/2022-22:17:06.796434  [**] [1:2100498:7] GPL ATTACK_RESPONSE id check returned root [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 13.226.210.123:80 -> 173.82.235.7:33822

Ver registros de Suricata

Como alternativa, puede consultar el archivo de registro /var/log/suricata/eve.log para el ID de firma de 2100498 como se muestra.

$ jq 'select(.alert .signature_id==2100498)' /var/log/suricata/eve.json

Verifique el registro de Suricata para la identificación de la firma

Esta fue una guía completa sobre cómo instalar y configurar Suricata en Linux. Hemos analizado varios métodos de instalación, cómo configurar Suricata y actualizar las reglas de Suricata , así como también cómo administrar el servicio systemd de Suricata y realizar pruebas de intrusión en la red.

Esperamos que ahora pueda instalar y usar cómodamente Suricata para proteger su sistema de intrusiones en la red o tráfico malicioso.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías