Proxy NÃO transparente! [RESOLVIDO]

1. Proxy NÃO transparente! [RESOLVIDO]

Junior Cunha
JuniorCunha

(usa CentOS)

Enviado em 12/05/2016 - 22:06h

Boa noite amigos, depois de varias tentativas resolvi procurar ajuda... Sou iniciante em iptables e proxy. Estou tento o seguinte problema:

Preciso configurar um Firewall / Proxy básico na empresa onde trabalho, firewall bloqueando tudo e liberando somente o que for necessário e o proxy NÃO transparente, para que possamos bloquear os conteudos HTTPS também. Arquivo de firewall configurado e funcionando, já o proxy esta funcionando pela metade, pois a porta 80 esta operando normalmente, porém a 443 não esta abrindo nenhuma pagina, ai se no arquivo de firewall eu der um ACCEP na porta 443, o HTTPS volta a funcionar, só que funciona fora do proxy também, deixando o ambiente vulnerável.

Segue arquivo do Firewall e Squid.

FIREWALL:

#!/bin/bash

##############################
###############INICIANDO......



##########VARIAVEIS
# Interface de rede ligada a internet
IFACE_WEB="enp3s0"
# Interface de rede ligada a rede interna
IFACE_REDE="enp2s0"
# Rede interna
REDE_INTERNA="192.168.10.0/24"
# Portas liberadas TCP
PORTAS_TCP="20,21,53,80,443"
# Portas liberadas UDP
PORTAS_UDP="53"
# Portas liberadas para a rede interna
PORTAS_REDE_INTERNA="25,110"


##########LIMPAR REGRAS
# Limpa as regras da tabela filter
iptables -F
# Limpa as regras da tabela nat
iptables -t nat -F


##########POLITICA PADRAO
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

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


############
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

##########NAT
# COMPARTILHA A INTERNET #
iptables -t nat -A POSTROUTING -s $REDE_INTERNA -o $IFACE_WEB -j MASQUERADE


##########INPUT
#Proxy
iptables -A INPUT -p tcp -i enp2s0 --dport 3128 -j ACCEPT
# Libera o acesso SSH de qualquer origem
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Libera DNS
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
# Libera HTTPS
#iptables -A FORWARD -p tcp --dport 443 -j ACCEPT #----> Dessa forma a funciona, mas fica vulneravel.
# Aceita ping apenas da rede interna
iptables -A INPUT -s $REDE_INTERNA -p icmp --icmp-type 8 -j ACCEPT


##########FORWARD
#Pertas internas
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_REDE_INTERNA -j ACCEPT

##########FIM



SQUID:

#########SQUID 3.3.8
#
##############################
###############INICIANDO......


##########Mensagens de erro em Português
error_directory /usr/share/squid/errors/pt-br


##########Porta do Squid
http_port 3128


##########Nome do servidor
visible_hostname SERVIDOR01


##########Cache
cache_mem 700 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 todos src 192.168.10.0/24
#acl manager proto cache_object #------> SE ATIVAR ESSA LINHA, DA ERRO NA HORA DE INICIAR O SQUID.
acl local src 127.0.0.1/32
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


##########ALLOW / DENY
# Permissões e bloqueios padrão
#http_access allow manager local
#http_access deny manager
http_access allow purge local
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

# Permissão rede local e servidor
acl redelocal src 192.168.10.0/24
http_access allow local
http_access allow redelocal

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


##########FIM


Desde já agradeço a colaboração de todos!


  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 12/05/2016 - 23:21h

Pra vc resolver a sua situação, preciso q vc me responda algumas perguntas:

- O proxy (squid) fica no mesmo servidor do proxy? Pelas suas regras, percebi q sim, mas é bom perguntar...
- Como vc configurou no navegador do usuário o proxy? Pq se não acessa HTTPS, é pq vc não colocou proxy em HTTPS tb.

Por enquanto é só...
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh

3. Redirect

João Araújo
joaoAraujo

(usa openSUSE)

Enviado em 12/05/2016 - 22:16h

Cara, faltou o redirecionamento das portas (80 e 443) para 3128 (squid) no firewall

iptables -A PREROUTING -p tcp -m tcp -m multiport -i NTERFACE_INTERNA --ports 443 -j REDIRECT --to-ports 3128
iptables -A PREROUTING -p tcp -m tcp -m multiport -i NTERFACE_INTERNA --ports 80 -j REDIRECT --to-ports 3128


4. Re: Proxy NÃO transparente! [RESOLVIDO]

Junior Cunha
JuniorCunha

(usa CentOS)

Enviado em 12/05/2016 - 22:29h

joaoAraujo escreveu:

Cara, faltou o redirecionamento das portas (80 e 443) para 3128 (squid) no firewall

iptables -A PREROUTING -p tcp -m tcp -m multiport -i NTERFACE_INTERNA --ports 443 -j REDIRECT --to-ports 3128
iptables -A PREROUTING -p tcp -m tcp -m multiport -i NTERFACE_INTERNA --ports 80 -j REDIRECT --to-ports 3128




Ola João Araujo, muito obrigado pela atenção, tentei o que você falou mas deu erro na hora de subir o arquivo de firewall, ai alterei para as seguintes linhas:

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

PORÉM HTTPS CONTINUOU NÃO FUNCIONANDO.


5. Re: Proxy NÃO transparente! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 12/05/2016 - 23:18h

joaoAraujo escreveu:

Cara, faltou o redirecionamento das portas (80 e 443) para 3128 (squid) no firewall

iptables -A PREROUTING -p tcp -m tcp -m multiport -i NTERFACE_INTERNA --ports 443 -j REDIRECT --to-ports 3128
iptables -A PREROUTING -p tcp -m tcp -m multiport -i NTERFACE_INTERNA --ports 80 -j REDIRECT --to-ports 3128


Brother, ele disse q o proxy dele é autenticado, portanto, ele não deve executar essas regras suas ae.

--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


6. Re: Proxy NÃO transparente!

Junior Cunha
JuniorCunha

(usa CentOS)

Enviado em 13/05/2016 - 00:29h

renato_pacheco escreveu:

Pra vc resolver a sua situação, preciso q vc me responda algumas perguntas:

- O proxy (squid) fica no mesmo servidor do proxy? Pelas suas regras, percebi q sim, mas é bom perguntar...
- Como vc configurou no navegador do usuário o proxy? Pq se não acessa HTTPS, é pq vc não colocou proxy em HTTPS tb.

Por enquanto é só...
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh



Boa noite Renato Pacheco, primeiramente muito obrigado, você resolveu meu problema!

Sim o Firewall e Proxy ficam no mesmo servidor, e realmente eu setei no client somente o HTTP, kkkkkkkkk. Setando HTTPs já começou a responder normalmente.

Muito obrigado pelo apoio.

Gostaria de tirar duas duvidas,
1- O retorno do proxy para paginas HTTPs não é o erro do SQUID? E sim uma simples pagina expirada?
2- Uso o CentOS 7, e notei que no meu arquivo de proxy, a linha ---> #acl manager proto cache_object, preciso comentala pois caso não comente o proxy da erro na hora de inicializar. A exclusão dessa linha pode deixa meu proxy em mal desempenho?

Att,


7. Re: Proxy NÃO transparente! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 13/05/2016 - 08:36h

JuniorCunha escreveu:

Boa noite Renato Pacheco, primeiramente muito obrigado, você resolveu meu problema!

Sim o Firewall e Proxy ficam no mesmo servidor, e realemte eu setei no client somente o HTTP, kkkkkkkkk. Setando HTTPs já começou a responder normalmente.

Muito obrigado pelo apoio.

Gostaria de tirar duas duvidas,
1- O retorno do proxy para paginas HTTPs não é o erro do SQUID? E sim uma simples pagina expirada?
2- Uso o CentOS 7, e notei que no meu arquivo de proxy, a linha ---> #acl manager proto cache_object, preciso comentala pois caso não comente o proxy da erro na hora de inicializar. A exclusão dessa linha pode deixa meu proxy em mal desempenho?

Att,


1 - R: Sim. Para que as páginas HTTPS retornem a página d erro do Squid, é necessário configurar o seu Squid para suportar SSL.
2 - R: Na verdade, esta linha tinha função quando o Squid era versão 2.7. As novas versões não precisam mais desta linha, pode apagar.

--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


8. RESOLVIDO

Junior Cunha
JuniorCunha

(usa CentOS)

Enviado em 13/05/2016 - 08:55h

Queria agradecer a todos que me ajudaram na solução deste problema e destacar o apoio do Renato Pacheco.

PROBLEMA RESOLVIDO.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts