Este artículo no aborda la configuración completa de DPI ni todo lo relacionado, y el valor científico del texto es mínimo. Sin embargo, describe la forma más sencilla de eludir el DPI, que muchas empresas no consideraron.

Advertencia nº 1: Este artículo tiene un carácter investigativo, no incita a nadie a actuar ni a utilizar nada. La idea se basa en la experiencia personal, y cualquier coincidencia es accidental.
Advertencia nº 2: El artículo no revela los secretos de Atlántida, la búsqueda del Santo Grial ni otros enigmas del universo. Todo el material es de acceso libre y posiblemente ha sido descrito anteriormente en la red. (No encontré, agradecería un enlace)
Para aquellos que leyeron las advertencias, empecemos.
¿Qué es el DPI?
DPI o Inspección Profunda de Paquetes es una tecnología de acumulación de datos estadísticos, verificación y filtrado de paquetes de red que analiza no solo los encabezados de los paquetes, sino también el contenido completo del tráfico a niveles del modelo OSI desde el segundo en adelante, lo que permite detectar y bloquear virus, filtrar información que no satisfaga ciertos criterios.
Existen dos tipos de conexión DPI que se describen :
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 utilizando el espejeo del tráfico saliente de los usuarios. Este tipo de conexión no ralentiza la velocidad de la red del proveedor en caso de que el DPI no tenga un rendimiento adecuado, por lo que se emplea en grandes proveedores. El DPI con este tipo de conexión técnicamente solo puede detectar intentos de solicitar contenido prohibido, pero no puede impedirlo. Para eludir esta limitación y bloquear el acceso a un sitio prohibido, el DPI envía al usuario que solicita una URL bloqueada un paquete HTTP especialmente elaborado que redirige a una página de aviso del proveedor, como si dicha respuesta fuera enviada por el recurso solicitado (falsificando la dirección IP del remitente y la secuencia TCP). Debido a que el DPI está físicamente más cerca del usuario que el sitio solicitado, la respuesta falsa llega al dispositivo del usuario más rápido que la respuesta real del sitio.
DPI Activo
DPI activo: es el DPI conectado a la red del proveedor de manera habitual, como cualquier otro dispositivo de red. El proveedor configura el enrutamiento para que el DPI reciba el tráfico de los usuarios hacia direcciones IP o dominios bloqueados, y el DPI luego toma la decisión de permitir o bloquear el tráfico. El DPI activo puede monitorizar tanto el tráfico saliente como el entrante; sin embargo, si el proveedor aplica DPI solo para bloquear sitios de un registro, generalmente se configura para verificar únicamente el tráfico saliente.
El tipo de conexión no solo afecta la eficacia del bloqueo del tráfico, sino también la carga del DPI, por lo que existe la posibilidad de no verificar todo el tráfico, sino solo uno específico:
DPI 'Normal'
Se entiende por 'DPI normal' aquel que filtra un tipo específico de tráfico solo en los puertos más comunes para ese tipo. Por ejemplo, el 'DPI normal' identifica 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á contenido prohibido si envías una solicitud con una URL bloqueada a una IP no bloqueada o a un puerto no estándar.
DPI 'Completo'
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 utilizas un servidor proxy en un puerto completamente diferente y en una dirección IP no bloqueada.
Uso de DPI
Para no reducir la velocidad de transmisión de datos se requiere usar un DPI pasivo 'Normal', el cual permite bloquear eficazmente cualquier recurso; por defecto, la configuración es la siguiente:
- HTTP se filtra solo en el puerto 80
- HTTPS solo en el puerto 443
- BitTorrent solo en los puertos 6881-6889
Pero los problemas comienzan si el recurso utiliza otro puerto para no perder usuarios, entonces habrá que verificar cada paquete; como ejemplo podemos citar:
- HTTP opera en los puertos 80 y 8080
- HTTPS en los puertos 443 y 8443
- BitTorrent en cualquier otro rango
Debido a esto, será necesario cambiar a DPI 'Activo' o usar el bloqueo mediante un servidor DNS adicional.
Bloqueo mediante DNS
Una de las formas de bloquear el acceso a un recurso es interceptar la solicitud DNS mediante un servidor DNS local y devolver al usuario la dirección IP de un "placeholder", en lugar del recurso solicitado. Sin embargo, esto no garantiza un resultado seguro, ya que existe la posibilidad de evitar el enmascaramiento de la dirección:
Opción 1: Editar el archivo hosts (para escritorio)
El archivo hosts es una parte integral de cualquier sistema operativo, lo que siempre permite su uso. Para acceder al recurso, el usuario debe:
- Conocer la dirección IP del recurso requerido
- Abrir el archivo hosts para editar (se requieren derechos de administrador), que se encuentra en:
- Linux: /etc/hosts
- Windows: %WinDir%System32driversetchosts
- Agregar una línea en el formato:
- Guardar los cambios
La ventaja de este método es su complejidad y el requisito de tener derechos de administrador.
Opción 2: DoH (DNS sobre HTTPS) o DoT (DNS sobre TLS)
Estos métodos permiten proteger contra el enmascaramiento de la solicitud DNS mediante cifrado, aunque no todas las aplicaciones soportan esta implementación. Veamos la facilidad de configurar DoH para Mozilla Firefox versión 66 desde el lado del usuario:
- Ir a la dirección en Firefox
- Confirmar que el usuario asume todo el riesgo
- Cambiar el valor del parámetro network.trr.mode a:
- 0 — desactivar TRR
- 1 — selección automática
- 2 — habilitar DoH por defecto
- Modificar el parámetro network.trr.uri eligendo el servidor DNS
- DNS de Cloudflare:
- DNS de Google:
- Modificar el parámetro network.trr.boostrapAddress a:
- Si se selecciona DNS de Cloudflare: 1.1.1.1
- Si se selecciona DNS de Google: 8.8.8.8
- Cambiar el valor del parámetro network.security.esni.enabled en true
- Verificar la configuración correcta utilizando
Aunque este método es más complicado, no requiere que el usuario tenga derechos de administrador, además existen muchos otros métodos de protección de la solicitud DNS que no se describen en este artículo.
Opción 3 (para dispositivos móviles):
Uso de la aplicación de Cloudflare para y .
Pruebas
Para verificar la falta de acceso a recursos, se compró temporalmente un dominio bloqueado en el territorio de RF:
Conclusión
Espero que este artículo sea útil y incentive no solo a los administradores a profundizar en el tema, sino que también dé una comprensión de que los recursos siempre estarán del lado del usuario y la búsqueda de nuevas soluciones debe ser una parte integral para ellos.
Enlaces útiles
Complemento fuera del artículoNo se puede pasar la prueba en Cloudflare en la red del operador Tele2, y un DPI correctamente configurado bloquea el acceso a la plataforma de pruebas.
P.D. Hasta ahora, este es el primer proveedor que bloquea correctamente los recursos.
Fuente: habr.com
