SSH e SOCKS dentro de um túnel criptografado HTTPS usando um Windows Apache Server ou o quê?

SSH e SOCKS dentro de um túnel criptografado HTTPS usando um Windows Apache Server ou o quê?

Passei horas revisando o Super/Stack e outros sites e ainda não encontrei a resposta. Então, vou tentar perguntar aqui novamente. Eu apontaria algumas respostas parciais que encontrei nos links, mas elas são tão complicadas ou parcialmente respondidas que acho que podem piorar as coisas para quem lê isso.

Até agora, consegui configurar um servidor Apache rodando em meu PC local com um certificado autoassinado. Tenho a porta do meu roteador encaminhando 443 para este servidor. Também tenho o OpenSSH em execução na porta 22 do meu PC local. Minha meta é:

  1. Quero poder conectar-me do Putty/WinSCP ao meu PC na porta 22, encapsulado através da conexão SSL 443, e navegar via SOCKS como se estivesse no referido PC.

  2. Eu poderia tentar Stunnel, SSHL, HTTPProxy, Httptunnel, Corkscrew client side ou qualquer outra coisa que alguém possa explicar claramente como fazer (ou vincular a um guia), mas deve ser executado no Windows.

  3. Minha preferência seria configurar o servidor Apache (mod_proxy/proxy pass?) Para (por conta própria?) encaminhar o 443 de entrada para a porta 22 para que o OpenSSH capture a conexão e o SOCKS para navegar.

    NOTA: Aqui está uma descrição do fluxo. Não consigo usar VPN (já em uma) e não consigo usar 443 no SSH porque o FW da camada 7 vê o protocolo SSH e o bloqueia. O PC cliente já está em VPN, portanto nenhuma VPN pode ser usada.

Win PcA > Win ServerB executando algo (Apache/Nginx?) {SSL}

Então, enquanto o HTTPS estiver ativo e criptografado, envie:

Win PcA > Win ServerB executando OpenSSH {SSH} via WinSCP ou Putty para SFTP

&

Win PcA> Win ServerB executando OpenSSH {SSH} via Putty para SOCKS via navegador

Isso é principalmente para fins de conhecimento, mas sei que também é para perfuração de FW. Como todos são meus computadores, posso instalar software no lado do cliente, se necessário, mas o melhor seria não ter nenhum software, exceto Putty/WinSCP e um navegador. Posso alterar a porta proxy no lado do cliente. Dessa forma, se eu precisar executar isso em um PC que não possuo, provavelmente poderei usar o putty/WinSCP sem levantar sinalizadores ou precisar de direitos de administrador.

Ouvi falar do Squid e do Ngnix para o lado do servidor como servidores proxy, mas atualmente tenho o Apache 2.4 em execução. Eu poderia mudar isso, eu acho. Basicamente eu quero criar uma espécie de navegação Inet (via proxy SOCKS) e um endpoint de transferência de arquivos (via 22 totalmente oculto em SSL) que eu possa acessar de qualquer lugar, que não seria bloqueado desde que a rede em que estou permita conexões SSL .

Os guias disponíveis para configurar o Apache e um certificado autoassinado me levaram até aqui... agora estou preso com muitas opções. Obrigado por ler.

Editar: existem perguntas como essa sem respostas e com respostas confusas. Mas nada completo para mim. Além disso, não tenho certeza se minha pergunta está formatada corretamente. Novidade por aqui.

Responder1

O SSH já está usando SSL para criptografar o tráfego. Para usar a porta HTTPS tcp/443 (frequentemente) permitida para se conectar ao seu servidor SSH doméstico, você só precisa configurar o cliente SSH e o servidor SSH para usar a porta tcp/443. WinSCP como cliente permite isso. Dependendo do software utilizado para o servidor SSH, isso também deverá ser possível, além de instalar seu próprio certificado SSL.

Você não precisaria ter o Apache instalado para isso. Na verdade, como o Apache encerraria a conexão SSL, o tráfego criptografado de lá para um servidor SSH local não seria possível (mas, por exemplo, telnet não criptografado).

Se você precisar evitar o reconhecimento do aplicativo, pode-se pensar em criar um túnel VPN SSL sobre o qual você iniciaria um túnel SSH...parte do qual você menciona com Apache + OpenSSH. Você precisaria de um software adicional para o servidor SSL VPN, como (?) OpenVPN, que não fará parte do Apache.

Responder2

Não sei muito sobre VMs, presumindo que você possa lidar com problemas de VM. Este guiadeveria ajudar.

Você configurará um servidor stunnel4 como no guia (altere a conexão para 127.0.0.1:22 e aceite para 443) e, em seguida, crie o servidor ssh normalmente.

Depois vá para o download do pc cliente e oCliente Stunnel, clique com o botão direito no ícone da bandeja e vá paraEditar configuraçãocopie isto (mude o ip):

[ssh]
client = yes
accept = 127.0.0.1:22
connect = [ip address of the server]:443

Agora volte ao menu e cliqueRecarregar configuração. E pronto; você deve apenas conectar-se ao ssh, mas usando 127.0.0.1:22.

informação relacionada