Cómo utilizar el sistema de detección de intrusiones Snort en Linux

Contenidos

Hocico de cerdo

Ejecute Snort en Linux y proteja su red con análisis de tráfico en tiempo real y detección de amenazas. La seguridad lo es todo y Snort es de clase mundial. Este cerdo podría salvar tu tocino.

¿Qué es Snort?

Snort es uno de los más conocidos y ampliamente utilizados. sistemas de detección de intrusos en la red (NIDS). Ha sido llamado uno de los los proyectos de código abierto más importantes de todos los tiempos. Desarrollado originalmente por Sourcefire, ha sido mantenido por De Cisco Talos Security Intelligence and Research Group dado que Cisco adquirió Sourcefire en 2013.

Snort analiza el tráfico de la red en tiempo real y señala cualquier actividad sospechosa. En particular, busca cualquier cosa que pueda indicar intentos de acceso no autorizados y otros ataques a la red. Un conjunto completo de normas defina qué cuenta como «sospechoso» y qué debe hacer Snort si se activa una regla.

De la misma manera que los paquetes antivirus y antimalware se centran en definiciones de firmas de virus actualizadas para poder identificarlo y protegerlo de las amenazas más recientes, las reglas de Snort se actualizan y vuelven a emitir a menudo para que Snort siempre funcione de manera óptima. eficacia.

Las reglas de Snort

Existen tres conjuntos de reglas:

  • Reglas de la comunidad: Estos son conjuntos de reglas de libre acceso, creados por la comunidad de usuarios de Snort.
  • Reglas registradas: Talos proporciona estos conjuntos de reglas. Además están disponibles gratuitamente, pero debe registrarse para obtenerlos. El registro es sin costes y solo toma un momento. Recibirás un personal oinkcode que debe incluir en la solicitud de descarga.
  • Reglas de suscripción: Estas son las mismas reglas que las reglas registradas. A pesar de esto, los suscriptores reciben las reglas aproximadamente un mes antes de que se publiquen como conjuntos de reglas gratuitos para usuarios registrados. En el momento de redactar este documento, las suscripciones de 12 meses comienzan en USD $ 29 para uso personal y USD $ 399 para uso comercial.

Instalación de Snort

En un momento, la instalación de Snort era un procedimiento manual prolongado. No fue difícil, pero hubo muchos pasos y era fácil perder uno. Las principales distribuciones de Linux han simplificado las cosas al hacer que Snort esté disponible en sus repositorios de software.

Las versiones en los repositorios a veces se quedan atrás de la última versión que está habilitada en el portal web de Snort. Si lo desea, puede descargar y instalar desde la fuente. Siempre que tenga la última normas, no importa demasiado si tu Snort no es el último y el mejor, siempre que no sea antiguo.

Para investigar este post, instalamos Snort en Ubuntu 20.04, Fedora 32 y Manjaro 20.0.1.

Para instalar Snort en Ubuntu, use este comando:

sudo apt-get install snort

A medida que avanza la instalación, se le harán un par de preguntas. Puede hallar las respuestas a estos usando el ip addr comando antes de comenzar la instalación, o en una ventana de terminal separada.

ip  addr

Tome nota del nombre de su interfaz de red. En esta computadora de investigación, es enp0s3.

Al mismo tiempo, mira tu dirección IP. Esta computadora cuenta con una dirección IP de 192.168.1.24. El extra «/24» es itinerario entre recesos (CIDR) notación. Esto nos dice el rango de direcciones de la red. Significa que esta red cuenta con una máscara de subred de 255.255.255.0, que tiene tres conjuntos iniciales de ocho bits (y 3 x 8 = 24). No necesita preocuparse demasiado es por esto que, solo registre lo que sea que su dirección IP incluya la notación CIDR. Debe proporcionar esto como respuesta a una de las preguntas, con el último octeto de la dirección IP cambiado a cero. En nuestro ejemplo, esto es 192.168.1.0/24.

Presione «Tab» para resaltar el botón «Aceptar» y presione «Entrar».

Escriba el nombre de la interfaz de red y presione «Tab» para resaltar el botón «Aceptar», y presione «Entrar».

Escriba el rango de direcciones de red en formato CIDR, presione «Tab» para resaltar el botón «Aceptar» y presione «Entrar».

proporcionar los detalles de la red en notación CIDR en un terminal windwo

Para instalar Snort en Fedora, necesita utilizar dos comandos:

rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-32.rpm

sudo dnf install snort

En Manjaro, el comando que necesitamos no es el usual pacman, está pamac. Y no necesitamos utilizar sudo:

pamac install snort

Cuando se le pregunte si desea crear Snort a partir de AUR (Repositorio de usuarios de Arch) presione «Y» y presione «Enter». No queremos editar los archivos de compilación, por lo tanto responda esa pregunta presionando «N» y presionando «Enter». Presione «Y» y presione «Enter» cuando se le pregunte si se debe aplicar la transacción.

Se le pedirá su contraseña.

Las versiones de Snort que se instalaron fueron:

  • Ubuntu: 2.9.7.0
  • Fedora: 2.9.16.1
  • Manjaro: 2.9.16.1

Puede verificar su versión usando:

snort --version

Configuración de Snort

Hay que completar algunos pasos antes de que podamos ejecutar Snort. Necesitamos editar el archivo «snort.conf».

sudo gedit /etc/snort/snort.conf

Busque la línea que dice «ipvar HOME_NET any”Y edítelo para reemplazar“ cualquiera ”con el rango de direcciones de notación CIDR de su red.

archivo de configuración snort.conf en el editor gedit

Guarda los cambios y cierra el archivo.

Actualización de las reglas de Snort

Para asegurarse de que su copia de Snort brinde el máximo nivel de protección, actualice las reglas a la versión más reciente. Esto garantiza que Snort tenga acceso al conjunto más reciente de definiciones de ataques y acciones de protección.

Si se ha registrado y obtenido el suyo oinkcode, puede usar el siguiente comando para descargar el conjunto de reglas para usuarios registrados. El resoplido página de descarga enumera los conjuntos de reglas disponibles, incluido el conjunto de reglas de la comunidad para el que no es necesario registrarse.

Descargue el conjunto de reglas para la versión de Snort que ha instalado. Estamos descargando la versión 2.9.8.3, que es la más cercana a la versión 2.9.7.0 de Snort que estaba en el repositorio de Ubuntu.

wget https://www.snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=<your oink code goes here> -O snortrules-snapshot-2983.tar.gz

Una vez que se complete la descarga, use este comando para extraer las reglas e instalarlas en el directorio “/ etc / snort / rules”.

sudo tar -xvzf snortrules-snapshot-2983.tar.gc -C /etc/snort/rules

Modo promiscuo

Las tarjetas de interfaz de red de forma general ignoran el tráfico que no está destinado a su dirección IP. Queremos que Snort detecte el tráfico de red sospechoso dirigido a cualquier dispositivo de la red, no solo el tráfico de red que se envía a la computadora en la que está instalado Snort.

Para que la interfaz de red de la computadora Snort escuche todo el tráfico de la red, debemos configurarla en modo promiscuo. El siguiente comando hará que la interfaz de red enp0s3 para operar en modo promiscuo. Sustituir enp0s3 con el nombre de la interfaz de red que está usando en su computadora.

sudo ip link set enp0s3 promisc on

Si está ejecutando Snort en una máquina virtual, recuerde además ajustar la configuración en su hipervisor para la tarjeta de red virtual utilizada por su máquina virtual. A modo de ejemplo, en VirtualBox, debe ir a Settings > Network > Advanced y cambie el menú desplegable «Modo promiscuo» a «Permitir todo».

Pestaña de configuración del adaptador de red de VirtualBox

RELACIONADO: Cómo usar el comando ip en Linux

Corriendo Snort

Ahora puede iniciar Snort. El formato del comando es:

sudo snort -d -l /var/log/snort/ -h 192.168.1.0/24 -A console -c /etc/snort/snort.conf

Sustituya su propio rango de IP de red en lugar del 192.168.1.0/24.

Las alternativas de la línea de comandos que se usan en este comando son:

  • -D: Filtra los paquetes de la capa de aplicación.
  • -l / var / log / snort /: Establece el directorio de registro.
  • -h 192.168.1.0/24: Esto no configura la red doméstica, que se configuró en el archivo «snort.conf». Con este valor establecido en el mismo valor que el de la red doméstica, los registros se estructuran de modo que el contenido de equipos remotos sospechosos se registre en directorios con el nombre de cada equipo remoto.
  • -Una consola: Envía alertas a la ventana de la consola.
  • -c /etc/snort/snort.conf: Indica qué archivo de configuración de Snort utilizar.

Snort desplaza una gran cantidad de resultados en la ventana del terminal, posteriormente ingresa a su modo de monitoreo y análisis. A menos que detecte alguna actividad sospechosa, no verá más resultados en la pantalla.

Desde otra computadora, empezamos a generar actividad maliciosa que estaba dirigida de forma directa a nuestra computadora de prueba, que estaba ejecutando Snort.

Snort identifica el tráfico de red como potencialmente malicioso, envía alertas a la ventana de la consola y escribe entradas en los registros.

Los ataques clasificados como «Fugas de información» indican que se ha intentado interrogar a su equipo en busca de información que pueda ayudar a un atacante. Esto probablemente indica que alguien está realizando un acreditación en su sistema.

Los ataques clasificados como ataques de «Denegación de servicio» indican un intento de inundar su computadora con tráfico de red falso. El ataque intenta abrumar su computadora hasta el punto de que no puede continuar brindando sus servicios.

Para verificar que el modo promiscuo está funcionando correctamente y estamos salvaguardando todo el rango de direcciones de red, dispararemos algo de tráfico malicioso en una computadora distinto y veremos si Snort lo detecta.

La actividad es detectada y reportada, y podemos ver que este ataque fue dirigido contra una computadora distinto con una dirección IP de 192.168.1.26. Snort está monitoreando todo el rango de direcciones de esta red.

Próximos pasos

Para mantener su vigilancia, Snort necesita reglas actualizadas. Puede escribir un pequeño script y poner los comandos para descargar e instalar las reglas en él, y determinar un cron trabajo para automatizar el proceso llamando al script periódicamente. los carne de cerdo script es un script listo para utilizar diseñado para hacer exactamente eso si no te apetece escribir el tuyo propio.

Snort no tiene un front-end o una interfaz gráfica de usuario. Los proyectos de terceros han creado varios y es factible que desee investigar algunos de ellos, como Snorby y Squil.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.