Este artigo não aborda a configuração completa do DPI e não tem grande valor científico. No entanto, descreve um método simples de contornar o DPI, que muitas empresas não levaram em consideração.

Aviso nº 1: este artigo tem caráter investigativo, não incentiva ninguém a tomar qualquer ação ou a usar as informações. A ideia se baseia em experiência pessoal e quaisquer semelhanças são coincidências.
Aviso nº 2: o artigo não revela os segredos da Atlântida, a busca pelo Santo Graal ou outros mistérios do universo; todo o material está disponível publicamente e pode ter sido descrito anteriormente no Habr. (não encontrei, ficaria agradecido pela referência)
Para aqueles que leram os avisos, vamos começar.
O que é DPI?
DPI ou Inspeção Profunda de Pacotes — é uma tecnologia que coleta dados estatísticos, verifica e filtra pacotes de rede, analisando não apenas os cabeçalhos dos pacotes, mas também o conteúdo total do tráfego nos níveis do modelo OSI a partir do segundo nível, permitindo detectar e bloquear vírus, filtrando informações que não atendem aos critérios definidos.
Existem dois tipos de conexão DPI, que são descritos :
DPI Passivo
DPI conectado à rede do provedor em paralelo (não em série) ou através de um divisor óptico passivo, ou usando a mirroring do tráfego de saída dos usuários. Esse tipo de conexão não desacelera a velocidade da rede do provedor em caso de desempenho insuficiente do DPI, sendo por isso utilizado por grandes provedores. O DPI com esse tipo de conexão tecnicamente pode apenas detectar tentativas de acesso a conteúdo proibido, mas não bloqueá-las. Para contornar essa limitação e bloquear o acesso a um site proibido, o DPI envia ao usuário que solicita um URL bloqueado um pacote HTTP especialmente formatado que redireciona para uma página de aviso do provedor, como se tal resposta tivesse sido enviada pelo próprio recurso solicitado (o IP do remetente e a sequência TCP são falsificados). Como o DPI está fisicamente mais próximo do usuário do que o site solicitado, a resposta falsificada chega ao dispositivo do usuário mais rapidamente do que a resposta real do site.
DPI Ativo
O DPI Ativo é o DPI conectado à rede do provedor de maneira convencional, assim como qualquer outro dispositivo de rede. O provedor configura o roteamento para que o DPI receba o tráfego dos usuários para endereços IP ou domínios bloqueados, e o DPI então decide se deve permitir ou bloquear o tráfego. O DPI Ativo pode verificar tanto o tráfego de saída quanto o de entrada; no entanto, se o provedor aplicar o DPI apenas para bloquear sites do registro, geralmente ele é configurado para verificar apenas o tráfego de saída.
O tipo de conexão depende não apenas da eficácia do bloqueio de tráfego, mas também da carga sobre o DPI, por isso existe a possibilidade de não verificar todo o tráfego, mas apenas uma parte específica:
DPI "Comum"
Um DPI "comum" é entendido como um DPI que filtra um determinado tipo de tráfego apenas nas portas mais comuns para esse tipo. Por exemplo, o DPI "comum" identifica e bloqueia tráfego HTTP proibido apenas na porta 80 e tráfego HTTPS na porta 443. Esse tipo de DPI não rastreará conteúdo proibido se você enviar uma solicitação com uma URL bloqueada para um IP desbloqueado ou uma porta não padrão.
DPI "Completo"
Ao contrário do DPI "comum", este tipo de DPI classifica o tráfego independentemente do endereço IP e da porta. Assim, sites bloqueados não serão acessíveis, mesmo que você use um servidor proxy em uma porta completamente diferente e um endereço IP desbloqueado.
Uso do DPI
Para não reduzir a velocidade de transmissão de dados, é necessário utilizar o DPI "Comum" passivo, que permite bloquear efetivamente quaisquer recursos. Por padrão, a configuração é a seguinte:
- HTTP filtrado apenas na porta 80
- HTTPS apenas na porta 443
- BitTorrent apenas nas portas de 6881 a 6889
Mas os problemas começam se o recurso usar uma porta diferente, para não perder usuários, então será necessário verificar cada pacote; por exemplo:
- HTTP funciona nas portas 80 e 8080
- HTTPS nas portas 443 e 8443
- BitTorrent em qualquer outro intervalo
Por causa disso, será necessário ou migrar para o DPI "Ativo" ou usar bloqueio através de um servidor DNS adicional.
Bloqueio por meio do DNS
Uma das maneiras de bloquear o acesso a um recurso é interceptar a consulta DNS com um servidor DNS local e devolver ao usuário o endereço IP de um "placeholder" em vez do recurso desejado. No entanto, isso não garante resultados, pois ainda existe a possibilidade de se evitar a substituição do endereço:
Opção 1: Edição do arquivo hosts (para desktop)
O arquivo hosts é uma parte essencial de qualquer sistema operacional, o que permite sempre utilizá-lo. Para acessar o recurso, o usuário deve:
- Descobrir o endereço IP do recurso desejado
- Abrir para edição o arquivo hosts (são necessários privilégios de administrador), localizado em:
- Linux: /etc/hosts
- Windows: %WinDir%System32driversetchosts
- Adicionar uma linha no formato:
- Salvar as alterações
A vantagem deste método é sua complexidade e a exigência de ter privilégios de administrador.
Opção 2: DoH (DNS over HTTPS) ou DoT (DNS over TLS)
Esses métodos protegem contra a substituição da consulta DNS por meio de criptografia, mas a implementação não é suportada por todos os aplicativos. Vamos considerar a facilidade de configuração do DoH para o Mozilla Firefox versão 66 do ponto de vista do usuário:
- Navegar até o endereço no Firefox
- Confirmar que o usuário assume todo o risco
- Mudar o valor da configuração network.trr.mode por:
- 0 — desativar TRR
- 1 — seleção automática
- 2 — ativar DoH por padrão
- Alterar a configuração network.trr.uri escolhendo o servidor DNS
- Cloudflare DNS:
- Google DNS:
- Alterar a configuração network.trr.boostrapAddress por:
- Se o DNS do Cloudflare for escolhido: 1.1.1.1
- Se o DNS do Google for escolhido: 8.8.8.8
- Mudar o valor da configuração network.security.esni.enabled para verdadeiro
- Verificar a configuração correta usando
Embora este método seja mais complexo, ele não exige que o usuário tenha privilégios de administrador, e existem muitos outros métodos de proteção de consulta DNS que não são descritos neste artigo.
Opção 3 (para dispositivos móveis):
Uso do aplicativo da Cloudflare para e .
Testes
Para verificar a falta de acesso a recursos, um domínio bloqueado na Rússia foi temporariamente adquirido:
Conclusão
Espero que este artigo seja útil e incentive não apenas os administradores a aprofundar-se no assunto, mas também forneça a compreensão de que os recursos estarão sempre do lado do usuário, e a busca por novas soluções deve ser uma parte imprescindível para eles.
Links Úteis
Complemento fora do artigoO teste no Cloudflare não pode ser concluído na rede do operador Tele2, e um DPI corretamente configurado bloqueia o acesso à plataforma de teste.
P.S. Este é o primeiro provedor que bloqueia corretamente os recursos.
Fonte: habr.com
