Criar Tunel SSH para acessar página no Apache

Iniciado por pentestbox, 11 de Março de 2016, 10:41

tópico anterior - próximo tópico

pentestbox

Ola pessoal, gostaria de saber o que é preciso para fazer um Tunnel SSH, é necessário alguma configuração no arquivo /etc/ssh/sshd_config?

Gostaria de saber se ao estabelecer um tunel eu consigo acessar uma página web do apache, vinda do servidor que faz parte do tunel, tipo eu tenho um servidor com apache instalado e rodando uma pagina web normal so que esse servidor não está na internet pra qualquer um poder acessar, neste caso eu queria que apenas um cliente consiga estabelecer um tunel SSH com o servidor, para poder acessar a página Web deste servidor, como posso proceder para fazer isso?

No meu roteador eu ja liberei a porta 22 no Port Foward para poder estabelecer o tunel do meu host client com o servidor através da internet, para que seja possível acessa a página, neste caso eu não quero ter que colocar a porta do apache no port forward pois não quero ele acessivel para todos na internet, por isso eu quero estabelecer esse tunel e por meio do SSH ser possível acessar a página do apache, poderiam me ajudar a fazer isso?

Me passar as configurações para poder estabelecer esse tunel, quais os comandos devo usar?

Desde já Agradeço.


zekkerj

Citação de: pentestbox online 11 de Março de 2016, 10:41
Ola pessoal, gostaria de saber o que é preciso para fazer um Tunnel SSH, é necessário alguma configuração no arquivo /etc/ssh/sshd_config?
Não, tudo que vc precisa são duas máquinas com conectividade e versões compatíveis do SSH.
O túnel é criado por comando, e automaticamente redireciona uma porta local para a porta de destino na máquina remota.

CitarGostaria de saber se ao estabelecer um tunel eu consigo acessar uma página web do apache, vinda do servidor que faz parte do tunel, tipo eu tenho um servidor com apache instalado e rodando uma pagina web normal so que esse servidor não está na internet pra qualquer um poder acessar, neste caso eu queria que apenas um cliente consiga estabelecer um tunel SSH com o servidor, para poder acessar a página Web deste servidor, como posso proceder para fazer isso?
Sim, teoricamente vc conseguiria isso.

CitarNo meu roteador eu ja liberei a porta 22 no Port Foward para poder estabelecer o tunel do meu host client com o servidor através da internet, para que seja possível acessa a página, neste caso eu não quero ter que colocar a porta do apache no port forward pois não quero ele acessivel para todos na internet, por isso eu quero estabelecer esse tunel e por meio do SSH ser possível acessar a página do apache, poderiam me ajudar a fazer isso?
A porta 22/tcp tem que ser liberada no destino da conexão. Se vc liberou o recebimento em seu roteador, significa que seu parceiro terá que abrir a conexão pra você. É isso que vc pretende?

CitarMe passar as configurações para poder estabelecer esse tunel, quais os comandos devo usar?

Desde já Agradeço.

man ssh
google: tutorial tunel ssh
;)

[/quote]
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

pentestbox

Citação de: zekkerj online 11 de Março de 2016, 11:10
Citação de: pentestbox online 11 de Março de 2016, 10:41
Ola pessoal, gostaria de saber o que é preciso para fazer um Tunnel SSH, é necessário alguma configuração no arquivo /etc/ssh/sshd_config?
Não, tudo que vc precisa são duas máquinas com conectividade e versões compatíveis do SSH.
O túnel é criado por comando, e automaticamente redireciona uma porta local para a porta de destino na máquina remota.

CitarGostaria de saber se ao estabelecer um tunel eu consigo acessar uma página web do apache, vinda do servidor que faz parte do tunel, tipo eu tenho um servidor com apache instalado e rodando uma pagina web normal so que esse servidor não está na internet pra qualquer um poder acessar, neste caso eu queria que apenas um cliente consiga estabelecer um tunel SSH com o servidor, para poder acessar a página Web deste servidor, como posso proceder para fazer isso?
Sim, teoricamente vc conseguiria isso.

CitarNo meu roteador eu ja liberei a porta 22 no Port Foward para poder estabelecer o tunel do meu host client com o servidor através da internet, para que seja possível acessa a página, neste caso eu não quero ter que colocar a porta do apache no port forward pois não quero ele acessivel para todos na internet, por isso eu quero estabelecer esse tunel e por meio do SSH ser possível acessar a página do apache, poderiam me ajudar a fazer isso?
A porta 22/tcp tem que ser liberada no destino da conexão. Se vc liberou o recebimento em seu roteador, significa que seu parceiro terá que abrir a conexão pra você. É isso que vc pretende?

CitarMe passar as configurações para poder estabelecer esse tunel, quais os comandos devo usar?

Desde já Agradeço.

man ssh
google: tutorial tunel ssh
;)

[/quote]

Então amigo,  eu procurei e encontrei o comando pra fazer o tunelamento,  só que só consegui fazer em rede local,  a porta 22/tcp está aberta no meu roteador,  e no host cliente eu usei o comando assim:

$ SSH -N -F -L2000:<ip do servidor>:80 - l <login da conta no servidor> <IP do servidor>

até aí pelo q pesquisei estabelece o túnel do cliente com o servidor,  aí para eu carregar a página web do apache do servidor no navegador do cliente eu colocaria na URL o IP 127.0.0.1:2000 sendo 2000 a porta local do túnel no meu cliente,  só que não acessa a página do servidor do apache,  fica carregando e nada aparece,  não sei o q fazer.

zekkerj

Citação de: pentestbox online 12 de Março de 2016, 13:12
Então amigo,  eu procurei e encontrei o comando pra fazer o tunelamento,  só que só consegui fazer em rede local,  a porta 22/tcp está aberta no meu roteador,  e no host cliente eu usei o comando assim:

$ SSH -N -F -L2000:<ip do servidor>:80 - l <login da conta no servidor> <IP do servidor>

até aí pelo q pesquisei estabelece o túnel do cliente com o servidor,  aí para eu carregar a página web do apache do servidor no navegador do cliente eu colocaria na URL o IP 127.0.0.1:2000 sendo 2000 a porta local do túnel no meu cliente,  só que não acessa a página do servidor do apache,  fica carregando e nada aparece,  não sei o q fazer.
O fato de não conseguir pela internet pode estar associado com a operadora de internet. Assim, antes de tentar o tunelamento vc precisa confirmar que consegue conexão normal via SSH.

Sobre o teste que não funcionou, nós temos aí 3 conexões ocorrendo simultaneamente. A primeira é do navegador pro SSH local, que ocorre de localhost pra localhost, na porta de destino 2000/tcp, assim o teu firewall tem que estar liberando conexões na interface loopback e porta 2000/tcp.

A segunda é o túnel, ocorre da tua máquina pra máquina de destino, pela porta de destino 22/tcp. Essa tem que estar liberada no firewall do servidor, e tanto a operadora quanto o roteador da rede de destino têm que liberar e/ou redirecionar essa conexão.

A terceira é novamente uma conexão local entre o SSH remoto e o Apache, na porta de destino 80/tcp. Novamente, o firewall do servidor precisa liberar conexões na interface loopback e porta 80/tcp.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

pentestbox

Citação de: zekkerj online 13 de Março de 2016, 07:49
Citação de: pentestbox online 12 de Março de 2016, 13:12
Então amigo,  eu procurei e encontrei o comando pra fazer o tunelamento,  só que só consegui fazer em rede local,  a porta 22/tcp está aberta no meu roteador,  e no host cliente eu usei o comando assim:

$ SSH -N -F -L2000:<ip do servidor>:80 - l <login da conta no servidor> <IP do servidor>

até aí pelo q pesquisei estabelece o túnel do cliente com o servidor,  aí para eu carregar a página web do apache do servidor no navegador do cliente eu colocaria na URL o IP 127.0.0.1:2000 sendo 2000 a porta local do túnel no meu cliente,  só que não acessa a página do servidor do apache,  fica carregando e nada aparece,  não sei o q fazer.
O fato de não conseguir pela internet pode estar associado com a operadora de internet. Assim, antes de tentar o tunelamento vc precisa confirmar que consegue conexão normal via SSH.

Sobre o teste que não funcionou, nós temos aí 3 conexões ocorrendo simultaneamente. A primeira é do navegador pro SSH local, que ocorre de localhost pra localhost, na porta de destino 2000/tcp, assim o teu firewall tem que estar liberando conexões na interface loopback e porta 2000/tcp.

A segunda é o túnel, ocorre da tua máquina pra máquina de destino, pela porta de destino 22/tcp. Essa tem que estar liberada no firewall do servidor, e tanto a operadora quanto o roteador da rede de destino têm que liberar e/ou redirecionar essa conexão.

A terceira é novamente uma conexão local entre o SSH remoto e o Apache, na porta de destino 80/tcp. Novamente, o firewall do servidor precisa liberar conexões na interface loopback e porta 80/tcp.

Bom aqui todos os firewall tanto no host cliente quanto servidor estão desabilitados,  e sim no host cliente e possível se conectar via SSH porta 22/tcp com o servidor via Internet sem problemas,  a operadora no lado do servidor não bloqueia a porta 22, por isso eu liberei no port  forward do roteador do lado do servidor,  o que eu não fiz foi liberar a porta 22 tcp no roteador do lado do cliente,  não sei se é preciso pois se ele consegue se conectar via SSH pela Internet no servidor acho q  ao tem problema o problema todo tá senso na hora de carregar a página do apache,  pois depois de estabelecer o túnel com o comando que eu disse ele está ele normalmente mas aí no navegador ele não carrega a página do apache,  todos os firewall desabilitados em ambos os lados,  e apache e SSH rodando perfeitamente no servidor,  por isso não sei mais o q pode ser isso.

zekkerj

Qual a mensagem de erro que vc recebe ao tentar conectar no apache via navegador?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

pentestbox

Citação de: zekkerj online 14 de Março de 2016, 09:07
Qual a mensagem de erro que vc recebe ao tentar conectar no apache via navegador?

Não aparece mensagem de erro simplesmente não carrega a página do apache, hj pesquisando na Internet encontrei exemplos utilizando o comando assim:

$ SSH -N -L2000:localhost:80 -l <usuário remoto> <ip do servidor>

Não testei ainda o comando acima,  o que estava usando era:

$ SSH -N -F -L2000:<ip do servidor>:80 - l <login da conta no servidor> <IP do servidor>

Agora fiquei na dúvida se nos dois comandos fazem a mesma coisa,  ou seja se me dão acesso a página do apache do servidor somente de colocar no host cliente no navegador como 127.0.0.1:2000

Afinal qual dois dois comandos é o certo,  eu tenho q especificar no comando depois da porta local o localhost ou tenho que especificar o IP do servidor?

zekkerj

Estou olhando no manual, a opção "-F" consta como especificando um arquivo de configuração alternativo para o usuário. Não acho que seja necessário pra vc, nem que tenha sido usada corretamente.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

pentestbox

Citação de: zekkerj online 16 de Março de 2016, 08:59
Estou olhando no manual, a opção "-F" consta como especificando um arquivo de configuração alternativo para o usuário. Não acho que seja necessário pra vc, nem que tenha sido usada corretamente.

Blz então, não vou usar a opção -F, agora so me resta saber mesmo se deixo o comando assim:

$ SSH -N -L2000:localhost:80 -l <login da conta no servidor> <ip do servidor>

ou

$ SSH -N -L2000:<ip do servidor>:80 - l <login da conta no servidor> <IP do servidor>

ainda não pude fazer o teste, so vai dar pra testar no final de semana, mas eu sabendo qual o comando correto ja vai me ajudar mtu.

zekkerj

Só cuidado com esse "SSH" em maiúsculas, o comando deve ser digitado em minúsculas  ("ssh").
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

pentestbox

Citação de: zekkerj online 16 de Março de 2016, 13:51
Só cuidado com esse "SSH" em maiúsculas, o comando deve ser digitado em minúsculas  ("ssh").

Sim, eu uso minusculo, não sei pq escrevi maiusculo ai rs

pentestbox

Fiz  teste aqui e de tudo certo, consegui estabelecer um tunel ssh para acessar a pagina do apareceu, funcionou perfeitamente, obrigado por toda a ajuda, vlw mesmo.