¿Cómo funciona la opción de flujo de Snort?

1

Por ejemplo, flow:established está detectando solo paquetes con sesiones conectadas.

Entonces, ¿el servidor está rechazando los paquetes que se reciben después de que la sesión se desconecta?

    
pregunta chwap 04.05.2017 - 08:42
fuente

2 respuestas

1

Simplemente, flow es una opción de regla de detección sin carga que utiliza el preprocesador Stream (anteriormente Stream5, Stream4). Recomiendo leer la siguiente documentación:

Para responder a tu pregunta:

  

Por ejemplo, el flujo: establecido está detectando solo paquetes con sesiones conectadas.

Me gustaría ampliar esto. Las conexiones TCP utilizan un protocolo de enlace de 3 vías ( 3WHS ). El cliente envía un SYN, el servidor responde con un SYN + ACK, y luego el cliente responde con un ACK.

Imagende: enlace

Al usar flow:established en una regla, le está diciendo a Snort que no se moleste en mirar [típicamente] los primeros tres paquetes en una secuencia TCP. Esto se hace porque normalmente no hay contenido (Datos de la aplicación) dentro.

Cuándo no utilizar established en su opción flow :

  1. Al escribir una firma que no usa TCP (por ejemplo, UDP, ICMP, IP)

  2. Al escribir una firma que está diseñada para apuntar paquetes dentro de 3WHS.

  

Entonces, ¿el servidor está rechazando los paquetes que se reciben después de que la sesión se desconecta?

Recuerde, Snort no es un servidor; es un Sistema de prevención / detección de intrusos en la red ( NIPS / NIDS ). La única forma en que rechazará los paquetes es si lo tiene configurado y ejecutándose en una configuración en línea (NIPS). Si no, solo puede observar el tráfico y no puede rechazar ni eliminar paquetes de forma activa.

Suponiendo que tenía Snort configurado y ejecutándose en modo en línea, si tuviera que escribir una regla como:

drop tcp any any -> any any (msg:"Dropping packets"; flow:established; sid:1; rev:1; )

... La regla se activará en cualquier paquete TCP que se haya visto después del 3WHS inicial. Esto le parecería tanto al cliente como al servidor como una conexión exitosa, pero no se transferirían datos, porque Snort estaría eliminando paquetes.

Recuerde que Snort es un motor de detección, así que no lo piense en términos de enviar / recibir datos o iniciar / establecer conexiones. Piense en ello como un observador pasivo (o en el caso de un IPS, un portero en un club nocturno).

Para obtener más información sobre flow o el preprocesador de Stream, lea la documentación que vinculé anteriormente.

¡Espero que esto responda a tu pregunta!

    
respondido por el Damian T. 05.12.2017 - 21:53
fuente
0
Opción

flow elige el syn sender como el cliente. Y simplemente dile a Snort en qué dirección va el tráfico.

Y Snort no afecta el comportamiento del tráfico, solo lo inspecciona en modo de identificación.

La opción

flow es útil para una red simple.

Peropuedeserinútilparaunaredcompleja.

    
respondido por el Mr.kang 04.05.2017 - 14:31
fuente

Lea otras preguntas en las etiquetas