Protegendo uma conexão SSH reversa persistente para gerenciamento

2

Estou implantando servidores de demonstração Ubuntu 10.04 LTS em ambientes que não controle e gostaria de ter uma maneira fácil e segura de administrar essas máquinas sem ter que ter a porta de encaminhamento do firewall de destino 22 para acesso SSH.

Eu encontrei alguns guias para fazer isso com a porta reversa (por exemplo, howtoforge reverse ssh tunneling guide ) mas estou preocupado com a segurança das credenciais ssh armazenadas necessárias para o túnel ser aberto automaticamente.

Se a máquina estiver comprometida (a principal preocupação é que o acesso físico à máquina está fora do meu controle), como posso impedir que alguém use as credenciais armazenadas para vasculhar a máquina de destino de encapsulamento ssh reversa?

É possível proteger essa configuração ou você sugeriria um método alternativo?

    
por bVector 25.03.2012 / 22:40

3 respostas

4

Você pode usar autossh para manter um túnel reverso que permitirá o login com o SSH. O túnel deve ser criado com uma chave SSH que tenha restrições em ~/.authorized_keys , para que a única coisa que possa fazer seja configurar o encapsulamento (consulte man authorized_keys para obter detalhes). O seguinte só permitiria que esta chave fosse usada a partir de 1.2.3.4, e não permitisse que nenhum comando fosse executado com ela.

from="1.2.3.4",command="/bin/false",no-agent-forwarding,no-pty,no-X11-forwarding ssh-rsa AAAA...
    
por 26.03.2012 / 03:31
3

Eu usaria o OpenVPN, porque sei o que ele faz e sei que ele pode fazer exatamente o que eu preciso, e pode ser facilmente protegido - como você afirma corretamente, por padrão, uma credencial SSH o colocará na própria máquina , o que não é uma ideia maravilhosa. Eu sei que versões mais recentes do SSH fornecem algum tipo de funcionalidade genérica de VPN e, sem dúvida, há ótimas maneiras de proteger isso de fazer coisas que você não quer, mas eu não estaria assumindo o risco sozinho. Vá com o que você sabe.

    
por 26.03.2012 / 00:15
2

Faça um buraco no seu firewall ou configure um proxy em um bypass. Sim, você pode ter conexões SSH reversas - mas isso é apenas uma conexão de socket tunnelled - você ainda precisa executar algum protocolo sobre ele (sim, você poderia rodar ssh no topo da conexão ssh, ou você poderia até executar o pppd para uma conexão vpn) - tentar manter / restabelecer a conexão quando uma extremidade desce será muito difícil de automatizar. Ele só vai funcionar se você construir um monte de código em torno dele - nesse ponto você pode estar minando a segurança. Realmente não vale o esforço.

    
por 26.03.2012 / 00:32