Oculte para onde estou indo?

2

Estou conectado a um sistema público do FreeBSD e quero poder conectar-me a outros servidores sem divulgar (via w e similares) para onde estou me conectando, como posso alcançar isso?

    
por Dr.Avalanche 04.02.2016 / 11:21

2 respostas

1

O kernel irá acompanhar sua conexão, e não há muito o que fazer sobre isso. Eu nem tenho certeza que os privilégios root irão ajudá-lo aqui (pelo menos não sem alguma mágica do módulo do kernel) .

Se você quiser esconder onde está indo, provavelmente a melhor maneira é fingir que está indo para algum outro lugar . Em outras palavras: use um proxy ou qualquer coisa que possa seguramente retransmitir a conexão SSH.

Grande ênfase em com segurança aqui. Certifique-se de manter a criptografia de ponta a ponta e não deixe um terceiro abrir o canal SSH para você.

Você poderia, por exemplo, usar torsocks , que permitirá retransmitir um fluxo TCP por ToR. Desta forma, em vez de lsof revelando ...

$ ssh remotehost

$ lsof SSH_PID              # in another terminal
ssh   SSH_PID   you   TCP   localhost:xx->remotehost:ssh (ESTABLISHED)

Você teria ...

$ torsocks ssh remotehost

$ lsof SSH_PID              # in another terminal
ssh   SSH_PID   you   TCP   localhost:yy->localhost:9050 (ESTABLISHED)

A diferença aqui é que ssh se conectará ao seu servidor ToR SOCKS local e não diretamente ao host remoto. O que é bom com ToR aqui é que mesmo o processo ToR local não revela seu destino:

$ lsof TOR_PID
tor   TOR_PID   tor   TCP   localhost:zz->tornode:https (ESTABLISHED)

( o servidor ToR se conecta primeiro a um nó ToR )

A outra vantagem aqui é que você não apenas esconde o destino da fonte, mas também oculta a fonte do destino. O host remoto ao qual você está se conectando verá uma conexão proveniente da rede ToR. Agora, é claro, dependendo de quem é o outro administrador do sistema, esse pequeno truque pode não funcionar por muito tempo.

Com alguns ajustes, pode ser possível instalar algo semelhante com privilégios de espaço do usuário. Você provavelmente poderia compilar algo em seu diretório home e seguir em frente. Se não, então você provavelmente terá que escolher outra coisa para retransmitir. Uma possibilidade seria "sacrificar" uma máquina remota para atuar como uma retransmissão para os outros: você sempre usaria ssh antes de se conectar aos outros.

    
por 05.02.2016 / 14:43
0

Como w está imprimindo a linha de comando do processo controlado pelo seu terminal, ele mostrará apenas o que você digitou na linha de comando. Então você só precisa modificar o nome do host.

Comentário de Per Gilles, você pode configurar .ssh/config da seguinte forma:

Host bogusname
HostName real-address.org
Port 2222
# <other options>

Na linha de comando, você pode se conectar via

ssh bogusname

Transforme o arquivo de configuração em somente leitura e você é meio secreto.

No entanto, isso não impedirá que alguém determine a resposta usando netstat -nap ou algo semelhante. Mas pode pelo menos parecer inócuo o suficiente para que as pessoas que usam w não fiquem desconfiadas.

    
por 05.02.2016 / 15:55

Tags