Executando vários serviços na Porta 443, Tunnel SSH via HTTPS

6

Situação: Eu quero encapsular sessões SSH através de HTTPS. Eu tenho um firewall / proxy muito restritivo que permite apenas tráfego HTTP, FTP e HTTPS.

O que funciona: Configurando um túnel através do proxy para uma caixa de linux remota que tem um sshd escutando na porta 443

O problema: Eu tenho que ter um servidor web (lighty) em execução na porta 443. O tráfego HTTPS para outras portas é proibido pelo proxy.

Ideias até agora: Configure um host virtual e proxy todas as solicitações recebidas para localhost: (por exemplo, 22)

$HTTP["host"] == "tunnel.mylinux.box" {                                         
    proxy.server = (                                                            
        "" => (("host" => "127.0.0.1", "port" => 22))                           
    )                                                                           
}

Infelizmente isso não funcionará. Estou fazendo algo errado ou há uma razão para que isso não funcione?

    
por lajuette 30.03.2010 / 09:28

2 respostas

5

Você pode fazer o truque usando algum Perl:

sslh - Alterna a conexão de entrada entre servidores SSH e SSL / HTTPS

    
por 30.03.2010 / 10:10
3

Você pode querer investigar a implementação de SSlh .

Do site:

sslh lets one accept both HTTPS and SSH connections on the same port. It makes it possible to connect to an SSH server on port 443 (e.g. from inside a corporate firewall) while still serving HTTPS on that port. This feature has already been implemented as a Perl script.

There are two problems with sslh:
- It's in Perl. That means it's pretty RAM hungry, and probably not very fast.
- It doesn't manage privilege dropping, which is rather questionnable.

The obvious solution to both problems was to re-implement it in C, which is what this program is about.

    
por 23.11.2010 / 21:23