Características de configuración de DPI

Este artículo no trata la configuración completa de DPI y todo lo relacionado entre sí, y el valor científico del texto es mínimo. Pero describe la forma más sencilla de eludir DPI, que muchas empresas no han tenido en cuenta.

imagen

Advertencia No. 1: este artículo es de naturaleza investigadora, no alienta a nadie a hacer nada y usarlo. La idea se basa en la experiencia personal, y cualquier coincidencia es aleatoria.

Advertencia # 2: el artículo no revela los secretos de Atlantis, la búsqueda del Santo Grial y otros misterios del universo, todo el material es de dominio público y puede haber sido descrito más de una vez en Habré. (No encontré, estaré agradecido por el enlace)

Para aquellos que leen las advertencias, comencemos.

¿Qué es el DPI?


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

Hay dos tipos de conexiones DPI descritas por ValdikSS en github :
DPI pasivo

DPI conectado a la red del proveedor en paralelo (no en el corte), ya sea a través de un divisor óptico pasivo o utilizando la duplicación del tráfico proveniente de los usuarios. Dicha conexión no reduce la velocidad de la red del proveedor en caso de un rendimiento insuficiente de DPI, por lo que es utilizado por grandes proveedores. DPI con este tipo de conexión técnicamente solo puede detectar un intento de solicitar contenido prohibido, pero no detenerlo. Para eludir esta restricción y bloquear el acceso al sitio prohibido, DPI envía un paquete HTTP especialmente formado al usuario solicitando la URL bloqueada con redireccionamiento a la página auxiliar del proveedor, como si el recurso solicitado hubiera enviado dicha respuesta (la dirección IP del remitente y la secuencia TCP están falsificadas). Debido al hecho de 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 activo

DPI activo: DPI conectado a la red del proveedor de la manera habitual, como cualquier otro dispositivo de red. El proveedor configura el enrutamiento para que el DPI reciba tráfico de los usuarios a direcciones IP o dominios bloqueados, y el DPI ya decide permitir o bloquear el tráfico. El DPI activo puede verificar tanto el tráfico saliente como el entrante, sin embargo, si el proveedor usa DPI solo para bloquear sitios del registro, la mayoría de las veces está configurado para escanear solo el tráfico saliente.

No solo la eficiencia de bloqueo del tráfico, sino también la carga de DPI depende del tipo de conexión, por lo que existe la posibilidad de no verificar todo el tráfico, sino solo cierto:
DPI normal

Un DPI "normal" es un DPI que filtra un cierto tipo de tráfico solo en los puertos más comunes para este tipo. Por ejemplo, un DPI "normal" detecta y bloquea el tráfico HTTP prohibido solo en el puerto 80 y 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 un puerto no estándar.

DPI completo

A diferencia del DPI "regular", este tipo de DPI clasifica el tráfico independientemente de la dirección IP y el puerto. Por lo tanto, los sitios bloqueados no se abrirán incluso si usa un servidor proxy en un puerto completamente diferente y una dirección IP desbloqueada.

Uso de DPI


Para no reducir la velocidad de transferencia de datos, debe usar el DPI pasivo "Normal", que le permite efectivamente. bloquear alguna? recursos, la configuración predeterminada se ve así:

  • Filtro HTTP solo en el puerto 80
  • HTTPS solo en el puerto 443
  • BitTorrent solo en puertos 6881-6889

Pero los problemas comienzan, si el recurso usa un puerto diferente para no perder usuarios , entonces tendrá que verificar cada paquete, por ejemplo, puede citar:

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

Debido a esto, tendrá que cambiar a DPI activo o usar el bloqueo con un servidor DNS adicional.

Bloqueo de DNS


Una forma de bloquear el acceso a un recurso es interceptar una consulta DNS utilizando el servidor DNS local y devolver la dirección IP del "código auxiliar" al usuario, 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: Edición del archivo de hosts (para escritorio)

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

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

La ventaja de este método es su complejidad y los requisitos para tener derechos de administrador.

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

Estos métodos le permiten proteger la consulta DNS mediante el cifrado de la suplantación de identidad, pero la implementación no es compatible con todas las aplicaciones. Considere la facilidad de configuración del DoH para Mozilla Firefox versión 66 por parte del usuario:

  1. Ir a acerca de: config en Firefox
  2. Confirme que el usuario asume todos los riesgos.
  3. Cambie el valor del parámetro network.trr.mode a:
    • 0 - deshabilitar TRR
    • 1 - selección automática
    • 2 - habilita DoH por defecto
  4. Cambie el parámetro network.trr.uri seleccionando el servidor DNS
  5. Cambie el parámetro network.trr.boostrapAddress a:
    • Si se selecciona Cloudflare DNS: 1.1.1.1
    • Si se selecciona Google DNS: 8.8.8.8
  6. Cambie el valor del parámetro network.security.esni.enabled a verdadero
  7. Verifique la configuración con Cloudflare

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

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

Usando la aplicación de Cloudflare para Android e IOS .

Prueba


Para verificar la falta de acceso a los recursos, se compró temporalmente un dominio bloqueado en el territorio de la Federación Rusa:

  • Comprobación HTTP + puerto 80
  • Comprobación HTTP + puerto 8080
  • Verifique el puerto HTTPS + 443
  • Verifique el puerto HTTPS + 8443

Conclusión


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

Enlaces utiles



Adición fuera del artículo
La prueba Cloudflare no se puede pasar en la red 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.

Source: https://habr.com/ru/post/453260/


All Articles