Características de la configuración de DPI

Este artículo no cubre el ajuste completo de DPI ni todo lo relacionado entre sí, y el valor científico del texto es mínimo. Pero describe la forma más sencilla de evitar el DPI, que muchas empresas no han tenido en cuenta.

Características de la configuración de DPI

Descargo de responsabilidad n.º 1: este artículo es de naturaleza de investigación y no anima a nadie a hacer ni utilizar nada. La idea se basa en la experiencia personal y cualquier similitud es aleatoria.

Advertencia nº 2: el artículo no revela los secretos de la Atlántida, la búsqueda del Santo Grial y otros misterios del universo, todo el material está disponible gratuitamente y puede haber sido descrito más de una vez en Habré. (No lo encontré, agradecería el enlace)

Para aquellos que hayan leído las advertencias, comencemos.

¿Qué es el DPI?

DPI o Deep Packet Inspection es una tecnología para acumular datos estadísticos, verificar y filtrar paquetes de red analizando no solo los encabezados de los paquetes, sino también el contenido completo del tráfico en los niveles del modelo OSI del segundo y superior, lo que le permite detectar y bloquear virus, filtrar información que no cumpla con criterios específicos.

Hay dos tipos de conexión DPI, que se describen ValdikSS en github:

DPI pasivo

DPI conectado a la red del proveedor en paralelo (no en corte), ya sea a través de un divisor óptico pasivo o mediante duplicación del tráfico proveniente de los usuarios. Esta conexión no ralentiza la velocidad de la red del proveedor en caso de un rendimiento DPI insuficiente, por lo que es utilizada por grandes proveedores. Técnicamente, DPI con este tipo de conexión solo puede detectar un intento de solicitar contenido prohibido, pero no detenerlo. Para evitar esta restricción y bloquear el acceso a un sitio prohibido, DPI envía al usuario que solicita una URL bloqueada un paquete HTTP especialmente diseñado con una redirección a la página auxiliar del proveedor, como si dicha respuesta fuera enviada por el propio recurso solicitado (la dirección IP del remitente). dirección y secuencia TCP están falsificadas). Debido a que el DPI está físicamente más cerca del usuario que el sitio solicitado, la respuesta falsificada llega al dispositivo del usuario más rápido que la respuesta real del sitio.

DPI activos

Active DPI: DPI conectado a la red del proveedor de la forma habitual, como cualquier otro dispositivo de red. El proveedor configura el enrutamiento para que DPI reciba tráfico de los usuarios a direcciones IP o dominios bloqueados, y luego DPI decide si permite o bloquea el tráfico. Active DPI puede inspeccionar tanto el tráfico saliente como entrante; sin embargo, si el proveedor usa DPI solo para bloquear sitios del registro, lo más frecuente es que esté configurado para inspeccionar solo el tráfico saliente.

No solo la efectividad del bloqueo del tráfico, sino también la carga de DPI depende del tipo de conexión, por lo que es posible escanear no todo el tráfico, sino solo uno determinado:

DPI "normales"

Un DPI "normal" es un DPI que filtra un determinado tipo de tráfico sólo en los puertos más comunes para ese tipo. Por ejemplo, un DPI "normal" detecta y bloquea el tráfico HTTP prohibido solo en el puerto 80, el tráfico HTTPS en el puerto 443. Este tipo de DPI no rastreará el contenido prohibido si envía una solicitud con una URL bloqueada a una IP desbloqueada o no. puerto estándar.

DPI "completos"

A diferencia del DPI "normal", este tipo de DPI clasifica el tráfico independientemente de la dirección IP y el puerto. De esta manera, los sitios bloqueados no se abrirán incluso si está utilizando un servidor proxy en un puerto completamente diferente y una dirección IP desbloqueada.

Usando PPP

Para no reducir la velocidad de transferencia de datos, es necesario utilizar DPI pasivos "normales", lo que le permite hacerlo de manera efectiva. bloquear alguno? recursos, la configuración predeterminada se ve así:

  • Filtro HTTP solo en el puerto 80
  • HTTPS solo en el puerto 443
  • BitTorrent sólo en los puertos 6881-6889

Pero los problemas comienzan si el recurso utilizará un puerto diferente para no perder usuarios, entonces tendrás que revisar cada paquete, por ejemplo puedes dar:

  • HTTP funciona en los puertos 80 y 8080
  • HTTPS en los puertos 443 y 8443
  • BitTorrent en cualquier otra banda

Debido a esto, tendrá que cambiar a DPI "activo" o utilizar el bloqueo mediante un servidor DNS adicional.

Bloqueo usando DNS

Una forma de bloquear el acceso a un recurso es interceptar la solicitud DNS utilizando un servidor DNS local y devolver al usuario una dirección IP "stub" en lugar del recurso requerido. Pero esto no da un resultado garantizado, ya que es posible evitar la suplantación de direcciones:

Opción 1: editar el archivo de hosts (para escritorio)

El archivo de hosts es una parte integral de cualquier sistema operativo, lo que le permite utilizarlo siempre. Para acceder al recurso, el usuario debe:

  1. Descubra la dirección IP del recurso requerido
  2. Abra el archivo de hosts para editarlo (se requieren derechos de administrador), ubicado en:
    • Linux: /etc/hosts
    • Windows: %WinDir%System32driversesetchosts
  3. Agregue una línea en el formato: <nombre del recurso>
  4. Guardar cambios

La ventaja de este método es su complejidad y el requisito de derechos de administrador.

Opción 2: DoH (DNS sobre HTTPS) o DoT (DNS sobre TLS)

Estos métodos le permiten proteger su solicitud de DNS contra la suplantación de identidad mediante cifrado, pero la implementación no es compatible con todas las aplicaciones. Veamos la facilidad de configurar DoH para Mozilla Firefox versión 66 desde el lado del usuario:

  1. Ir a la dirección about: config en Firefox
  2. Confirmar que el usuario asume todos los riesgos.
  3. Cambiar valor del parámetro modo.trr.red en:
    • 0 - desactivar TRR
    • 1 - selección automática
    • 2 - habilitar DoH de forma predeterminada
  4. Cambiar parámetro red.trr.uri seleccionando el servidor DNS
    • DNS de nube: mozilla.cloudflare-dns.com/dns-query
    • DNS de Google: dns.google.com/experimental
  5. Cambiar parámetro network.trr.boostrapDirección en:
    • Si se selecciona Cloudflare DNS: 1.1.1.1
    • Si se selecciona Google DNS: 8.8.8.8
  6. Cambiar valor del parámetro red.seguridad.esni.enabled en verdadero
  7. Compruebe que la configuración sea correcta utilizando Servicio de nube

Aunque este método es más complejo, no requiere que el usuario tenga derechos de administrador y existen muchas otras formas de proteger una solicitud de DNS que no se describen en este artículo.

Opción 3 (para dispositivos móviles):

Usando la aplicación Cloudflare para Android и IOS.

pruebas

Para comprobar la falta de acceso a los recursos, se compró temporalmente un dominio bloqueado en la Federación de Rusia:

Conclusión

Espero que este artículo sea útil y anime no solo a los administradores a comprender el tema con más detalle, sino que también les permita comprender que Los recursos siempre estarán del lado del usuario, y la búsqueda de nuevas soluciones debe ser parte integral para él.

Enlaces de interés

Adición fuera del artículo.La prueba de Cloudflare no se puede completar en la red del operador Tele2 y un DPI configurado correctamente bloquea el acceso al sitio de prueba.
PD: Hasta ahora, este es el primer proveedor que bloquea correctamente los recursos.

Fuente: habr.com

Añadir un comentario