Regras de Iptables [RESOLVIDO]

1. Regras de Iptables [RESOLVIDO]

Andre Ferreira
alfs72

(usa Ubuntu)

Enviado em 22/05/2010 - 09:22h

Olá! Esta é a minha primeira mensagem no VOL, espero que tenha postado no local certo!

Preciso de uma ajudinha dos colegas no seguinte caso:

Instalei um squid numa máquina, para que o usuário só acesse o que for permitido no horário de trabalho. Até aí tudo bem, sem problema algum.

Estou com DUAS dúvidas agora quanto às regras de iptables, pois não conheço muito o assunto:

1 - Coloquei uma regra de redirecionamento do tráfego da porta 80 para a porta do squid como indicado na configuração do squid - ok, funciona! Agora eu preciso montar outra regra que bloqueie o acesso a web desta máquina caso o usuário remova o proxy do navegador - Se ele fizer isso, o navegador funciona livre.

2 - Preciso subir esse script de inicialização junto com o sistema, mas segui umas dicas que encontrei pela web ( criar o script em /etc/init.d dar permissão de execução e depois rodar o comando update-rc.d ) mas não deu certo, pois dá erro de permissão.

Agradeço muito se algum colega do VOL puder me auxiliar, pois preciso muito colocar essa máquina pra rodar, mas não estou achando uma solução pra esse problema.

Saudações a todos!!!


  


2. MELHOR RESPOSTA

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 24/05/2010 - 21:07h

ahh... por que não falou antes?

simples. O que vc precisa está definido aqui: http://www.dicas-l.com.br/dicas-l/20090110.php

3. Re: Regras de Iptables [RESOLVIDO]

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 22/05/2010 - 09:44h

quando vc ativa o proxy transparente, como fez, com redirecionamento pelo iptables, o usuário NÃO PRECISA ativar o proxy no seu próprio navegador/máquina, funciona assim (modo lógico):

é http? desvia para 3128 do fwll/gw <-- essa é uma condição TÍPICA e ABSOLUTA, não tem como o usuário fugir disso (exceto por tunelização/vpns, mas isso é outra história).

IMHO, não há realmente um problema.



4. Re: Regras de Iptables [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/05/2010 - 13:03h

O fato é que SE sua regra de redirecionamento foi feita corretamente, tenha o usuário ativado ou não o proxy no browser a requisição cairá no Squid de qualquer forma (exceto nas condições de tunelling/vpn que o Irado citou).
Não haveria como ter uma regra que bloquei o acesso quando o usuário remover o proxy, pois estabelecendo o redirecionamento você especifica que independende ou não do usuário especificar proxy ele o usará do mesmo jeito.

Faça um teste simples: Se o ip do seu funcionário for 192.168.0.25, dê o seguinte comando quando ele tirar o proxy no browser:
tail -f /var/log/squid/access.log| grep -i 192.168.0.25
Se não aparecer novas linhas seu redirecionamento está incorreto. Se aparecer, pasta regular as permissões no seu squid.

Quando aos scripts de inicialização, você precisa ser root para gravar em /etc/
Para descomplicar a vida, dê um "sudo gedit /etc/rc.local" e cole seu scrip ao final do arquivo (ANTES do "exit 0").
IMHO, não há realmente um problema[2].


5. Re: Regras de Iptables [RESOLVIDO]

Andre Ferreira
alfs72

(usa Ubuntu)

Enviado em 23/05/2010 - 00:48h

O redirecionamento da porta 80 foi feito para a porta do proxy ( vejamos se está certo: "iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128" ). Se eu não configurar o proxy no navegador, ele funciona livre. Se eu colocar o proxy, as regras que eu criei funcionam corretamente.

Não sei se tem algo a ver, mas devido ao ambiente e às necessidades, o proxy está rodando na própria máquina do usuário.

Quanto ao /etc/rc.local , já tentei gravar essa regra de redirecionamento de porta antes do código "exit 0", gravei como root, mas não subiu também.

Vou ficar no aguardo de mais dicas.. por enquanto obrigado a todos!


6. Re: Regras de Iptables [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 24/05/2010 - 13:25h

Na verdade, tem tudo a ver sim. Se o proxy e o cliente são a mesma máquina, a regra "iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128" não vai funcionar nunca.
como pode ver a sintaxe, ela especifica tratar os pacotes vindos de eth0 (-i eth0), e localmente os pacotes vem de "lo".
O que você pode fazer é complementar com outra regra:
"iptables -t nat -A PREROUTING -i lo -p tcp --dport 80 -j REDIRECT --to-port 3128"


7. Re: Regras de Iptables [RESOLVIDO]

Andre Ferreira
alfs72

(usa Ubuntu)

Enviado em 24/05/2010 - 18:52h

Diede,

Fiz a alteração que você recomendou, mas continuo com a mesma situação que antes: Com proxy configurado no navegador, funciona perfeito. Mas se eu tirar o proxy do navegador, continua navegando livremente, sem restrição nenhuma.

Gostaria de saber se existe alguma maneira de eu bloquear o acesso á web quando o usuário NÃO usar o proxy. E como subir essa regra "iptables" junto com o sistema.

Mesmo assim agradeço pela ajuda!!!!!


8. Re: Regras de Iptables [RESOLVIDO]

Andre Ferreira
alfs72

(usa Ubuntu)

Enviado em 25/05/2010 - 00:14h

Irado

É exatamente essa a idéia!!! Só que quando eu subo essa regra, a navegação pára até com o proxy configurado... :(

Nota: tive que alterar o código em "--uid-owner squid" para "--uid-owner proxy" , pois é assim que o squid está subindo. Se deixar como "--uid-owner squid" dá erro.

Alguma idéia do que pode ser?????

Muito obrigado pela dica!


9. Re: Regras de Iptables [RESOLVIDO]

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 25/05/2010 - 12:08h

bem.. a regra deve ser usada na máquina local, como vc pediu. As alterações de proprietário estão ok (squid --> proxy), mas o NÃO FUNCIONAR.. hmm..

verifique se o squid está no ar e em qual porta (isso na máquina local):

#netstat -nlpt




10. Re: Regras de Iptables [RESOLVIDO]

Andre Ferreira
alfs72

(usa Ubuntu)

Enviado em 25/05/2010 - 17:41h

Irado

Acho que descobri o problema... a minha lan virtual (eth0:1) não estava subindo com o sistema... Subi ela na mão, restartei o proxy e funcionou!!

Muito obrigado pela ajuda, valeu mesmo!!! Me ajudou muito!!!!!

Abraço!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts