Proxy transparente [RESOLVIDO]

1. Proxy transparente [RESOLVIDO]

Mauro
msam7br

(usa Debian)

Enviado em 25/11/2013 - 17:02h

Meu Iptables:

#Compartilhando a web na rede interna
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

#Liberacao do SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#Liberacao do Squid, Http, Ftp e Ntp
iptables -A INPUT -p tcp --dport 3128 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 123 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -i eth0 -j ACCEPT

#Protecao contra port scanners ocultos
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Bloqueando tracertroute
iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j DROP

#Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP

#Abre interface para loopback
#Para funcionamento correto do KDE e outro programas graficos
iptables -A INPUT -i lo -j ACCEPT

#Logs de todos os pedidos para a porta 25
iptables -A INPUT -p tcp --dport 25 -j LOG

#Proxy transparente
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#Bloqueio de portas udp 1 a 1024
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP

#Bloqueio de qualquer regra que nao tenha sido permitida acima. Tem que ser a ultima regra
iptables -A INPUT -p tcp --syn -j DROP

#Termina
echo "Iptables Pronto"

____________________________



Só funciona quando configuro o navegador com o IP da placa eth1 (LAN) do Proxy.

Tem algum erro nas regras acima?

Desde já agradeço a todos.




  


2. Re: Proxy transparente [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 25/11/2013 - 17:21h

no seu squid.conf
tem que ter essa linha

http_port 3128 transparent


pois indica que é proxy transparente

espero que ajude



3. Re: Proxy transparente [RESOLVIDO]

Adonis Garces
adonisgarces

(usa Debian)

Enviado em 26/11/2013 - 00:36h

Se tiver usando squid 3 use:

http_port 3128 intercept

Esse faz o modo transparente.




4. Re: Proxy transparente [RESOLVIDO]

Mauro
msam7br

(usa Debian)

Enviado em 26/11/2013 - 08:02h

danniel-lara escreveu:

no seu squid.conf
tem que ter essa linha

http_port 3128 transparent


pois indica que é proxy transparente

espero que ajude


Grato pela ajuda Daniel.

Já existe essa regra no Squid mas só funciona quando configuro o Proxy do navegador com o IP do Firewall.


5. Re: Proxy transparente [RESOLVIDO]

Mauro
msam7br

(usa Debian)

Enviado em 26/11/2013 - 08:04h

adonisgarces escreveu:

Se tiver usando squid 3 use:

http_port 3128 intercept

Esse faz o modo transparente.



Olá Adonis

Minha versão é a 2.7


6. Re: Proxy transparente [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 26/11/2013 - 08:06h

msam7br escreveu:

danniel-lara escreveu:

no seu squid.conf
tem que ter essa linha

http_port 3128 transparent


pois indica que é proxy transparente

espero que ajude


Grato pela ajuda Daniel.

Já existe essa regra no Squid mas só funciona quando configuro o Proxy do navegador com o IP do Firewall.


posta ai o seu squid.conf


7. Re: Proxy transparente [RESOLVIDO]

Adonis Garces
adonisgarces

(usa Debian)

Enviado em 26/11/2013 - 10:43h

msam7br escreveu:

Meu Iptables:

#Compartilhando a web na rede interna
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

#Liberacao do SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#Liberacao do Squid, Http, Ftp e Ntp
iptables -A INPUT -p tcp --dport 3128 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 123 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -i eth0 -j ACCEPT

#Protecao contra port scanners ocultos
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Bloqueando tracertroute
iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j DROP

#Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP

#Abre interface para loopback
#Para funcionamento correto do KDE e outro programas graficos
iptables -A INPUT -i lo -j ACCEPT

#Logs de todos os pedidos para a porta 25
iptables -A INPUT -p tcp --dport 25 -j LOG

#Proxy transparente
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#Bloqueio de portas udp 1 a 1024
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP

#Bloqueio de qualquer regra que nao tenha sido permitida acima. Tem que ser a ultima regra
iptables -A INPUT -p tcp --syn -j DROP

#Termina
echo "Iptables Pronto"

____________________________



Só funciona quando configuro o navegador com o IP da placa eth1 (LAN) do Proxy.

Tem algum erro nas regras acima?

Desde já agradeço a todos.



Troca a seguinte regra:

#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

por:

#iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128


lembrando que -s é a origem, você coloca de acordo com a sua topologia.

Ah, outro detalhe:

digita no shell

#iptables -t nat -L

Posta a saida ai tbm.

no aguardo amigo.

Abs.


8. Re: Proxy transparente [RESOLVIDO]

Mauro
msam7br

(usa Debian)

Enviado em 26/11/2013 - 13:47h

adonisgarces escreveu:

msam7br escreveu:

Meu Iptables:

#Compartilhando a web na rede interna
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

#Liberacao do SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#Liberacao do Squid, Http, Ftp e Ntp
iptables -A INPUT -p tcp --dport 3128 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 123 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -i eth0 -j ACCEPT

#Protecao contra port scanners ocultos
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Bloqueando tracertroute
iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j DROP

#Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP

#Abre interface para loopback
#Para funcionamento correto do KDE e outro programas graficos
iptables -A INPUT -i lo -j ACCEPT

#Logs de todos os pedidos para a porta 25
iptables -A INPUT -p tcp --dport 25 -j LOG

#Proxy transparente
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#Bloqueio de portas udp 1 a 1024
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP

#Bloqueio de qualquer regra que nao tenha sido permitida acima. Tem que ser a ultima regra
iptables -A INPUT -p tcp --syn -j DROP

#Termina
echo "Iptables Pronto"

____________________________



Só funciona quando configuro o navegador com o IP da placa eth1 (LAN) do Proxy.

Tem algum erro nas regras acima?

Desde já agradeço a todos.



Troca a seguinte regra:

#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

por:

#iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128


lembrando que -s é a origem, você coloca de acordo com a sua topologia.

Ah, outro detalhe:

digita no shell

#iptables -t nat -L

Posta a saida ai tbm.

no aguardo amigo.

Abs.




Alterei a regra de redirecionamento.
Apaguei os IP do Proxy no navegador.

Não funcionou...

Quanto a saída depois de alterada a regra "eth1" para "IP" ficou assim:

Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- localnet/8 anywhere tcp dpt:http redir ports 3128

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- localnet/8 anywhere


9. Re: Proxy transparente [RESOLVIDO]

Mauro
msam7br

(usa Debian)

Enviado em 26/11/2013 - 13:55h

danniel-lara escreveu:

msam7br escreveu:

danniel-lara escreveu:

no seu squid.conf
tem que ter essa linha

http_port 3128 transparent


pois indica que é proxy transparente

espero que ajude


Grato pela ajuda Daniel.

Já existe essa regra no Squid mas só funciona quando configuro o Proxy do navegador com o IP do Firewall.


posta ai o seu squid.conf


_____________

# Mensagens de erro em Português
error_directory /usr/share/squid/errors/Portuguese

# Porta do Squid
http_port 3128 transparent

# Nome do servidor
visible_hostname debian-firewall

# Cache
cache_mem 800 MB
maximum_object_size_in_memory 32 KB
maximum_object_size 1024 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /etc/squid/cache 30000 16 256

# Logs de acesso
access_log /var/log/squid/access.log squid

# Regras acl padrão
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563 873
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 873 # https, snews
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 1025-65535 # portas altas
acl purge method PURGE
acl CONNECT method CONNECT

# Permissões e bloqueios padrão
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

# Bloqueio de sites por URL
acl sites_proibidos url_regex -i "/etc/squid/sites_proibidos"
http_access deny sites_proibidos

# Bloqueio de downloads por extensão
acl downloads_proibidos url_regex -i \.exe \.torrent \.avi \.mp3
http_access deny downloads_proibidos

# Regra para liberacao do facebook
acl almoco time 12:00-14:00
acl facebook dstdomain pt-br.facebook.com www.facebook.com
http_access allow facebook almoco
http_access deny facebook

# Permissão rede local e servidor
acl redelocal src 10.0.0.0/8
http_access allow localhost
http_access allow redelocal

# Controle de banda
acl controle1 url_regex -i 10.0.0.0/8
acl controle2 url_regex -i .exe$ .mp3$ .vqf$ .tar.gz$ .gz$ .rpm$ .zip$ .rar$ .avi$ .mpeg$ .mpe$ .mpg$ .ram$ .rm$ .iso$ .raw$ .wav$ .mov$

delay_pools 2
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow controle1
delay_class 2 2
delay_parameters 2 -1/-1 262144/262144
delay_access 2 allow controle2

# Bloqueio de usuários fora da rede
http_access deny all

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280


10. Re: Proxy transparente [RESOLVIDO]

Adonis Garces
adonisgarces

(usa Debian)

Enviado em 27/11/2013 - 10:05h

#Compartilhando a web na rede interna
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE


Por que você a regra dessa forma do MASQUERADE? eu uso assim sem setar a origem!

#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 




11. Re: Proxy transparente [RESOLVIDO]

Mauro
msam7br

(usa Debian)

Enviado em 27/11/2013 - 10:32h

adonisgarces escreveu:

#Compartilhando a web na rede interna
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE


Por que você a regra dessa forma do MASQUERADE? eu uso assim sem setar a origem!

#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 



Adonis!

Você matou o problema!
Alterei a regra de compartilhamento da rede e funcionamento e funcionou!

Valeu... Muito obrigado a todos pela ajuda!



12. Re: Proxy transparente [RESOLVIDO]

Adonis Garces
adonisgarces

(usa Debian)

Enviado em 27/11/2013 - 11:42h

msam7br escreveu:

adonisgarces escreveu:

#Compartilhando a web na rede interna
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE


Por que você a regra dessa forma do MASQUERADE? eu uso assim sem setar a origem!

#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 



Adonis!

Você matou o problema!
Alterei a regra de compartilhamento da rede e funcionamento e funcionou!

Valeu... Muito obrigado a todos pela ajuda!


Maravilha, graças a Deus.

Então marca como melhor resposta e dá o topico como resolvido. para ajudar nosso colegas em problemas futuros.

Abs.

Adonis.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts