Inverte o túnel para acessar a API externa em um servidor com firewall acessível somente via bastião

1

Se o título parece confuso, é, e estou muito confuso. Aqui está a situação:

  1. Eu tenho um servidor de prod prod1 que é firewall de entrada / saída de tráfego de / para toda a Internet externa
  2. Além disso, a única maneira que eu posso usar o SSH para esse servidor é primeiro o SSHing para um bastião interno bastion.foo.com , então ssh com sshconfig, por exemplo, ProxyCommand ssh -W %h:%p bastion.foo.com .

Em prod1 , desejo atingir um terminal da API, por exemplo curl -I https://api.com (que usa a porta 443 como é https) de alguma forma tunelando através da minha conexão ssh para esse servidor (somente quando estou conectado, é claro). Depois de ler algumas postagens no blog, achei que RemoteForward foi a resposta:

Host prod1
HostName ...
User ...
IdentityFile ...
RemoteForward 443 api.com:443
ProxyCommand ssh -W %h:%p bastion.foo.com

Mas quando eu ssh prod1 a primeira coisa que o servidor diz é:

Warning: remote port forwarding failed for listen port 443

Como faço o que estou tentando fazer? Eu estou no caminho certo?

    
por Trevor Hartman 06.10.2015 / 23:32

1 resposta

1

Existe realmente desenho bonito que explica RemoteForward no openssh. Mas o encaminhamento remoto é provavelmente mais complicado no seu caso de uso do que você descreve.

Você precisaria alterar pelo menos /etc/hosts para torná-lo pelo menos um pouco transparente para seu aplicativo:

127.0.0.1 api.com

Ou altere seu aplicativo para se conectar ao localhost diretamente, em vez de api.com.

E, por favor, note que

Privileged ports can be forwarded only when logging in as root on the remote machine.

de man ssh_config(5) . Isso significa que você não pode ligar a porta 443 sem privilégios de root (ou até mesmo outros mecanismos como o SELinux podem impedi-lo de fazer isso). Você precisa desses privilégios ou melhor, você deve escolher uma porta local diferente e isso torna ainda menos transparente para o seu aplicativo.

    
por 07.10.2015 / 10:45