27
Utilizando Layer7 Para Filter y QoS

Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Utilizando Layer7Para Filter y QoS

Page 2: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Sobre nosotros

Page 3: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Objetivo de esta presentación● Poder detectar y marcar tráfico en base al contenido de

alguno de los paquetes de una conexión.

● Aplicar reglas de Filter.

● Aplicar políticas de QoS.

● En esta presentación se darán ejemplos con sitios web.

Page 4: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Agenda

● Introducción

● Comunicación con un sitio web○ Comunicación DNS○ Comunicación HTTP○ Comunicación HTTPs○ Comunicación QUIC

● Layer7 en acción○ Detección con Layer7○ Ejemplos con Filter y QoS

● Consideraciones especiales○ Compatibilidad con IPv6○ DNS gestionado

Page 5: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Tipo de comunicaciones

Page 6: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

IntroducciónAlgunos mitos y verdades:

“Layer7 no funciona con tráfico HTTPs”Cierto, aunque de todos modos algo puede hacerse.

“Layer7 no funciona con servicios de Google”Falso, el problema viene de asociado al protocolo QUIC.

“Layer7 me carga mucho el CPU”Cierto, pero bien configurado podemos evitar el problema.

Page 7: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Comunicación con un sitio Web● Para conocer cómo funcionan estas comunicaciones utilizamos Wireshark:

Page 8: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Comunicación con un sitio Web● Sitio común HTTP/HTTPs

1) Consulta DNS(UDP 53)

2) Conexión HTTP/HTTPs(TCP 80 o TCP 443)

Page 9: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Comunicación con un sitio Web● Sitio de Google Inc. desde Chrome

1) Consulta DNS(UDP 53)

2) Conexión QUIC(UDP 80 o UDP 443)

Page 10: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Comunicación DNS

● Se puede detectar y filtrar esta consulta.

● No es posible realizar QoS.

Page 11: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Comunicación HTTP

● Se puede detectar y filtrar esta consulta.

● Acá si es posible realizar QoS.

Page 12: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Comunicación HTTPs

● HTTPs es encriptado, pero antes de establecerse utiliza ClientHello que tiene un parámetro llamado Server Name.

● Se puede detectar y filtrar esta consulta.

● Acá si es posible realizar QoS.

Page 13: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Comunicación QUIC

● QUIC corre sobre UDP y es encriptado, pero antes de establecerse también utiliza ClientHello que tiene un parámetro llamado Server Name (igual que TLS).

● Se puede detectar y filtrar esta consulta.

● Acá si es posible realizar QoS.

Page 14: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Layer7 en acción

Page 15: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con Filter - Detección con Layer7/ip firewall layer7-protocoladd name=Facebook regexp="^.+(facebook).*\$"

Page 16: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con Filter (HTTP/HTTPs)/ip firewall filteradd comment="Analisis TCP" \chain=forward \protocol=tcp \dst-port=80,443 \connection-bytes=0-100000 \action=jump jump-target=analisis_layer7

Acotar la regla a conexiones TCP 80 y 443.

Conexiones de hasta 100k de transferencia.

Salto a otra cadena.

Page 17: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con Filter (HTTP/HTTPs)/ip firewall filteradd comment="Bloquear Facebook" \chain=analisis_layer7 \protocol=tcp \layer7-protocol=Facebook \action=reject reject-with=tcp-reset

Registro Layer7.

Rechazo instantáneo.

Page 18: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con Filter (QUIC)/ip firewall filteradd comment="Analisis UDP" \chain=forward \protocol=udp \dst-port=80,443 \connection-bytes=0-100000 \action=jump jump-target=analisis_layer7

Acotar la regla a conexiones UDP 80 y 443.

QUIC funciona en UDP.

Salto a otra cadena.

Page 19: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con Filter (QUIC)/ip firewall filteradd comment="Bloquear YouTube" \chain=analisis_layer7 \layer7-protocol=YouTube \action=reject reject-with=icmp-admin-prohibited

Registro Layer7.

Rechazo casi instantáneo.

Page 20: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con Filter (HTTP/HTTPs/QUIC)

Page 21: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con QoS - Detección con Layer7/ip firewall layer7-protocoladd name=YouTube \regexp="^.+(youtube.com|youtu.be|googlevideo.com).*\$"

Page 22: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con QoS/ip firewall mangleadd comment="Marcar conexiones de YouTube" \chain=forward \connection-mark=no-mark \layer7-protocol=YouTube \action=mark-connection \new-connection-mark=mc_youtube \passthrough=yes

Page 23: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con QoS/ip firewall mangleadd comment="Marcar paquetes de YouTube" \chain=forward \connection-mark=mc_youtube \action=mark-packet \new-packet-mark=mc_youtube \passthrough=no

Page 24: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Ejemplo con QoS/queue simpleadd name="No Vas A Ver YouTube, No" \target="" \packet-marks=mc_youtube \max-limit=1k/1k

Page 25: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Consideraciones especiales

Page 26: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

Consideraciones especiales● Para QoS por sitio web, de momento esta es la única técnica que

se puede utilizar sobre cierto patrón de tráfico*.

● Para filtrado, esta técnica es poco escalable y es recomendable utilizar un DNS gestionado.

● En IPv6 aún no está disponible el comparador Layer7, pero puede utilizarse el comparador content.

Page 27: Utilizando Layer7 - mum.mikrotik.com · Objetivo de esta presentación Poder detectar y marcar tráfico en base al contenido de alguno de los paquetes de una conexión. Aplicar reglas

¿Preguntas?Utilizando Layer7 para Filter y QoS