SVN através de um túnel encaminhado pela porta “Conexão de rede fechada inesperadamente”

1

Eu trabalho em uma organização com requisitos de segurança (desnecessariamente) rigorosos. No ano passado, configuramos um servidor SVN em uma máquina em nuvem. Os requisitos para essa máquina determinavam que o único método de acesso aprovado fosse a autenticação de dois fatores por meio de um token RSA.

Isso significava que não poderíamos usar svn + ssh: //, porque os desenvolvedores teriam que usar seus tokens RSA inconvenientes para cada ação do SVN. Mas nós não poderíamos usar ingenuamente o svn: //, porque (Deus o proteja) as pessoas poderiam acessar os dados no servidor SVN sem usar um token de dois fatores.

Eventualmente, desenvolvemos um sistema complexo de encaminhamento de porta. O servidor tinha um processo típico do daemon svnserve ouvindo as conexões no 3690, mas o firewall bloqueava todas as conexões para essa porta, exceto de localhost . Se o usuário não estiver no centro, ele deverá entrar primeiro na VPN. O usuário criaria um túnel SSH para o servidor e encaminhará a porta (digamos) 6789 para a porta 3690 (a porta SVN) no servidor (em outras palavras, ssh user@server -L 6789:localhost:3690 ). Enquanto a sessão SSH permanecesse aberta, o usuário poderia usar URLs svn regulares fazendo referência a essa porta: por exemplo, svn://localhost:6789/path/to/repository/trunk .

Isto funcionou durante cerca de um ano, tanto para sistemas * nix como Windows (com PuTTY e TortoiseSVN). Agora, temos um problema com um novo membro da equipe que usa o Windows / TortoiseSVN. Ela pode entrar VPN e iniciar a sessão SSH com o encaminhamento de porta, mas quando ela vai realmente verificar algo (veja o caminho de exemplo acima), ela recebe a seguinte mensagem: "Conexão de rede fechada inesperadamente". A sessão do PuTTY não exibe nenhuma mensagem de erro ou final, então não tenho certeza se é culpa do servidor. E eu testei independentemente a habilidade de sua máquina de se escutar na porta 6789.

Não tenho certeza de qual componente do sistema está em falta aqui: TortoiseSVN, PuTTY, as configurações de firewall do seu computador, as configurações de firewall da sua rede, as configurações de firewall do nosso servidor ou o processo svnserve. Eu suspeito que seja algo sobre suas configurações de firewall, porque essa é a única coisa que ela tem diferente do que todo mundo. Mas como o firewall poderia impedir o tráfego através de um túnel encaminhado pela porta SSH? Tudo deve passar pela porta 22, por isso deve passar se a conexão SSH pode ser estabelecida com sucesso em primeiro lugar. Estou perplexo.

Então:

  1. Algum de vocês já observou comportamento similar com o SVN em um túnel ou teve uma situação semelhante? Em caso afirmativo, qual foi a causa do problema e como foi resolvido? (Estou duvidando que haverá muitas pessoas com problemas semelhantes, portanto, as perguntas a seguir são mais gerais).
  2. É possível que o firewall esteja bloqueando o tráfego por meio de um túnel SSH já estabelecido?
  3. Se não, qual componente pode estar com defeito?
por HardlyKnowEm 13.03.2013 / 22:40

0 respostas