Lançamento do Outline-ss-server 1.4, uma implementação do proxy Shadowsocks do projeto Outline

O servidor proxy outline-ss-server 1.4 foi lançado, usando o protocolo Shadowsocks para ocultar a natureza do tráfego, contornar firewalls e enganar sistemas de inspeção de pacotes. O servidor está sendo desenvolvido pelo projeto Outline, que fornece adicionalmente uma estrutura de aplicativos clientes e uma interface de controle que permite implantar rapidamente servidores Shadowsocks multiusuário baseados em Outline-ss-server em ambientes de nuvem pública ou em seu próprio equipamento, gerenciá-los através de uma interface web e organizar o acesso do usuário por chaves. O código é desenvolvido e mantido pela Jigsaw, uma divisão do Google criada para desenvolver ferramentas para contornar a censura e organizar a livre troca de informações.

Outline-ss-server é escrito em Go e distribuído sob a licença Apache 2.0. O código utilizado como base é o servidor proxy go-shadowsocks2, criado pela comunidade de desenvolvedores Shadowsocks. Recentemente, a atividade principal do projeto Shadowsocks tem se concentrado no desenvolvimento de um novo servidor na linguagem Rust, e a implementação na linguagem Go não é atualizada há mais de um ano e está visivelmente atrasada em funcionalidade.

As diferenças entre o outline-ss-server e o go-shadowsocks2 se resumem ao suporte para conectar vários usuários através de uma porta de rede, a capacidade de abrir várias portas de rede para receber conexões, suporte para reinicialização a quente e atualizações de configuração sem interromper conexões, integração ferramentas de monitoramento e modificação de tráfego baseadas na plataforma prometheus .io.

Lançamento do Outline-ss-server 1.4, uma implementação do proxy Shadowsocks do projeto Outline

Outline-ss-server também adiciona proteção contra solicitações de investigação e ataques de repetição de tráfego. Um ataque por meio de solicitações de teste visa determinar a presença de um proxy; por exemplo, um invasor pode enviar conjuntos de dados de diferentes tamanhos para o servidor Shadowsocks alvo e analisar quantos dados o servidor irá ler antes de detectar um erro e fechar a conexão. Um ataque de repetição de tráfego baseia-se na interceptação de uma sessão entre um cliente e um servidor e, em seguida, na tentativa de retransmitir os dados interceptados para determinar a presença de um proxy.

Para se proteger contra ataques por meio de solicitações de teste, o servidor Outline-ss-server, quando chegam dados incorretos, não interrompe a conexão e não apresenta erro, mas continua recebendo informações, agindo como uma espécie de buraco negro. Para proteção contra repetição, os dados recebidos do cliente são verificados adicionalmente quanto a repetições usando somas de verificação armazenadas para os últimos milhares de sequências de handshake (máximo 40 mil, o tamanho é definido quando o servidor é iniciado e consome 20 bytes de memória por sequência). Para bloquear respostas repetidas do servidor, todas as sequências de handshake do servidor usam códigos de autenticação HMAC com tags de 32 bits.

Em termos do nível de ocultação de tráfego, o protocolo Shadowsocks na implementação do Outline-ss-server está próximo do transporte do plug-in Obfs4 na rede anônima Tor. O protocolo foi criado para contornar o sistema de censura de tráfego na China (“O Grande Firewall da China”) e permite ocultar de forma bastante eficaz o tráfego encaminhado através de outro servidor (o tráfego é difícil de identificar devido ao anexo de uma semente aleatória e à simulação de um fluxo contínuo).

SOCKS5 é usado como protocolo para solicitações de proxy - um proxy com suporte SOCKS5 é lançado no sistema local, que encapsula o tráfego para um servidor remoto a partir do qual as solicitações são realmente executadas. O tráfego entre o cliente e o servidor é colocado em um túnel criptografado (a criptografia autenticada é suportada AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM e AEAD_AES_256_GCM), ocultar o fato de sua criação é a principal tarefa do Shadowsocks. A organização de túneis TCP e UDP é suportada, bem como a criação de túneis arbitrários não limitados pelo SOCKS5 através do uso de plugins que lembram transportes de plug-ins no Tor.

Fonte: opennet.ru

Adicionar um comentário