Existe algum proxy HTTP leve que eu possa rodar sem privilégios de root?

4

Estou em uma rede em que a porta de saída 8080 está bloqueada na maioria das máquinas (ou seja, não consigo acessar serviços na porta 8080).

Algumas das máquinas na rede, no entanto, não têm essa restrição.

Eu gostaria de executar um proxy em uma máquina irrestrita e encaminhar solicitações de saída para 8080 através desse proxy.

Eu não tenho acesso root em nenhuma dessas máquinas.

Eu olhei para o squid, que compila bem na máquina que eu quero executar o proxy, mas como é um serviço, eu não acho que posso executá-lo efetivamente sem acesso root.

Eu também experimentei o encaminhamento de porta ssh, mas como não há nenhum serviço em execução na máquina irrestrita, não acho que o ssh resolva meu problema.

Se houver outro jeito de alcançar esse objetivo, também estou aberto a isso.

    
por jsj 09.09.2012 / 13:11

1 resposta

4

Não ter privilégios de root impede que você ouça em portas abaixo de 1024 em sistemas Linux comuns.

Assim, o Squid deve funcionar como ouvinte não-root em 8080, desde que o sistema em que você está não tenha bloqueado o tráfego de entrada nessa porta através de um firewall ou iptables .

Não tenho certeza de quantos descritores de arquivos o Squid usa normalmente, mas se o seu administrador definiu um limite para isso, isso pode ser um problema, assim como outras coisas. Se você estiver usando o recurso de filtragem do Squid (como o script adzapper, por exemplo) - esteja ciente de que o Squid gera um processo para cada solicitação HTTP recebida e, se sua conta tiver um limite de processo, você poderá acessá-lo. (Também pode fazer o pré-fork do Apache, faz algum tempo desde que eu joguei com squid .)

Para encaminhar a porta da maneira que você está descrevendo, você precisa de algum tipo de encaminhador, tunelizador ou proxy em execução na primeira máquina que está encaminhando para a segunda máquina. Então, você faria "SSH tunnel" na máquina irrestrita, e você precisaria de um programa rodando na máquina irrestrita que aceitasse o tráfego em uma porta e, em seguida, "a transformasse" em outro host. Seu túnel então tem 2 saltos. Possivelmente, rinetd poderia fazer isso facilmente.

    
por 09.09.2012 / 14:25