problemas com proxy [RESOLVIDO]

1. problemas com proxy [RESOLVIDO]

diego tesch
diegotesch

(usa Ubuntu)

Enviado em 15/07/2013 - 13:52h

boa tarde, tenho um servidor proxy e firewall configurados e funcionais. porém hoje realizando uma bateria de testes com o servidor me deparei com um sério problema.
é o seguinte. com o proxy configurado no browser dos clientes os bloqueios são efetuados corretamente, porém quando inseri uma máquina nova conectada ao servidor e sem antes configurar o browser para comunicar-se com o proxy, a maquina acessa a internet normal sem qualquer tipo de bloqueio.
anteriormente fiz uma pergunta com este proposito e responderam-me que: quando um cliente acessa tenta acessar a internet sem o browser estar devidamente configurado ele não acessaria nenhum site.
levando isto em consideração e o eventual acontecimento. esta teoria não está correto.
gostaria muito da ajuda de voces.
agradeço desde ja.


  


2. MELHOR RESPOSTA

Buckminster
Buckminster

(usa Debian)

Enviado em 15/07/2013 - 16:24h

diegotesch escreveu:

cara basicamente meu firewall possui estas regras

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUNTING -o eth0 -j MASQUERADE
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -p udp -i eth1 --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -i eth1 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -i eth1 --dport 443 -j ACCEPT
iptables -A FORWARD -i eth2 -j LOG
iptables -A FORWARD -p tcp -i eth1 -j REJECT
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -p tcp --syn -j DROP


me esclareça uma coisa.
esta linha que voce me indicou eu colocaria apos a linha de compartilhamento da internet ou eu mesclo ela coma esta:
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT.

no caso no squid.conf basta colocar o transparent em frente a porta padrão?


Coloque assim:
...
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 << essa linha nessa posição e verifique se a placa da tua rede interna é mesmo eth1.
iptables -t nat -A POSTROUNTING -o eth0 -j MASQUERADE
...

Veja qual a versão do teu Squid. Execute squid -v. Se for versão 3.0 coloque transparent, se for versão 3.1 ou acima coloque intercept.
Colocando transparent (ou intercept), você não precisará setar o proxy nos navegadores.

3. Re: problemas com proxy [RESOLVIDO]

William
bwilding

(usa Fedora)

Enviado em 15/07/2013 - 15:43h

Provavelmente o problema está nas configurações do seu firewall, pois ele não está redirecionando as conexões destinadas à porta 80 pra porta do squid (por padrão a 3128). Outra coisa, talvez você não esteja usando o squid no modo transparente.

Altere as regras do seu firewall seguindo o modelo abaixo:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

E altere as configurações do seu squid incluindo a linha abaixo (mude 3128 pra porta que você está usando no squid):
http_port 3128 transparent

Fazendo isso você não precisará ficar configurando cada navegador dos micros. Já vai te poupar um bom tempo :)


4. Re: problemas com proxy [RESOLVIDO]

diego tesch
diegotesch

(usa Ubuntu)

Enviado em 15/07/2013 - 16:07h

cara basicamente meu firewall possui estas regras

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUNTING -o eth0 -j MASQUERADE
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -p udp -i eth1 --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -i eth1 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -i eth1 --dport 443 -j ACCEPT
iptables -A FORWARD -i eth2 -j LOG
iptables -A FORWARD -p tcp -i eth1 -j REJECT
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -p tcp --syn -j DROP


me esclareça uma coisa.
esta linha que voce me indicou eu colocaria apos a linha de compartilhamento da internet ou eu mesclo ela coma esta:
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT.

no caso no squid.conf basta colocar o transparent em frente a porta padrão?


5. Re: problemas com proxy [RESOLVIDO]

diego tesch
diegotesch

(usa Ubuntu)

Enviado em 15/07/2013 - 16:54h

a placa eth1 é a da rede interna sim
uma duvida ainda em questao
no caso a linha:
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
será retirada do script ou pode continuar sem problemas?


6. Re: problemas com proxy [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 15/07/2013 - 16:57h

diegotesch escreveu:

a placa eth1 é a da rede interna sim
uma duvida ainda em questao
no caso a linha:
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
será retirada do script ou pode continuar sem problemas?


É indiferente, pode deixar ou retirar.
Essa linha está dizendo que tudo que chegar para o próprio servidor (INPUT) na porta 3128 é para aceitar.
Não irá influenciar em nada com o Squid, mas aconselho a retirar por questão de segurança.


7. Re: problemas com proxy [RESOLVIDO]

diego tesch
diegotesch

(usa Ubuntu)

Enviado em 15/07/2013 - 17:29h

buck, deu certo acrescentando a linha que voce me passou. porém o transparente na realidade utilizei o (intercept) nao funcionou. Mas sem configurar o proxy no navegador nenhuma pagina é acessada. pra mim ja esta de bom tamanho.
agora a titulo de curiosidade, porque se retirar a linha citada anteriormente é uma melhor medida de segurança?


8. Re: problemas com proxy [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 15/07/2013 - 21:23h

diegotesch escreveu:

buck, deu certo acrescentando a linha que voce me passou. porém o transparente na realidade utilizei o (intercept) nao funcionou. Mas sem configurar o proxy no navegador nenhuma pagina é acessada. pra mim ja esta de bom tamanho.
agora a titulo de curiosidade, porque se retirar a linha citada anteriormente é uma melhor medida de segurança?


Porque a chain INUPT é a que controla os pacotes que terão destino direto ao próprio servidor. Se a porta 3128 está destinada ao proxy não tem porque deixar ela aberta no servidor. Os pacotes destinados à porta 3128 devem ser repassados direto ao proxy, então não tem porque deixar essa porta aberta para teu próprio servidor.

Posta aqui todo teu squid.conf


9. Re: problemas com proxy [RESOLVIDO]

diego tesch
diegotesch

(usa Ubuntu)

Enviado em 16/07/2013 - 08:10h

como pedido anteriormente aqui está meu arquivo do squid.conf


#Porta default do proxy
http_port 3128 intercept

#O nome do servidor
visible_hostname servidor

#Cache
cache_mem 64 mb
maximum_object_size_in_memory 64 kb
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 2048 16 256
cache_access_log /var/log/squid3/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Regras de acesso para rede local
acl manager proto cache_object
acl localhost src 127.0.0.1
acl SSL_ports port 443 563
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling http
acl Safe_ports port 901 #swat
acl Safe_ports port 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

redirect_program /usr/bin/squidGuard

#Bloqueando por dominios e palavras
#acl bloqueados url_regex -i "/etc/squid3/bloqueados"
#http_access deny bloqueados
#acl liberados url_regex -i "/etc/squid3/livres"
#http_access allow liberados
#acl privilegio src 192.168.1.10-192.168.1.30/24
#http_access allow privilegio bloqueados
error_directory /usr/share/squid-langpack/pt/

acl redelocal src 192.168.1.0/24
http_access allow redelocal
http_access allow localhost
http_access deny all


10. Re: problemas com proxy [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 16/07/2013 - 17:47h

Teu squid.conf está em ordem. O proxy transparente deveria funcionar.
Como estão tuas conexões físicas?
Você colocou o servidor proxy entre o cabo de entrada da internet e o switch?
Ou seja, o cabo de entrada da internet conectado na placa de rede eth0 e a placa de rede eth1 conectada no switch?

Tente colocar o IP da placa eth1, assim:
http_port xxx.xxx.xxx.xxx:3128 intercept

E comente essa linha no Iptables:
iptables -A FORWARD -p tcp -i eth1 --dport 80 -j ACCEPT



11. Re: problemas com proxy [RESOLVIDO]

diego tesch
diegotesch

(usa Ubuntu)

Enviado em 16/07/2013 - 18:54h

e deste jeito mesmo buck
vou tentar utilizar a dica que voce me passou'
depois posto aqui o resultado.


12. Re: problemas com proxy [RESOLVIDO]

diego tesch
diegotesch

(usa Ubuntu)

Enviado em 17/07/2013 - 17:01h

buck, seguinte
realizei o procedimento que voce me indicou, porém o resultado continua o mesmo.
o proxy funciona, porém não de forma transparente.
de toda forma estou totalmente satisfeito com o resultado obtido.
mas gostaria de conseguir implementar de forma transparente para eventos futuros.
agradeço a ajuda de todos.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts