Squid com problemas com SSL e HTTPS [RESOLVIDO]

1. Squid com problemas com SSL e HTTPS [RESOLVIDO]

Guilherme Toneloto
guitoneloto

(usa Ubuntu)

Enviado em 13/08/2015 - 10:48h

Olá Galera,

Estou enfrentando um problema ao configurar um servidor proxy com o squid em modo transparente.

Meu problema começou quando a empresa que eu trabalho pediu para eu configurar um servidor proxy para uma área de eventos, desta forma instalei um Debian, configurei o DHCP e o Squid, inicialmente tudo funcionou adequadamente... ai que veio um problema, o SSL (Porta 443) não era direcionada ao Squid e assim não gerava um log de acesso, a empresa foi bem clara que eu não posso deixar a porta SSL direta para acesso à internet pois se trata de uma empresa publica e precisamos guardar todo LOG de acesso (Quem acessou, data e o site).

Com muitas buscas descobri que eu precisaria ter um certificado válido para ser configurado no Squid, assim segui alguns tutoriais, recompilei o squid ativando e SSL e gerei um certificado auto-assinado no OPENSSL, até aí funcionou, só que nossos usuários recebem uma mensagem no navegador falando que o servidor falando que o certificado não é válido e nos Smartphones alguns APPS como o do Facebook não funcionam.

Eu gostaria apenas de saber se é possível usar o Squid apenas para gerar LOG de acesso, sem realizar o cache do objeto e caso não tenha como, gostarria de saber se existe algum software livre para esse tipo de procedimento.

Para evitar dúvidas, segue o Squid.conf




#-----------------------#
# CONFIGURAÇÕES BASICAS
#-----------------------#

# PORTA DE ACESSO
http_port 3128 transparent
http_port 8080 intercept
https_port 8443 transparent ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/home/caixa/squid/certs/myCA.pem

dns_nameservers 200.204.135.253
dns_nameservers 172.16.0.1

# DEFINE O NOME DO SERVIDOR (COMANDO hostname)
visible_hostname proxy.caixa

# ATIVA A LINGUAGEM DAS PAGINAS DE ERRO PARA PORTUGUÊS
#error_directory /usr/share/squid/errors/Portuguese/


# OPÇÕES DO CACHE
cache_mem 400 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 2048 16 256
maximum_object_size 512 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 400 KB

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
quick_abort_max 16 KB
quick_abort_pct 95
quick_abort_min 16 KB
request_header_max_size 20 KB
reply_header_max_size 20 KB
request_body_max_size 0 KB




# LOG
cache_access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log

# ACLS
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 444 563 1863 8443 # https
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 CONNECT method CONNECT


acl manager proto cache_object

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl rede_172 src 172.16.0.0/255.240.0.0
acl rede_192 src 192.168.1.0/255.255.255.0
acl rede_1920 src 192.168.0.0/255.255.255.0
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow rede_192
http_access allow rede_172
http_access allow rede_1920

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



Firewall
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 123 -i eth1 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -i eth1 -j ACCEPT

iptables -t nat -A PREROUTING -s 172.16.0.0/255.240.0.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/255.240.0.0 --dport 443 -j REDIRECT --to-port 8443

 



Desde já agradeço a todos pela a ajuda.



  


