Liberar acesso fora do proxy [RESOLVIDO]

13. Re: Liberar acesso fora do proxy [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/10/2012 - 22:21h

Brother...

Posta a saída:

# iptables -nvL 


e

# iptables -nvL -t nat 



  


14. Re: Liberar acesso fora do proxy [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 25/10/2012 - 00:29h

Bom aqui funcionou assim:

Bom como meu teste foi feito com politica forward accept então a segunda parte não vai precisar no seu mas se colocar não vai interferir:

# IP Liberados
iptables -A FORWARD -p tcp -s 192.168.1.2 -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.3 -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.4 -m multiport --dports 80,443 -j ACCEPT

# Bloqueio para não navegar sem proxy
iptables -A FORWARD -p tcp -s 192.168.1.0/24 -m multiport --dports 80,443,8080 -j DROP


Resultado alterando meu IP para 192.168.1.5 não navego mais sem proxy ja usando outro da lista liberada funciona sem o proxy setado e sem bloqueios.


15. Re: Liberar acesso fora do proxy [RESOLVIDO]

Henrique R. de Matos
cabal_linux

(usa Linux Mint)

Enviado em 26/10/2012 - 19:17h

Bom galera, vejo que muitos tentam ajudar e eu nao sei mesmo o que esta acontecendo.
Fiz um outro script mais simples possivel pra ver se eu acho o erro e nada, nem como transparent ele esta aceitando. Coloquei as informacoes que andrecanhadas postou aqui por ultimo e nao funciona mesmo. Vejam esse meu script e me ajudem please. Abaixo do script tem o squid.conf, as vezes tem algum erro nele tb. Agradeço.

#Autor: Henrique Rodrigues de Matos / henrique.bhtelecom@gmail.com
#Nesse script levar em consideracao eth1 e eth0 rede local e internet respectivamente

iniciar(){
# Compartilha a conexao
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo "O compartilhamento foi ativado"

# IP liberados sem proxy
iptables -A FORWARD -p tcp -s 192.168.1.1 -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.2 -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.3 -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.4 -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.5 -m multiport --dports 80,443 -j ACCEPT

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

# Permite conexao na interface de rede local e na porta 22:
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 192.168.1.3:22
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 22 -j DNAT --to-destination 192.168.1.3:22
iptables -t nat -A PREROUTING -d 192.168.1.3 -p tcp --dport 22 -j DNAT --to 192.168.1.3

# Acesso TS-Server
iptables -A INPUT -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -i eth1 -d 0/0 -p tcp -m tcp --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to 192.168.1.1

# Regras basicas de firewall:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -p tcp --syn -j DROP

# Bloqueia as portas UDP de 0 a 1023:
iptables -A INPUT -p udp --dport 0:1023 -j DROP
echo "Regras de firewall e compartilhamento ativados"
}
parar(){
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo 0 > /proc/sys/net/ipv4/ip_forward
echo "Regras de firewall e compartilhamento desativados"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâtros start ou stop"
esac

squid.conf
#http_port 192.168.1.3:3128 transparent
http_port 3128 transparent
visible_hostname empresa.block.local

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 64 MB
maximum_object_size_in_memory 20 KB
maximum_object_size 16384 KB
minimum_object_size 0 KB
cache_swap_low 95
cache_swap_high 98

# ********** >> TAG -> logformat << ********** #
logformat custom %>A %Ss %Hs %tl %ru %mt

# ********** >> TAG -> access_log << ********** #
access_log /etc/squid/var/log/access.log custom

# ********** >> TAG -> cache_log << ********** #
cache_log /etc/squid/var/log/cache.log custom

# ********** >> TAG -> cache_store_log << ********** #
cache_store_log /etc/squid/var/log/store.log custom

# ********** >> TAG -> Diretorio do cache << ********** #
cache_dir ufs /etc/squid/var/cache 100 16 256

# ********** >> TAG -> Padrão de atualização do cache << ********** #
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

# ********** >> TAG -> broken_vary_encoding << ********** #
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

# ********** >> TAG -> Usuarios sem restricoes de sites << ********** #
acl liberdade src "/etc/squid/var/db/liberdade"
http_access allow liberdade

# ********** >> TAG -> Controle de acesso << ********** #
acl all src 0.0.0.0/0.0.0.0
acl net_int_1 src 192.168.1.0/255.255.255.0
acl visitantes src 192.168.254.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl manager proto cache_object
acl Safe_ports port 443 563 # HTTPS, SNEWS
acl Safe_ports port 80 # HTTP
acl Safe_ports port 21 # FTP
acl Safe_ports port 25 # SMTP
acl Safe_ports port 110 # POP3
acl Safe_ports port 443 563 # HTTPS, SNEWS
acl Safe_ports port 70 # GOPHER
acl Safe_ports port 210 # WAIS
acl Safe_ports port 1025-65535 # UNREGISTERED PORTS
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 purge method PURGE
acl CONNECT method CONNECT

http_access allow visitantes
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 allow localhost
http_access deny to_localhost

# ********** >> TAG -> Bloqueio com base em compras coletivas << ********** #^M
acl compras url_regex -i "/etc/squid/var/db/compras"
http_access deny compras

# ********** >> TAG -> Bloqueio com base em palavras << ********** #
acl palavras dstdom_regex "/etc/squid/var/db/palavras"
http_access deny palavras

# ********** >> TAG -> Bloqueio com base em extensões << ********** #
acl downloads urlpath_regex -i "/etc/squid/var/db/downloads"
http_access deny downloads

# ********** >> TAG -> Acesso Google & Google_talk << ********** #
acl deny_webgoogletalk url_regex -i mail.google.com/mail/channel/bind
acl allow_wwwgooglebr url_regex -i www.google.com.br">www.google.com.br
acl allow_wwwgoogle url_regex -i www.google.com
acl allow_wwwgoogleimg url_regex -i images.google.com
acl allow_wwwgooglegroups url_regex -i groups.google.com
acl allow_wwwgooglenews url_regex -i news.google.com
acl allow_wwwgooglemail url_regex -i mail.google.com
acl allow_wwwgoogletranslate url_regex -i www.translate.google.com
acl gtalk1 dstdomain chatenabled.mail.google.com
acl gtalk2 dstdomain googlemail.1.google.com

http_access deny deny_webgoogletalk
http_access allow allow_wwwgooglebr
http_access allow allow_wwwgoogle
http_access allow allow_wwwgoogleimg
http_access allow allow_wwwgooglegroups
http_access allow allow_wwwgooglenews
http_access allow allow_wwwgooglemail
http_access allow allow_wwwgoogletranslate
http_access deny gtalk1
http_access deny gtalk2

# ********** >> TAG -> Bloqueio com base no horário << ********** #
acl net_local src 192.168.1.0/255.255.255.0
acl web_mail url_regex "/etc/squid/var/db/web_mail"
acl h_manha time MTWHF 07:30-11:45
acl h_tarde time MTWHF 13:00-17:00
acl permit_webmail url_regex -i \webmail.exe$
http_access deny net_local permit_webmail h_manha
http_access deny net_local permit_webmail h_tarde
http_access deny net_local web_mail h_manha
http_access deny net_local web_mail h_tarde

# ********** >> TAG -> Final da Autenticação e Libera rede local para usuarios << ********** #
http_access allow net_int_1

# ********** >> TAG -> Nega cache local, para não haver duplicação << ********** #
acl localcache dstdomain 192.168.1.3
cache deny localcache

# ********** >> TAG -> Bloqueio de tudo que não foi exposto anteriormente << ********** #
http_access deny all



16. Re: Liberar acesso fora do proxy [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 26/10/2012 - 23:15h

Outra receita destas nem a Ana Maria Braga te daria. aproveite!

1 - defina a politica padrão:

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

2 - Limpe as regras do contrario seus testes ficam atrapalhando o funcionamento do firewall.

## Limpando as Regras existentes #######
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/iptables -t filter -F
/sbin/iptables -X
/sbin/iptables -Z


3- Abra a consulta para os dns externos:
OUTPUT e FORWARD porta 53 para -p udp ACCEPT


4 -Para todos deve abrir as porta que precisar como acesso pop,imap,smtp,etc...:

iptables -A FORWARD -p tcp -m multiport --dports 25,110,143,587,465,993,995 -j ACCEPT


### Não esqueça de liberar o forward nas portas 80 e 443 pra quem não for passar pelo proxy.
### pode deixar o FORWARD somente liberado para nas portas acima apenas para os ip externo que quiser, porem fica muito mais trabalhoso

5- comente esta regra pois vai ter problemas com bancos em geral da forma que estou sugerindo quem navega é o proxy já que fechou o FORWARD da porta 80 e 443 para os demais usuário. Eles só navega se estiverem com proxy marcado.

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



6 - Troque a regra do desvio pra o proxy por uma que tire eles desse "desvio de todos" do proxy por uma exceção

O que esta assim: ####

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


fica: ####

# repita para os demais IP's
iptables -t nat -A PREROUTING -i eth0 -p tcp ! -s 192.168.1.2 --dport 80 -j REDIRECT --to-port 3128


Uma duvida qual é o IP dessa maquina 192.168.1.1 ?
Se for não precisa liberar

# Dicas:
1 - Separe sua regras por INPUT FORWARD e DROP
2- Troque as portas de entrada por alguma aleaória
Ex:

--dport 47711 -j DNAT --to-destination 192.168.1.3:22




17. Re: Liberar acesso fora do proxy [RESOLVIDO]

Henrique R. de Matos
cabal_linux

(usa Linux Mint)

Enviado em 27/10/2012 - 09:28h

Vlw demais, vou ver isso aqui e falo com voces ai.
Melhor que Ana Maria mesmo.
De qualquer forma obrigado pela ajuda.
Vlew



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts