VPNSmith
tunneling-obfuscationINFO

Hysteria 2: o que fazem realmente o masquerade e a ofuscação

O Hysteria 2 empilha três camadas de disfarce: QUIC que imita HTTP/3, ofuscação opcional quando é o próprio QUIC que está bloqueado e um masquerade que responde a pedidos HTTP reais. O que a documentação diz sobre cada uma e quando indica que as deve dispensar.

Por Eric Gerard · Fundador · VPNSmith - Especialista em VPN auto-hospedada e VPS RGPD5 min de leituraPhoto via Pexels

A maioria dos textos sobre o Hysteria 2 descreve-o como rápido. É o que tem de menos interessante. O que vale a pena compreender é que empilha três disfarces distintos, cada um a resolver um problema diferente, e que a sua própria documentação lhe diz quando os deve deixar desativados.

Primeira camada: parecer-se com a web

O Hysteria 2 funciona sobre QUIC e, por predefinição, o protocolo Hysteria imita HTTP/3.

Este é o disfarce de base e não custa nada. Uma rede que faz inspeção superficial vê tráfego UDP com a forma da navegação web moderna, porque é cada vez mais isso que a navegação web moderna parece. Nenhuma configuração, nenhuma palavra-passe, nenhum custo de desempenho.

E arma também a armadilha da qual as duas camadas seguintes existem para escapar.

Segunda camada: quando o problema é o próprio QUIC

Se se parece com HTTP/3, então uma rede que bloqueia HTTP/3 bloqueia-o a si. A documentação é precisa quanto a este caso restrito: se a sua rede bloquear especificamente o tráfego QUIC ou HTTP/3 (mas não o UDP em geral), a ofuscação pode ser utilizada para contornar esse bloqueio.

São oferecidas duas implementações, Salamander e Gecko, e ambas necessitam de uma palavra-passe coincidente no cliente e no servidor.

Leia a condição com atenção, porque contém um mas. A ofuscação ajuda quando o QUIC está bloqueado e o UDP não está. Se a rede descartar o UDP por completo, ofuscar o handshake do QUIC não muda nada e é preciso um transporte totalmente diferente. Ativar a ofuscação porque parece mais seguro é a forma de passar uma noite a depurar um túnel que nunca iria funcionar.

Uma fachada bege lisa com uma única janela, do tipo de edifício para o qual ninguém olha duas vezes.
Uma fachada bege lisa com uma única janela, do tipo de edifício para o qual ninguém olha duas vezes.

Terceira camada: sobreviver a uma visita a sério

As duas primeiras camadas tratam do tráfego que é observado. O masquerade trata do tráfego que é sondado.

Com ele configurado, o servidor responde também aos pedidos HTTP como um servidor web comum. A documentação dá a razão sem eufemismos: o seu servidor tem de servir realmente algum conteúdo para parecer autêntico perante potenciais censores.

Essa palavra realmente é a questão toda. Um censor que testa um endereço não analisa a temporização dos pacotes, abre uma ligação e pede uma página. Um servidor que não devolve nada falhou o teste mais simples possível, e um endereço que se recusa a comportar-se como um sítio web enquanto fala algo com a forma de HTTP é mais chamativo do que um que nunca tentou esconder-se.

A frase que deveria decidir a sua configuração

Enterrada na referência está a linha que mais tempo poupa:

Se a censura não for uma preocupação, pode omitir por completo a secção masquerade.

Isto diz-lhe o que o masquerade não é. Não é cifra, não é autenticação, não é uma medida de robustecimento. É uma contramedida contra a sondagem ativa por parte de um censor e, fora desse modelo de ameaça, acrescenta superfície de configuração para nada.

A mesma lógica atravessa todo o desenho. Cada camada responde a um adversário específico: inspeção superficial, bloqueio de protocolo, sondagem ativa. Ativar as três por reflexo significa manter defesas contra ameaças que talvez não enfrente, e cada opção desnecessária é mais uma coisa que se pode configurar mal.

As definições de largura de banda, já que confundem toda a gente

São limites, não promessas. Os valores do servidor atuam como limites de velocidade, limitando a taxa máxima a que o servidor enviará e receberá dados (por cliente), e podem ser omitidos ou definidos a zero para não aplicar qualquer limite.

É na designação que se tropeça: a velocidade de upload do servidor é a velocidade de download do cliente, e vice-versa. Definir no servidor aquilo que julga ser um limite de download generoso quando na realidade está a limitar o upload é um estrangulamento comum e inteiramente autoinfligido.

O Hysteria só faz sentido num servidor seu, porque o masquerade exige que a máquina sirva conteúdo real sob o seu próprio domínio. Um VPS pequeno chega para o tráfego que a maioria das pessoas lhe faz passar.

O resumo honesto

O Hysteria 2 são três disfarces dentro de uma gabardina, e isso é um elogio. QUIC a imitar HTTP/3 por predefinição, ofuscação para o caso restrito em que o QUIC em concreto está bloqueado mas o UDP não, e masquerade para que o servidor sobreviva a ser visitado e não apenas a ser observado.

Faça corresponder a camada ao adversário que tem realmente. A própria documentação diz-lhe para dispensar o masquerade se a censura não for uma preocupação, e levar esse conselho à letra dar-lhe-á uma configuração mais simples que falha em menos sítios.

A descrição do transporte, a afirmação de que o protocolo imita HTTP/3 por predefinição, a condição de ofuscação relativa a estarem bloqueados QUIC ou HTTP/3 mas não o UDP em geral, as opções Salamander e Gecko, o comportamento do masquerade e o seu propósito declarado de parecer autêntico perante potenciais censores, a permissão para omitir o masquerade quando a censura não é uma preocupação e a semântica da largura de banda incluindo a inversão entre upload e download, foram retirados da documentação de configuração do servidor do Hysteria 2, consultada no momento da redação. As opções de configuração mudam entre versões; verifique-as face à versão que implementa. As ligações comerciais têm o atributo rel="sponsored nofollow"; pode aplicar-se uma comissão de afiliação sem custo adicional para si.

Perguntas frequentes

Que transporte utiliza o Hysteria 2?
QUIC, sobre HTTP/3. A documentação afirma que, por predefinição, o protocolo Hysteria imita HTTP/3, o que constitui a primeira camada de disfarce: para uma rede que apenas observa a forma do protocolo, o tráfego assemelha-se a uma navegação web moderna comum e não a um túnel.
Para que serve a ofuscação e preciso dela?
Responde a um caso específico, enunciado com clareza na documentação: se a sua rede bloquear especificamente o tráfego QUIC ou HTTP/3 mas não o UDP em geral, a ofuscação pode ser utilizada para contornar esse bloqueio. Existem duas opções, Salamander e Gecko, e ambas exigem a mesma palavra-passe no cliente e no servidor. Se o QUIC não estiver bloqueado onde está, a ofuscação resolve um problema que não tem.
O que faz o masquerade?
Faz com que o servidor responda aos pedidos HTTP como um servidor web comum. A razão é dada diretamente: o seu servidor tem de servir realmente algum conteúdo para parecer autêntico perante potenciais censores. Sem isso, uma sonda que se liga e pede uma página não recebe nada de volta, o que já é por si só um sinal.
Posso dispensar o masquerade?
Sim, e a documentação di-lo: se a censura não for uma preocupação, pode omitir por completo a secção masquerade. Essa única frase é a linha mais útil de toda a referência de configuração, porque lhe diz que a funcionalidade é uma contramedida contra a censura e não um controlo de segurança.
O que controlam realmente as definições de largura de banda?
São limites de velocidade, não garantias. A documentação descreve os valores do lado do servidor como uma limitação da taxa máxima a que o servidor enviará e receberá dados, por cliente. A designação das direções induz muita gente em erro: a velocidade de upload do servidor é a velocidade de download do cliente, e vice-versa. Os valores podem ser omitidos ou definidos a zero para não aplicar qualquer limite.