Squid no Cent Os 7 bloqueia todos os sites https

1. Squid no Cent Os 7 bloqueia todos os sites https

Filipe
eustaquiomv

(usa CentOS)

Enviado em 22/02/2019 - 16:54h

Pessoal instalei um Squid a muito tempo atras em um Fedora e até hoje roda legal. Precisei agora instalar no Cent Os 7 e me deparei com paginas Https sendo bloqueadas, tipo bancos, site que comessem com Https, ate www.google.com.br. Então resolvi seguir tutorial do https://tidahora.com.br/servidor-proxy-squid-no-linux-centos-7-com-autenticacao-local/ e o mesmo acontece. Ja vasculhei a net inteira, segui vários passos onde mandam criar certificados, liberar via iptables e nada. Alguém pode me dar uma luz. Hoje estou com o squid.conf do site que mencionei acima, desde ja antecipo agradecimentos....


  


2. Squid no Cent Os 7 bloqueia todos os sites https

Filipe
eustaquiomv

(usa CentOS)

Enviado em 23/02/2019 - 11:03h

alguem pode me ajudar??


3. Re: Squid no Cent Os 7 bloqueia todos os sites https

Leandro Silva
LSSilva

(usa Outra)

Enviado em 23/02/2019 - 21:47h

Boa noite.

Especifique alguns pontos:
*Tá rodando Gateway em VM ou máquina física?
*Como quer que o Proxy funcione? Vai ser transparente? Vai usar Auth? Rede predominante de computadores ou vai ter dispositivos móveis? O que os usuários vão acessar na maior parte do tempo?
*Tem Selinux/firewalld ativados?
*Poste sua configuração de Proxy (igual está na máquina).
*Poste sua configuração de firewall.




4. Squid no Cent Os 7 bloqueia todos os sites https

Filipe
eustaquiomv

(usa CentOS)

Enviado em 23/02/2019 - 22:19h

Boa Noite,

*Tá rodando Gateway em VM ou máquina física?
--> Servidor Fisico Cent os7 c/ 2 placas de redes físicas

*Como quer que o Proxy funcione? Vai ser transparente? Vai usar Auth? Rede predominante de computadores ou vai ter dispositivos móveis? O que os usuários vão acessar na maior parte do tempo?
--> com Autenticação Local -> somente computadores -> Usuários acessarão somente Sites

*Tem Selinux/firewalld ativados?
--> Desativei no inicio da instalação

*Poste sua configuração de Proxy (igual está na máquina). Como disse segui o tutorial que mencionei acima...

## DEFINE A PORTA DE CONEXAO DO SQUID
http_port 3128

## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE ##
maximum_object_size 4096 KB

## DEFINE O TAMANHO MINIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE ##
minimum_object_size 0 KB

## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE DE MEMORIA ##
maximum_object_size_in_memory 64 KB

## DEFINE A QUANTIDADE DE MEMORIA RAM A SER ALOCADA PARA CACHE ##
cache_mem 512 MB

## AJUSTA A PERFORMANCE EM CONEXOES PIPELINE ##
pipeline_prefetch on

## CACHE DE FQDN ##
fqdncache_size 1024

## OPCOES DE REFRESH PATTERN ##
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

## DEFINE A PORCENTAGEM DO USO DO CACHE ##
cache_swap_low 90
cache_swap_high 95

## ARQUIVO DE LOGS DO SQUID ##
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

## DEFINE O LOCAL DO CACHE ##
cache_dir ufs /var/spool/squid 1600 16 256

## CONTROLE DE ROTACAO DOS ARQUIVOS DE LOGS ##
logfile_rotate 10

## ARQUIVO ONDE CONTEM OS ENDERECOS LOCAIS DA REDE ##
hosts_file /etc/hosts

## ACLS - PORTAS PADROES LIBERADAS ##
acl SSL_ports port 80 #HTTP
acl SSL_ports port 443 #HTTPS
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # 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

### DEFININDO MODO DE AUTENTICACAO
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/usuarios
auth_param basic children 5
auth_param basic realm "DIGITE SEU USUARIO E SENHA PARA ACESSO A INTERNET:"
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

### ACL PARA GARANTIR A AUTENTICACAO DO USUARIO NOS SITES ###
acl autenticados proxy_auth REQUIRED

## BLOQUEIA O ACESSO UNSAFE PORTS ##
http_access deny !Safe_ports

## Deny CONNECT to other than secure SSL port ##
http_access deny CONNECT !SSL_ports

## SITES BLOQUEADOS PARA ACESSO ##
acl sites-bloqueados url_regex -i "/etc/squid/regras/sites_bloqueados"

## SITES LIBERADOS PARA ACESSO ##
acl sites-liberados url_regex -i "/etc/squid/regras/sites_liberados"

## DEFININDO A ORDEM DAS REGRAS - ACLS ##
http_access deny sites-bloqueados
http_access allow sites-liberados
http_access allow autenticados
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow all

## NOME QUE IRA APARECER NA TELA DE ERRO OU BLOQUEIO DO SQUID ##
visible_hostname proxy.tidahora.com.br

## DIRETORIO DAS PAGINAS DE ERROS ##
error_directory /usr/share/squid/errors/pt-br

## OUTRAS OPCOES DE CACHE ##
cache_effective_user squid
coredump_dir /var/spool/squid

*Poste sua configuração de firewall.
-->o básico ->> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128



5. Re: Squid no Cent Os 7 bloqueia todos os sites https

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 23/02/2019 - 22:27h

na estação tu setou o proxy na conf do navegador ?




6. Re: Squid no Cent Os 7 bloqueia todos os sites https

Leandro Silva
LSSilva

(usa Outra)

Enviado em 24/02/2019 - 00:11h

Boa Noite,

*Servidor Fisico Cent os7 c/ 2 placas de redes físicas
--> Beleza, então, pelo que vi a eth1 é a placa que dedicou à rede interna. Certo?

*com Autenticação Local -> somente computadores -> Usuários acessarão somente Sites
--> Cenário interessante.

*Tem Selinux/firewalld ativados?
--> Desativei no inicio da instalação
Show (não é legal do ponto de vista da segurança, mais vamos lá...)

*Poste sua configuração de Proxy (igual está na máquina). Como disse segui o tutorial que mencionei acima...

## DEFINE A PORTA DE CONEXAO DO SQUID
http_port 3128

## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE ##
maximum_object_size 4096 KB

## DEFINE O TAMANHO MINIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE ##
minimum_object_size 0 KB

## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE DE MEMORIA ##
maximum_object_size_in_memory 64 KB

## DEFINE A QUANTIDADE DE MEMORIA RAM A SER ALOCADA PARA CACHE ##
cache_mem 512 MB

## AJUSTA A PERFORMANCE EM CONEXOES PIPELINE ##
pipeline_prefetch on

## CACHE DE FQDN ##
fqdncache_size 1024

## OPCOES DE REFRESH PATTERN ##
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

## DEFINE A PORCENTAGEM DO USO DO CACHE ##
cache_swap_low 90
cache_swap_high 95

## ARQUIVO DE LOGS DO SQUID ##
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

## DEFINE O LOCAL DO CACHE ##
cache_dir ufs /var/spool/squid 1600 16 256

## CONTROLE DE ROTACAO DOS ARQUIVOS DE LOGS ##
logfile_rotate 10

## ARQUIVO ONDE CONTEM OS ENDERECOS LOCAIS DA REDE ##
hosts_file /etc/hosts

## ACLS - PORTAS PADROES LIBERADAS ##
acl SSL_ports port 80 #HTTP
acl SSL_ports port 443 #HTTPS
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # 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

### DEFININDO MODO DE AUTENTICACAO
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/usuarios
auth_param basic children 5
auth_param basic realm "DIGITE SEU USUARIO E SENHA PARA ACESSO A INTERNET:"
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

### ACL PARA GARANTIR A AUTENTICACAO DO USUARIO NOS SITES ###
acl autenticados proxy_auth REQUIRED

## BLOQUEIA O ACESSO UNSAFE PORTS ##
http_access deny !Safe_ports

## Deny CONNECT to other than secure SSL port ##
http_access deny CONNECT !SSL_ports

## SITES BLOQUEADOS PARA ACESSO ##
acl sites-bloqueados url_regex -i "/etc/squid/regras/sites_bloqueados"

## SITES LIBERADOS PARA ACESSO ##
acl sites-liberados url_regex -i "/etc/squid/regras/sites_liberados"

## DEFININDO A ORDEM DAS REGRAS - ACLS ##
http_access deny sites-bloqueados
http_access allow sites-liberados
http_access allow autenticados
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow all

## NOME QUE IRA APARECER NA TELA DE ERRO OU BLOQUEIO DO SQUID ##
visible_hostname proxy.tidahora.com.br

## DIRETORIO DAS PAGINAS DE ERROS ##
error_directory /usr/share/squid/errors/pt-br

## OUTRAS OPCOES DE CACHE ##
cache_effective_user squid
coredump_dir /var/spool/squid

*Poste sua configuração de firewall.
-->o básico ->> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

Beleza então!

Se eu entendi corretamente, eth1 é sua placa de rede local e eth0, de internet.
O que encontrei em desacordo é a regra de direcionamento de pacotes entrantes na porta 80 para porta 3128, quando não se está utilizando proxy transparente, que seria: "http_port 3128 intercept".
Nesse caso seu, ao configurar proxy autenticado, deve-se esquecer proxy transparente. Então um firewall básico para seu server teria, se eu estiver correto, a seguinte sintaxe:


#!/bin/bash
#variaveis
iflocalnet="eth1"
#ALTERAR DE ACORDO COM SUA REDE LOCAL ABAIXO
localnet="192.168.0.0/24"
ifwan="eth0"

start (){
#Política de firewall
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#Limpar regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

##############
#Filter(INPUT)
##############
#Drop em pacotes inválidos
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "Firewall: Invalid Input "
iptables -A INPUT -m state --state INVALID -j DROP

###############
#Filter(OUTPUT)
###############
iptables -A OUTPUT -m state --state INVALID -j LOG --log-prefix "Firewall: Invalid Output "
iptables -A OUTPUT -m state --state INVALID -j DROP

################
#Filter(FORWARD)
################
#Dropa pacotes inválidos
iptables -A FORWARD -m state --state INVALID -j LOG --log-prefix "Firewall: Invalid Forward "
iptables -A FORWARD -m state --state INVALID -j DROP
#Regra de anti-spoof
iptables -A FORWARD -i $iflocalnet ! -s $localnet -j LOG --log-prefix "Firewall: Spoofed Packet "
iptables -A FORWARD -i $iflocalnet ! -s $localnet -j DROP
#Serviços bloqueados (Squid irá gerenciar conexão através da porta 3128)
iptables -A FORWARD -p tcp -i $iflocalnet --dport 80 -s $localnet -j REJECT
iptables -A FORWARD -p tcp -i $iflocalnet --dport 443 -s $localnet -j REJECT

##################
#Nat - PostRouting
##################
iptables -t nat -A POSTROUTING -o $ifwan -j MASQUERADE

}
stop (){
#Set permissive defaults
#Policy
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#Clean
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#Masquerading
iptables -t nat -A POSTROUTING -j MASQUERADE

}
case $1 in
start) start;;
stop) stop;;
restart) stop;start;;
*) echo "Use";;
esac



Este firewall faz de importante é fazer drop das portas 80 e 443 na chain FORWARD, pra que os micros não consigam acessar a internet diretamente (Estou fazendo MASQUERADE).

Configuração de squid que eu utilizaria (apesar de nunca ter usado algumas configurações apresentadas):


## DEFINE A PORTA DE CONEXAO DO SQUID
http_port 3128

## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE ##
maximum_object_size 4096 KB

## DEFINE O TAMANHO MINIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE (Alterado) ##
#Tamanho mínimo de objeto maior para que ele não fique armazenando objetos muito pequenos.
minimum_object_size 20 KB

## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE DE MEMORIA (Alterado) ##
#Aumentado range do cache na ram
maximum_object_size_in_memory 1024 KB

## DEFINE A QUANTIDADE DE MEMORIA RAM A SER ALOCADA PARA CACHE (Alterado)##
#Aumentado range de cache na ram
cache_mem 1024 MB

## AJUSTA A PERFORMANCE EM CONEXOES PIPELINE ##
pipeline_prefetch on

## CACHE DE FQDN ##
fqdncache_size 1024

## OPCOES DE REFRESH PATTERN ##
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

## DEFINE A PORCENTAGEM DO USO DO CACHE ##
cache_swap_low 90
cache_swap_high 95

## ARQUIVO DE LOGS DO SQUID ##
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

## DEFINE O LOCAL DO CACHE (Alterado) ##
#Assincrono, teoricamente mais efetivo que o sincrono (UFS)
cache_dir aufs /var/spool/squid 1600 16 256

## CONTROLE DE ROTACAO DOS ARQUIVOS DE LOGS ##
logfile_rotate 10

## ARQUIVO ONDE CONTEM OS ENDERECOS LOCAIS DA REDE ##
hosts_file /etc/hosts

## ACLS - PORTAS PADROES LIBERADAS (Alterado) ##
#Ajustado configuração de portas
acl SSL_ports port 443 #HTTPS
acl SSL_ports port 563 #HTTPS
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # 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

### DEFININDO MODO DE AUTENTICACAO
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/usuarios
auth_param basic children 5
auth_param basic realm "DIGITE SEU USUARIO E SENHA PARA ACESSO A INTERNET:"
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

### ACL PARA GARANTIR A AUTENTICACAO DO USUARIO NOS SITES ###
acl autenticados proxy_auth REQUIRED

## BLOQUEIA O ACESSO UNSAFE PORTS ##
http_access deny !Safe_ports

## Deny CONNECT to other than secure SSL port ##
http_access deny CONNECT !SSL_ports

## SITES BLOQUEADOS PARA ACESSO ##
acl sites-bloqueados url_regex -i "/etc/squid/regras/sites_bloqueados"

## SITES LIBERADOS PARA ACESSO ##
acl sites-liberados url_regex -i "/etc/squid/regras/sites_liberados"

## DEFININDO A ORDEM DAS REGRAS - ACLS ##
http_access deny sites-bloqueados
http_access allow sites-liberados
http_access allow autenticados
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow all

## NOME QUE IRA APARECER NA TELA DE ERRO OU BLOQUEIO DO SQUID ##
visible_hostname proxy.tidahora.com.br

## DIRETORIO DAS PAGINAS DE ERROS ##
error_directory /usr/share/squid/errors/pt-br

## OUTRAS OPCOES DE CACHE ##
cache_effective_user squid
coredump_dir /var/spool/squid


Não testei as configurações (não tive como, hoje, criar lab e testar), então antes de aplicar, faça backup das suas.


Terá que configurar o proxy nos computadores da rede (em cada aplicativo/navegador). Pelo que entendi, você não tem problemas com isso.


7. Squid no Cent Os 7 bloqueia todos os sites https

Filipe
eustaquiomv

(usa CentOS)

Enviado em 25/02/2019 - 16:15h

Opa amigo, tentei tudo q vc disse e não deu certo...

Coloquei até a sua configuração de Squid.conf e firewall q vc postou mesmo assim os sites que contem https não entram, demora e nada...

Muito estranho, pois estou testando com um Server Fisico c/ Cent os 7 com duas placas de redes um que vem a net e a outra que vai para
uma única estação de teste (depois colocarei outras estações.)

Na estação configurei manualmente a configuração de proxy 192.168.0.1 porta 3128, sites que não contem "S" em http navegam normalmente....

Na net tudo que pesquiso é o pessoal tentando bloquear https e eu não quero bloquear....




8. Re: Squid no Cent Os 7 bloqueia todos os sites https

Leandro Silva
LSSilva

(usa Outra)

Enviado em 25/02/2019 - 23:41h

Opa,

Posta a saída dos comandos:
*ip addr show
*iptables -nL
*iptables -t nat -nL
*ip route show
*getenforce
*cat /etc/sysctl.conf



9. Re: Squid no Cent Os 7 bloqueia todos os sites https

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/02/2019 - 22:14h

eustaquiomv escreveu:

Opa amigo, tentei tudo q vc disse e não deu certo...

Coloquei até a sua configuração de Squid.conf e firewall q vc postou mesmo assim os sites que contem https não entram, demora e nada...

Muito estranho, pois estou testando com um Server Fisico c/ Cent os 7 com duas placas de redes um que vem a net e a outra que vai para
uma única estação de teste (depois colocarei outras estações.)

Na estação configurei manualmente a configuração de proxy 192.168.0.1 porta 3128, sites que não contem "S" em http navegam normalmente....

Na net tudo que pesquiso é o pessoal tentando bloquear https e eu não quero bloquear....



Tente o comando: "tail -f /var/log/squid/access.log | grep TCP_DENIED"
Acesse algum site https com o comando acima executando e verifique se ocorre algum bloqueio, se positivo reveja o arquivo do squid.
Caso não apresente bloqueios tente o "tail -f /var/log/squid/access.log" e acesse um site https e poste o resultado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts