Cómo instalar y configurar Snort IDS en Linux para proteger su red

Si se toma en serio la seguridad de la red y la mejora de la protección, la instalación de sistemas de prevención y detección de intrusiones (IPS o IDS) es imprescindible para fortalecer el perímetro de la red y desviar el tráfico de red no deseado.

Snort es una popular solución IPS/IDS gratuita y de código abierto. Aprendamos cómo puede instalar y configurar Snort en Linux para defender su red de ataques cibernéticos. Verificar ¿Qué sucede cuando tu teléfono te está espiando?

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

¿Qué es el bufido?

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

Snort es una aplicación de código abierto para la detección y prevención de intrusiones en la red (NIDS/IPS) que, como su nombre lo indica, ayuda a proteger el perímetro de su red mediante la aplicación de reglas y filtros que detectan y descartan paquetes maliciosos inyectados en su red.

Con Snort, podrá realizar un registro avanzado del tráfico de la red, detección y análisis de paquetes, y configurar un poderoso sistema de prevención de intrusiones que protege su red del tráfico no deseado y potencialmente malicioso.

Requisitos previos para instalar Snort

Antes de instalar Snort, es necesario realizar una configuración inicial. Lo que implica principalmente actualizar y actualizar su sistema e instalar las dependencias que Snort requiere para funcionar correctamente.

Comience por actualizar y mejorar su sistema.

En distribuciones de Linux basadas en Ubuntu y Debian:

sudo apt update && apt upgrade -y

En Arch Linux y sus distribuciones basadas:

sudo pacman -Syu

En RHEL y Fedora:

sudo dnf upgrade

A medida que su sistema se actualice, continúe instalando las dependencias que requiere Snort. Estos son los comandos que necesita ejecutar:

En Ubuntu y Debian, ejecute:

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

En Arch Linux, ejecute:

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

Para RHEL y Fedora, emita el siguiente 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

Además, también debe instalar manualmente la biblioteca de adquisición de datos, LibDAQ para que Snort funcione correctamente y también gperftools para generar archivos de compilación.

Primero, descargue los archivos fuente de LibDAQ del sitio web oficial usando el comando wget. A continuación, extraiga el archivo zip y vaya al directorio con cd. Dentro del directorio, ejecute el arranque y configure los scripts, y luego proceda a preparar los archivos con el 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

Con LibDAQ instalado, debe instalar una última dependencia: gperftools. Comience por obtener los archivos de origen del repositorio de GitHub. Extraiga los archivos, navegue hasta el directorio y ejecute el script de configuración. Finalmente, instale el paquete 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

Una vez que estas dependencias estén instaladas, puede continuar con los siguientes pasos para instalar Snort.

Instalar Snort desde la fuente en Linux

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

Una vez finalizada la configuración inicial, ahora puede concentrarse en instalar la aplicación real. Lo compilará desde la fuente, así que primero obtenga los archivos de compilación necesarios.

Use el comando wget o descargue los archivos manualmente desde la página de descarga oficial:

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

descargar: Bufido

Una vez que el archivo zip que contiene los archivos de compilación haya terminado de descargarse, extráigalo con el comando alquitrán:

tar -xzvf snort*

Vaya a la carpeta extraída, ejecute el script de configuración y use el comando para lograr Para preparar los archivos, y luego finalmente instalarlo con make install:

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

Snort ahora se instalará con éxito en su sistema. Sin embargo, hay un paso más que debe completar. Al instalar manualmente una nueva aplicación, es posible que el directorio de instalación y las bibliotecas requeridas no se incluyan automáticamente en la ruta predeterminada del sistema. Por lo tanto, puede encontrar errores al iniciar la aplicación.

Para evitar este problema, debe ejecutar el comando ldconfig. Sincronizará la memoria caché de la biblioteca compartida del sistema con las bibliotecas y binarios recién instalados. Ejecute el comando ldconfig Con privilegios de root o usando un prefijo sudo:

sudo ldconfig

Ahora he cubierto todos los pasos importantes necesarios para instalar Snort. Para verificar la instalación, ejecute el comando snort con una bandera -V , y debería ver una salida que devuelve el nombre de la versión y otros datos.

snort -V

Una vez que haya verificado que Snort está instalado, siga los siguientes pasos para configurarlo como un IDS/IPS de funcionamiento completo.

Configuración inicial de Snort en Linux

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

La eficiencia de Snort depende casi por completo de la calidad de los conjuntos de reglas con los que se suministra.

Sin embargo, antes de comenzar a configurar las reglas, debe configurar sus tarjetas de red para que funcionen con Snort y también debe probar cómo Snort maneja la configuración predeterminada. Comience configurando las tarjetas de red.

Debe configurar la interfaz de red en modo promiscuo:

sudo ip link set dev interface_name promisc on

Utilizando ettool , deshabilite la descarga de recepción global (GRO) y la descarga de recepción grande (LRO) para evitar el corte de paquetes de red más grandes:

sudo ethtool -K interface_name gro off lro off

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

Pruebe cómo funciona Snort con la configuración predeterminada:

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

Esto debería devolver una salida exitosa de que ha instalado y configurado Snort correctamente en su sistema. Ahora puede modificar sus características y probar diferentes configuraciones para encontrar el mejor conjunto de reglas para proteger su red.

Establece y aplica reglas con Snort

Con la configuración básica en su lugar, Snort ahora está listo para defender su perímetro. Como sabe, Snort necesita conjuntos de reglas para determinar la validez del tráfico de datos, preparemos algunos conjuntos de reglas gratuitos creados por la comunidad para Snort.

Snort lee conjuntos de reglas y configuraciones de directorios específicos. Así que primero, usando comandos mkdir و contacto , cree algunos directorios importantes para almacenar reglas y otros datos relacionados para 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

Al crear estas guías, puede descargar el conjunto de reglas de la comunidad desde el sitio web oficial usando el comando wget:

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

Una vez que el conjunto de reglas haya terminado de descargarse, extráigalo y cópielo en el directorio /usr/local/etc/reglas/.

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

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

Para ejecutar un resoplido con el conjunto de reglas, ejecute este comando:

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

explicación del comando:

  1. -c Especifica la ruta al archivo de configuración predeterminado.
  2. -R Especifica la ruta a la regla que se está aplicando.
  3. -i Define la interfaz.
  4. -s ignora el límite de snaplen.
  5. -k Ignora la suma de comprobación.

Esto debería validar la configuración y forzar todos los conjuntos de reglas a Snort. Una vez que detecte cualquier perturbación en la red, lo alertará con un mensaje de consola.

Si desea crear e implementar su propio conjunto de reglas, puede obtener más información sobre ellas en Páginas de documentación oficial. Verificar Los mejores servicios de firewall de aplicaciones web para proteger el sitio web.

Estableciendo récords con Snort

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

De forma predeterminada, Snort no genera ningún registro. Necesitas especificar usando la etiqueta -L Para iniciar Snort en modo de registro, especifique el tipo de archivo de registro y una etiqueta -l Establece el directorio de registro para que Snort descargue registros.

Aquí está el comando para iniciar Snort con los registros habilitados:

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

explicación del comando:

  1. -c Especifica la ruta al archivo de configuración predeterminado.
  2. -R Especifica la ruta a la regla que se está aplicando.
  3. -i Define la interfaz.
  4. -s ignora el límite de snaplen.
  5. -k Ignora la suma de comprobación.
  6. -L Habilita el modo de grabación y especifica el tipo de archivo de registro.
  7. el especifica -l Ruta de almacenamiento de registros.

Tenga en cuenta que en el ejemplo de comando anterior, el directorio de registro se establece en /var/log/resoplido. Aunque esta es una práctica recomendada, puede almacenar sus registros en otro lugar.

Puede leer los archivos de registro de Snort desde el directorio que especificó o pasarlos a una aplicación SIEM como Splunk para un análisis más detallado.

Agregue Snort como un proceso daemon para iniciarlo con el sistema

Cómo instalar y configurar Snort IDS en Linux para proteger su red - Linux

Aunque tenga Snort instalado y configurado, debe asegurarse de que comience a ejecutarse al inicio y se ejecute como un servidor en segundo plano. Agregarlo como un servicio de sistema de inicio automático garantizará que Snort esté funcionando y defendiendo su sistema todo el tiempo que esté en línea.

Aquí se explica cómo agregar el proceso daemon para iniciar Snort en Linux:

  • Comience por crear un archivo de servicio sistemad nuevo:
touch /lib/systemd/system/snort.service
  • Abra el archivo en un editor de texto de su elección y complételo con los siguientes datos. Puede modificar las etiquetas para adaptarlas a sus necesidades:
[Unit]
Description=Snort Daemon
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
  • Guardar y salir del archivo. Después de eso, usando los dos comandos de coches و systemctl , habilite e inicie el script:
sudo systemctl enable snort.service
sudo snort start

El demonio Snort ahora debería estar ejecutándose. Puede verificar el estado del script usando el comando. Debería devolver una salida positiva.

systemctl status snort

Ahora ya sabes cómo proteger tu red con Snort IDS

Si bien IDS es una buena práctica, es más una acción pasiva que activa. La mejor manera de mejorar y garantizar la seguridad de su red es probarla constantemente y buscar fallas que deban corregirse.

Las pruebas de penetración son una excelente manera de encontrar y parchear vulnerabilidades explotables. Puedes ver ahora Las mejores herramientas de prueba de penetración para profesionales de seguridad cibernética.

Ir al botón superior