2. Re: Squid com problemas com SSL e HTTPS [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 13/08/2015 - 14:49h

Cara, só faltou vc entregar o certificado para os usuários. Sem ele, todos os certificados vão dar inválidos.
--
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. Re: Squid com problemas com SSL e HTTPS [RESOLVIDO]

Guilherme Toneloto
guitoneloto

(usa Ubuntu)

Enviado em 13/08/2015 - 15:33h

renato_pacheco escreveu:

Cara, só faltou vc entregar o certificado para os usuários. Sem ele, todos os certificados vão dar inválidos.
--
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


Olá Renato, Obrigado pela ajuda.
O Meu problema que vão ser várias pessoas acessando, uma pessoa vem fazer uma visita ao meu evento, ela simplesmente entra e usa a internet, não tem como entregar o certificado a ela...

Tem alguma de usar o squid de uma maneira que ele não apresente o erro de certificado ? talvez não realizar o CACHE, apenas guardar o LOG ou até mesmo outro programa..






4. Re: Squid com problemas com SSL e HTTPS [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 13/08/2015 - 16:35h

Cara, vc pode liberar o IP das pessoas de forma indefinida, mas mesmo assim vai precisar do certificado. O maior problema ae é pq seu squid é transparente. Se ele fosse autenticado, rolaria d vc não precisar do certificado, pois ele registraria o host da URL e eu acho q é suficiente para o seu caso. Outra maneira é criar uma outra rota para sair por outro IP público, fazendo com q os usuários nem passe pela sua rede interna.

Infelizmente, não vejo alternativas mais simples...
--
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


5. Re: Squid com problemas com SSL e HTTPS [RESOLVIDO]

Guilherme Toneloto
guitoneloto

(usa Ubuntu)

Enviado em 13/08/2015 - 18:55h

renato_pacheco escreveu:

Cara, vc pode liberar o IP das pessoas de forma indefinida, mas mesmo assim vai precisar do certificado. O maior problema ae é pq seu squid é transparente. Se ele fosse autenticado, rolaria d vc não precisar do certificado, pois ele registraria o host da URL e eu acho q é suficiente para o seu caso. Outra maneira é criar uma outra rota para sair por outro IP público, fazendo com q os usuários nem passe pela sua rede interna.

Infelizmente, não vejo alternativas mais simples...
--
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



Existe algum software que salve o LOG de acesso, tipo salvar tudo que vem da interface eth1, sem precisar de eu usar o squid ?



6. Re: Squid com problemas com SSL e HTTPS [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 13/08/2015 - 18:57h

Tem o TCPdump, mas vc não vai conseguir ler muita coisa, não, por causa do formato (em pacotes).
--
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


7. Uma possibilidade...

Carlos Guerra
carlosguerra91

(usa Debian)

Enviado em 07/10/2016 - 16:29h

Tenho o mesmo problema, pois algumas paginas não confiam no certificado gerado pelo openssl.

Uma solução é colocar o seguinte comando no seu squid.conf

ssl_bump none ip_maquina

ou criar uma acl no caso de um grupo de IP's.

ssl_bump none liberados
http_access allow liberados

criar um arquivo na pasta squid3 com o nome liberados e inserir os ips que não vão utilizar o certificado.

Conclusão: O unico problema é que vc não vai conseguir visualizar os nomes dos sites seguros que esses IPs liberados irão acessar. Irão aparecer apenas os IP's publicos dos sites, da seguinte forma: 123.123.123.123:443


8. Re: Squid com problemas com SSL e HTTPS [RESOLVIDO]

Rafael Giffone
rafaelgiffonepc

(usa Ubuntu)

Enviado em 30/09/2017 - 20:57h

renato_pacheco escreveu:

Cara, vc pode liberar o IP das pessoas de forma indefinida, mas mesmo assim vai precisar do certificado. O maior problema ae é pq seu squid é transparente. Se ele fosse autenticado, rolaria d vc não precisar do certificado, pois ele registraria o host da URL e eu acho q é suficiente para o seu caso. Outra maneira é criar uma outra rota para sair por outro IP público, fazendo com q os usuários nem passe pela sua rede interna.

Infelizmente, não vejo alternativas mais simples...
--
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


Oi Renato, tudo bem?
Não entendi muito bem essa explicação. Sem certificado digital como ele iria fazer a filtragem e bloquear sites SSL? Somente com a autenticação seria suficiente?
Estou procurando uma solução para bloqueio de sites HTTPS sem uso de certificado digital porque também tenho muitos smartphones na rede. Nos desktops é mais tranquilo porque da pra enviar os certificados via GPO, porém os smartphones são o problema.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts