squid

Iniciado por _ubuntu_, 27 de Julho de 2011, 17:49

tópico anterior - próximo tópico

_ubuntu_

seguinte galera, tenho um squid configurado certinho ja para bloquear alguns sites, tudo funcionando certinho.


masssssssssssssss......

1º se for simples e alguem ai tiver afim de me explicar como tornar ele um squid transparente... "pois agora eu tenho que colocar o ip do servidor nas maquinas que eu quero controlar atravez do squid." se as maquinas nao tiver o ip la no proxy, meu squid nao serve de nada e os usuarios tem acesso total a internet.

2º se for mais simples, como faço para que fiquei no modo NÃO transparente e para que os usuarios sejam obrigados a colocar o proxy nos computadores para que funcione a internet, caso contrario nao funcione...


ja tentei muito e de varias formas mexer com iptables...para fazer o esquema de transparente..porem nao obtive sucesso...

se tiver faltando alguma coisa que voces nao entenderam, por favor me avise....obrigado.]




fico no aguardo.

zekkerj

Pra transformar em proxy transparente, você tem que ir ao gateway de sua rede e configurar para direcionar todo tráfego vindo da rede interna e destinado à internet, na porta 80, para o seu servidor proxy. Supondo que o gateway de sua rede seja também o servidor proxy, você vai usar comandos parecidos com estes:

REDE_INTERNA=192.168.1.0/24
iptables -t nat -A PREROUTING -p tcp -s $REDE_INTERNA --dport 80 -j REDIRECT --to-port 3128
iptables -A INPUT -p tcp --dport 3128 -s $REDE_INTERNA -j ACCEPT

Obviamente, você vai trocar o endereço da rede interna pra faixa que você usa.

Se o gateway de sua rede não for o servidor proxy, mas for uma máquina Linux, você vai usar os comandos abaixo:

REDE_INTERNA=192.168.1.0/24
SERVIDOR_PROXY=192.168.1.2
iptables -t nat -A PREROUTING -p tcp -s $SERVIDOR_PROXY --dport 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s $REDE_INTERNA --dport 80 -j DNAT --to $SERVIDOR_PROXY:3128

Se o gateway não for uma máquina Linux, você tem que ver com o suporte técnico do sistema como fazer esse redirecionamento. Dependendo do equipamento, pode ser que simplesmente não seja possível fazer.
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

zekkerj

Pra obrigar os clientes a usar o seu proxy, a forma mais simples é (supondo novamente que o servidor proxy seja também o gateway) desabilitar o compartilhamento da internet:

sudo sysctl net.ipv4.ip_forward=0

Mas isso pode causar efeitos colaterais importantes (programas como Outlook, Thunderbird, ping, traceroute/tracert e outros que não podem usar o seu servidor proxy simplesmente vão parar de funcionar). A alternativa é bloquear a passagem de qualquer porta relacionada com o tráfego web:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m multiport -p tcp -s $REDE_INTERNA --dport 80,81,82,443,444,8080,8000,8008,8443 -j REJECT
iptables -A FORWARD -s $REDE_INTERNA -j ACCEPT
iptables -A FORWARD -j DROP

Claro que isso deixa uma brecha pra que seus usuaŕios naveguem usando um servidor proxy externo numa das portas não bloqueadas.

Uma alternativa mais efetiva é bloquear todas as portas, e liberar só as necessárias:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCCEPT
iptables -A FORWARD -m multiport -p tcp -s $REDE_INTERNA --dport 25,53,110,143,123 -j ACCEPT
iptables -A FORWARD -m multiport -p udp -s $REDE_INTERNA --dport 53,123 -j ACCEPT
iptables -A FORWARD -p icmp -s $REDE_INTERNA -j ACCEPT
iptables -A FORWARD -j DROP

Caso você use alguma aplicação que não possa passar pelo proxy (e.g. Conectividade Social da Caixa Econômica), vc precisa definir regras adicionais de exceção.
Ainda é possível fugir do seu proxy usando um proxy externo em uma das portas liberadas; a única forma efetiva de impedir isso seria usar um firewall de camada 7, o que não é nada simples de implementar.
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

_ubuntu_

Citação de: zekkerj online 28 de Julho de 2011, 17:21
Pra obrigar os clientes a usar o seu proxy, a forma mais simples é (supondo novamente que o servidor proxy seja também o gateway) desabilitar o compartilhamento da internet:

sudo sysctl net.ipv4.ip_forward=0

Mas isso pode causar efeitos colaterais importantes (programas como Outlook, Thunderbird, ping, traceroute/tracert e outros que não podem usar o seu servidor proxy simplesmente vão parar de funcionar). A alternativa é bloquear a passagem de qualquer porta relacionada com o tráfego web:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m multiport -p tcp -s $REDE_INTERNA --dport 80,81,82,443,444,8080,8000,8008,8443 -j REJECT
iptables -A FORWARD -s $REDE_INTERNA -j ACCEPT
iptables -A FORWARD -j DROP

Claro que isso deixa uma brecha pra que seus usuaŕios naveguem usando um servidor proxy externo numa das portas não bloqueadas.

Uma alternativa mais efetiva é bloquear todas as portas, e liberar só as necessárias:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCCEPT
iptables -A FORWARD -m multiport -p tcp -s $REDE_INTERNA --dport 25,53,110,143,123 -j ACCEPT
iptables -A FORWARD -m multiport -p udp -s $REDE_INTERNA --dport 53,123 -j ACCEPT
iptables -A FORWARD -p icmp -s $REDE_INTERNA -j ACCEPT
iptables -A FORWARD -j DROP

Caso você use alguma aplicação que não possa passar pelo proxy (e.g. Conectividade Social da Caixa Econômica), vc precisa definir regras adicionais de exceção.
Ainda é possível fugir do seu proxy usando um proxy externo em uma das portas liberadas; a única forma efetiva de impedir isso seria usar um firewall de camada 7, o que não é nada simples de implementar.


caraca, a partir de hoje vc é o mestre cuca pra mim...kkkkk

muito obrigado mesmo, vou tentar dessa forma que vc me passou, eu queria saber... "se nao for pedir de mais"...

o que preciso para que funcione o proxy transparente, obs"ja segui varios tutoriais." porem nenhum funcionou.. :(

acho que o problema esta no iptables... atualmente uso ubuntu 10.04...e a ultima versao do squid estável.

obrigado por tudo.

zekkerj

Vide minha primeira resposta...
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

_ubuntu_

Citação de: zekkerj online 28 de Julho de 2011, 19:36
Vide minha primeira resposta...

putz...foi mal cara...ja era + de 18:00 e eu tava com pressa saindo do trampo..dai nao li...apenas olhei por cima...

mas de toda forma...muuuuuuuuuuuuuuuuito obrigado...fsd agora vou fazer os testes ja e posto aqui o resultado..vlw =]

_ubuntu_

resolvido, muito obrigado.

se alguem tiver afim de saber como eu fiz, entre em contato que terei o maior prazer em contar detalhadamente =]