Este artigo não discute a configuração completa do DPI e tudo relacionado em conjunto, e o valor científico do texto é mínimo. Mas descreve a maneira mais simples de contornar o DPI, que muitas empresas não levaram em consideração.
Aviso nº 1: este artigo é uma pesquisa de natureza, não incentiva ninguém a fazer nada e usar. A ideia é baseada na experiência pessoal e quaisquer coincidências são aleatórias.Aviso número 2: o artigo não revela os segredos da Atlântida, a busca pelo Santo Graal e outros mistérios do universo, todo o material é de domínio público e pode ter sido descrito mais de uma vez em Habré. (Não encontrei, ficarei grato pelo link)Para quem lê os avisos, vamos começar.
O que é DPI?
DPI ou Deep Packet Inspection - uma tecnologia para acumular dados estatísticos, verificar e filtrar pacotes de rede, analisando não apenas os cabeçalhos de pacotes, mas também o conteúdo completo do tráfego nos níveis de modelo OSI do segundo e superior, o que permite detectar e bloquear vírus, filtrar informações que não atendem aos critérios especificados .
Existem dois tipos de conexões DPI descritas por
ValdikSS no github :
DPI passivo
DPI conectado à rede do provedor em paralelo (não no corte), através de um divisor óptico passivo ou usando o espelhamento do tráfego proveniente dos usuários. Essa conexão não diminui a velocidade da rede do provedor em caso de desempenho insuficiente de DPI, motivo pelo qual é usada por grandes fornecedores. O DPI com esse tipo de conexão tecnicamente pode detectar apenas uma tentativa de solicitar conteúdo proibido, mas não para. Para contornar essa restrição e bloquear o acesso ao site proibido, o DPI envia um pacote HTTP especialmente criado ao usuário que solicita o URL bloqueado com um redirecionamento para a página de stub do provedor, como se o próprio recurso solicitado tivesse enviado uma resposta (o endereço IP e a seqüência TCP do remetente são forjados). Devido ao fato de o DPI estar fisicamente localizado mais próximo do usuário do que o site solicitado, a resposta forjada chega ao dispositivo do usuário mais rapidamente do que a resposta real do site.
DPI ativo
DPI ativo - DPI conectado à rede do provedor da maneira usual, como qualquer outro dispositivo de rede. O provedor configura o roteamento para que o DPI receba tráfego dos usuários para endereços IP ou domínios bloqueados, e o DPI já decide permitir ou bloquear o tráfego. O DPI ativo pode verificar o tráfego de saída e de entrada; no entanto, se o provedor usa o DPI apenas para bloquear sites do registro, na maioria das vezes ele está configurado para verificar apenas o tráfego de saída.
Não apenas a eficiência de bloqueio do tráfego, mas também a carga de DPI depende do tipo de conexão; portanto, existe a possibilidade de não verificar todo o tráfego, mas apenas alguns:
DPI normal
Um DPI "normal" é um DPI que filtra um certo tipo de tráfego apenas nas portas mais comuns para esse tipo. Por exemplo, um DPI "normal" detecta e bloqueia o tráfego HTTP proibido apenas na porta 80 e o tráfego HTTPS na porta 443. Esse tipo de DPI não rastreia o conteúdo proibido se você enviar uma solicitação com um URL bloqueado para um IP não bloqueado ou uma porta não padrão.
DPI total
Diferentemente do DPI "regular", esse tipo de DPI classifica o tráfego, independentemente do endereço IP e da porta. Portanto, sites bloqueados não serão abertos mesmo se você usar um servidor proxy em uma porta completamente diferente e um endereço IP desbloqueado.
Uso de DPI
Para não reduzir a taxa de transferência de dados, você precisa usar o DPI passivo "Normal", que permite efetivamente? bloquear algum? recursos, a configuração padrão é assim:
- Filtro HTTP somente na porta 80
- HTTPS apenas na porta 443
- BitTorrent apenas nas portas 6881-6889
Mas começam os problemas, se o
recurso usar uma porta diferente para não perder usuários , você deverá verificar cada pacote, por exemplo, pode citar:
- HTTP funciona nas portas 80 e 8080
- HTTPS nas portas 443 e 8443
- BitTorrent em qualquer outra banda
Por esse motivo, você precisará mudar para o DPI ativo ou usar o bloqueio usando um servidor DNS adicional.
Bloqueio de DNS
Uma maneira de bloquear o acesso a um recurso é interceptar uma consulta DNS usando o servidor DNS local e retornar o endereço IP do “stub” ao usuário, em vez do recurso necessário. Mas isso não fornece um resultado garantido, pois é possível impedir a falsificação de endereço:
Opção 1: Editando o arquivo hosts (para desktop)O arquivo hosts é parte integrante de qualquer sistema operacional, o que permite que você sempre o use. Para acessar o recurso, o usuário deve:
- Encontre o endereço IP do recurso necessário
- Abra o arquivo hosts para edição (são necessários direitos de administrador), localizado em:
- Linux: / etc / hosts
- Windows:% WinDir% \ System32 \ drivers \ etc \ hosts
- Adicione uma linha no formato: <endereço IP> <nome do recurso>
- Salvar alterações
A vantagem desse método é sua complexidade e os requisitos para ter direitos de administrador.
Opção 2: DoH (DNS sobre HTTPS) ou DoT (DNS sobre TLS)Esses métodos permitem proteger a consulta DNS usando criptografia contra falsificação, mas nem todos os aplicativos oferecem suporte à implementação. Considere a facilidade de configurar o DoH para Mozilla Firefox versão 66 pelo usuário:
- Vá para about: config no Firefox
- Confirme se o usuário assume todos os riscos
- Altere o valor do parâmetro network.trr.mode para:
- 0 - desativar TRR
- 1 - seleção automática
- 2 - ativar o DoH por padrão
- Altere o parâmetro network.trr.uri selecionando o servidor DNS
- Altere o parâmetro network.trr.boostrapAddress para:
- Se o Cloudflare DNS estiver selecionado: 1.1.1.1
- Se o DNS do Google estiver selecionado: 8.8.8.8
- Altere o valor do parâmetro network.security.esni.enabled para true
- Verifique as configurações usando o Cloudflare
Embora esse método seja mais complexo, ele não requer direitos de administrador para o usuário e há muitas outras maneiras de proteger uma consulta DNS que não é descrita neste artigo.
Opção 3 (para dispositivos móveis):Usando o aplicativo do Cloudflare para
Android e
IOS .
Teste
Para verificar a falta de acesso aos recursos, um domínio bloqueado no território da Federação Russa foi adquirido temporariamente:
Verificação de HTTP + porta 80Verificação de HTTP + porta 8080Verifique a porta HTTPS + 443Verifique a porta HTTPS + 8443
Conclusão
Espero que este artigo seja útil e não apenas incentive os administradores a entender o tópico com mais detalhes, mas também deixe claro que os
recursos sempre estarão do lado do usuário, e a busca de novas soluções deve ser parte integrante deles.Links úteis
Adição fora do artigoO teste Cloudflare não pode ser aprovado na rede Tele2, e um DPI configurado corretamente bloqueará o acesso ao site de teste.
PS Até agora, este é o primeiro provedor a bloquear corretamente os recursos.