Squid Bloqueando uma rede especifica que chega via MPLS

1. Squid Bloqueando uma rede especifica que chega via MPLS

Lucas Clementino
lclementino18

(usa Debian)

Enviado em 05/06/2017 - 22:05h

Boa noite Galera,
Seguinte, temos 2 empresas a matriz (ip 1.1) e a filial (9.1), conectadas via mpls, quando o firewall/squid (que está na rede 1) recebe pacote da rede 9, o pacote chega pela rota que é rede 8, ou seja a rede 8 é quem chega no firewall, e o retorno é feito pela rede 7.
Mas vamos lá, se em algum pc da rede 9 configuro o proxy squid da rede 1 consigo acessar a internet normalmente, porém não consigo acessar uma página do webmin ou alguma aplicação de um servidor da rede 1 por exemplo, o squid bloqueia (squid e não squidGuard), já se faço o mesmo em uma máquina da rede 1 acesso normalmente, já deu um access allow no inicio do squid.conf e continua bloqueando, já tentei diversas coisas no squid.conf, mas nada que dê sinal de que vai funcionar.

Segue o squid.conf para verificar se alguem ajuda a fazer esse milagre. Eu não sei se existe outra coisa além do squid que posso bloquear e dar a mesma mensagem que o squid.

Porta por onde o squid estara disponivel
http_port 3128
visible_hostname fw-empresa
error_directory /usr/share/squid/errors/Portuguese

httpd_suppress_version_string on
#Configuracoes relativas ao cache do servidor
cache_mem 2 GB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
maximum_object_size_in_memory 100 KB
maximum_object_size 32 MB
minimum_object_size 2 KB
#cache_swap_low 70
#cache_swap_high 75
cache_swap_low 90
cache_swap_high 95
#cache_dir aufs /var/squid/cache3 250000 64 256
#cache_dir ufs /var/squid/cache2 250000 16 256
cache_dir diskd /var/squid/cache3 250000 64 256 Q1=64 Q2=72
cache_access_log /var/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher 15 0 2280
dns_nameservers 192.168.1.1
#refresh_pattern . 15 20% 2280
refresh_pattern . 0 2% 4320
half_closed_clients off
acl all src 192.168.1.0/24
#Utilizado pelo plugin check_squid
acl ipsquid src 192.168.1.242

##################################
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl redelocal src 192.168.1.0/24 192.168.3.0/24 192.168.9.0/24 192.168.8.0/24 192.168.7.0/24
acl SSL_ports port 443 563 10000 8080 12 8000 81 8443 80 50 88 8079 5222 5223 3000
acl Safe_ports port 8443 80 81 8080 8090 443 563 10000 8000 8087 8050 8181 3000 8087 8088 8023 9090 82 5024 8083 27220 27500 85 8158 8085 8098 3000 3001 12 50

acl purge method PURGE
acl CONNECT method CONNECT

#acl tl src 192.168.8.0/24
#http_access allow tl
#acl tlo dst 192.168.8.0/24
#http_access allow tlo


#acl consultor1 src 192.168.1.26
#acl numeric_IPs dstdom_regex ^(([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)|(\[([0-9a-f]+)?:([0-9a-f:]+)?:([0-9a-f]+|0-9\.]+)?\])):443
#acl Skype_UA browser ^skype
#http_access allow CONNECT consultor1 numeric_IPS Skype_UA

# Utilizado plugin check_squid - para mudar colocar localhost lugar ipsquid
http_access allow manager ipsquid
#####################################
http_access deny !redelocal
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#ACL PARA PERMITIR OS COLETORES DE ACESSAREM O SERVIDOR TOTVS API SOMENTE
acl coletores src "/etc/coletores"
acl apitotvs dst 192.168.1.220
http_access allow coletores apitotvs
http_access deny coletores

#AQUI DEFINIMOS SITES QUE ACESSAM DIRETO SEM PASSAR PELO SQUID
acl site dstdomain portal.empresa.com.br
http_access allow site
########################################

#AQUI DEFINIMOS SITES QUE ACESSAM DIRETO SEM PASSAR PELO SQUID
acl sitegr dstdomain sistemagr.com.br:12
http_access allow sitegr
RADESCO NÃO PRECISA DE AUTENTICAÃO
acl bradesco dstdomain .bradesco.com.br
http_access allow bradesco

#BLOQUEI MAQUINA PORTARIA FINAIS DE SEMANA
acl final_semana time AS 01:00-24:00
acl portaria src 192.168.1.118
http_access deny portaria final_semana

##TESTE LIBERAÃO GOOGLE EARTH - NÃO FAZENDO CACHE DOS DOMINIOS

acl googleUser src 192.168.1.5
acl googleEarth url_regex -i "/etc/googleEarth"
#http_access allow googleUser googleEarth
no_cache deny googleEarth
#always_direct allow googleEarth

####FIM SESSÃO GOOGLE EARTH


##AUTENTICAÃÃO USUARIOS##

auth_param basic realm Empresa WebProxy - AutenticaÃÂão de Usuarios
authenticate_ip_ttl 8 hours
auth_param basic children 100
auth_param basic credentialsttl 8 hours
auth_param basic program /usr/lib/squid/smb_auth -W Empresa -U 192.168.1.205
acl autenticados proxy_auth REQUIRED

ÃÃO PARA WINDOWSUPDATE
acl win url_regex -i windowsupdate update.microsoft.com
http_access allow redelocal win

#######################################
#IP'S QUE NÃ SERÃ FILTRADOS EX:CHEFES ETC
acl permitidos src "/etc/ips_liberados"
http_access allow permitidos
#######################################
http_access deny !autenticados

######################################
#BLOQUEIO MSN#
acl msn url_regex -i /gateway/gateway.dll
#http_access deny msn

######################################
#BLOQUEIO DE DOWNLOAD COM CRITERIO EXTENSÃ
acl extbanida url_regex -i \.avi \.mp3 \.torrent \.exe \.rmvb \.mid

IO DE DOMINIOS UTILIZANDO LISTA EXTERNA
acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados
######################################

######################################
#BLOQUEIO DE DOMINIOS UTILIZANDO LISTA EXTERNA
#acl bloqueados url_regex -i "/etc/squid/bloqueados"
#http_access deny bloqueados
######################################

######################################
#BLOQUEIOS POR PALAVRAS PROIBIDAS
#acl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas"
#http_access deny palavrasproibidas
######################################

##Linha que defini utilizaÃÂão do Squidguard para bloqueios
redirect_program /usr/bin/squidGuard
redirect_children 60
############################################################################


#acl redelocal src 192.168.1.0/24
http_access allow localhost
deise src 192.168.1.2

#acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow autenticados
http_access deny all



  


2. Squid Bloqueando uma rede especifica que chega via MPLS

johnny borges
JohnnyB

(usa Fedora)

Enviado em 05/06/2017 - 22:11h

Deixa eu ver se lhe compreendi corretamente,
vc tem aplicação na rede1 que ao ser acessado pelos outros pcs fora da rede1 via mpls da erro?


3. Re: Squid Bloqueando uma rede especifica que chega via MPLS

Lucas Clementino
lclementino18

(usa Debian)

Enviado em 05/06/2017 - 23:21h

JohnnyB escreveu:

Deixa eu ver se lhe compreendi corretamente,
vc tem aplicação na rede1 que ao ser acessado pelos outros pcs fora da rede1 via mpls da erro?


Exatamente isso, exibe a mesma mensagem de erro de quando acesso um site e o squid bloqueia, se eu tirar o proxy da máquina fora da rede1 consigo acessar normalmente a aplicação, porém com o proxy a aplicação e bloqueada.


4. Re: Squid Bloqueando uma rede especifica que chega via MPLS

johnny borges
JohnnyB

(usa Fedora)

Enviado em 06/06/2017 - 13:05h

vamos tentar resolver pelo squid mesmo,
você tem essa linha no seu squid conf
dns_nameservers 192.168.1.1
seu resolv.conf ta configurado com search domain?
sua rede tem ipv6?
caso esteja ok comente essa linha e tente novamente o acesso.

depois ainda com a linha comentada insira no topo do seu squid a seguinte regra.
acl local-servers dstdomain my.domain.net
always_direct allow local-servers
como nao se a versão do squid, caso não rode e so comentar essas linhas, essas linhas pedem para o squid buscar o objeto direto, caso nao tenha sucesso ai as onfigurações devem ser feitas nos clientes.

caso ainda não obtenha o acesso, tem uma configuração no navegador, que lhe permite remover o direcionamento do proxy.
no firefox vc vai em configuração de proxy e deixa para usar as configurações de proxy do sistema,
no chrome voce na parte onde você configura o proxy tem uma opção avançada um botão que abre um tela onde vc pode definir
diferentes proxys para os protocolos http ftp mais isso nao vem ao caso e somente para voce identificar que se encontra na tela
correta ok, tem uma caixa de configurações na parte inferior que se chama
exeções,
nao usar servidorproxy para os endereços iniciados por:
nessa caixa branca você pode colocar os ips ou os nomes de dominio caso vc use, e separá-los por ; ficando assim
192.168.0./24;192.168.1./24;empresa.net;empresa1.net;filial.net;
também e possível usar coringa para os subdomínios,
192.168.0./24;192.168.1./24;*.empresa.net;*.empresa1.net;filial.net;
pronto isso deve resolver seu problema.

se vc tiver muitos computadores essa configuração pode ser feita via gpo do windows(AD), dhcp e DNS.


5. Re: Squid Bloqueando uma rede especifica que chega via MPLS

Lucas Clementino
lclementino18

(usa Debian)

Enviado em 06/06/2017 - 15:23h

JohnnyB escreveu:

vamos tentar resolver pelo squid mesmo,
você tem essa linha no seu squid conf
dns_nameservers 192.168.1.1
seu resolv.conf ta configurado com search domain?
sua rede tem ipv6?
caso esteja ok comente essa linha e tente novamente o acesso.

depois ainda com a linha comentada insira no topo do seu squid a seguinte regra.
acl local-servers dstdomain my.domain.net
always_direct allow local-servers
como nao se a versão do squid, caso não rode e so comentar essas linhas, essas linhas pedem para o squid buscar o objeto direto, caso nao tenha sucesso ai as onfigurações devem ser feitas nos clientes.

caso ainda não obtenha o acesso, tem uma configuração no navegador, que lhe permite remover o direcionamento do proxy.
no firefox vc vai em configuração de proxy e deixa para usar as configurações de proxy do sistema,
no chrome voce na parte onde você configura o proxy tem uma opção avançada um botão que abre um tela onde vc pode definir
diferentes proxys para os protocolos http ftp mais isso nao vem ao caso e somente para voce identificar que se encontra na tela
correta ok, tem uma caixa de configurações na parte inferior que se chama
exeções,
nao usar servidorproxy para os endereços iniciados por:
nessa caixa branca você pode colocar os ips ou os nomes de dominio caso vc use, e separá-los por ; ficando assim
192.168.0./24;192.168.1./24;empresa.net;empresa1.net;filial.net;
também e possível usar coringa para os subdomínios,
192.168.0./24;192.168.1./24;*.empresa.net;*.empresa1.net;filial.net;
pronto isso deve resolver seu problema.

se vc tiver muitos computadores essa configuração pode ser feita via gpo do windows(AD), dhcp e DNS.




Tenho o bind9 no 1.1, e o resolv.conf está como search.
nameserver 192.168.1.1
search Empresa

Não uso IPV6, inclusive bloqueio o IPV6 no iptables.

No meu caso é uma aplicação desenvolvida internamente, que seta o proxy para validar, ou seja na rede9 acesso essa aplicação em coletores de dados. Também em computadores tentei acessar o servidor que é necessário acessar para as validações (1.210:3000) e o squid bloqueia.
Por fim acabei alterando a linha "acl all src 192.168.1.0/24" para acl all src 0.0.0.0/0.0.0.0 e no fim do arquivo http_access allow all,
isso acabou liberando tudo, inclusive os coletores voltaram a funcionar, porém está tudo liberado, agora vou pensar em uma regra para liberar apenas a passagem da rede9 (que chega no firewall pela rede 8) para a rede 1 e bloquear todos os demais acessos, mas acho que isso não dará muito trabalho.


6. Re: Squid Bloqueando uma rede especifica que chega via MPLS

johnny borges
JohnnyB

(usa Fedora)

Enviado em 06/06/2017 - 16:03h

lclementino18 escreveu:

JohnnyB escreveu:

vamos tentar resolver pelo squid mesmo,
você tem essa linha no seu squid conf
dns_nameservers 192.168.1.1
seu resolv.conf ta configurado com search domain?
sua rede tem ipv6?
caso esteja ok comente essa linha e tente novamente o acesso.

depois ainda com a linha comentada insira no topo do seu squid a seguinte regra.
acl local-servers dstdomain my.domain.net
always_direct allow local-servers
como nao se a versão do squid, caso não rode e so comentar essas linhas, essas linhas pedem para o squid buscar o objeto direto, caso nao tenha sucesso ai as onfigurações devem ser feitas nos clientes.

caso ainda não obtenha o acesso, tem uma configuração no navegador, que lhe permite remover o direcionamento do proxy.
no firefox vc vai em configuração de proxy e deixa para usar as configurações de proxy do sistema,
no chrome voce na parte onde você configura o proxy tem uma opção avançada um botão que abre um tela onde vc pode definir
diferentes proxys para os protocolos http ftp mais isso nao vem ao caso e somente para voce identificar que se encontra na tela
correta ok, tem uma caixa de configurações na parte inferior que se chama
exeções,
nao usar servidorproxy para os endereços iniciados por:
nessa caixa branca você pode colocar os ips ou os nomes de dominio caso vc use, e separá-los por ; ficando assim
192.168.0./24;192.168.1./24;empresa.net;empresa1.net;filial.net;
também e possível usar coringa para os subdomínios,
192.168.0./24;192.168.1./24;*.empresa.net;*.empresa1.net;filial.net;
pronto isso deve resolver seu problema.

se vc tiver muitos computadores essa configuração pode ser feita via gpo do windows(AD), dhcp e DNS.




Tenho o bind9 no 1.1, e o resolv.conf está como search.
nameserver 192.168.1.1
search Empresa

Não uso IPV6, inclusive bloqueio o IPV6 no iptables.

No meu caso é uma aplicação desenvolvida internamente, que seta o proxy para validar, ou seja na rede9 acesso essa aplicação em coletores de dados. Também em computadores tentei acessar o servidor que é necessário acessar para as validações (1.210:3000) e o squid bloqueia.
Por fim acabei alterando a linha "acl all src 192.168.1.0/24" para acl all src 0.0.0.0/0.0.0.0 e no fim do arquivo http_access allow all,
isso acabou liberando tudo, inclusive os coletores voltaram a funcionar, porém está tudo liberado, agora vou pensar em uma regra para liberar apenas a passagem da rede9 (que chega no firewall pela rede 8) para a rede 1 e bloquear todos os demais acessos, mas acho que isso não dará muito trabalho.


acho que agora sim lhe compreendi, bom seu squid ta bem poluido, pelo que vi vc tem o squidGuard
bom faz o seguinte deixa apenas as confs basicas no squid e libera e bloqueia o acesso pelo squidguard, todos os seus ips
que chega via mpls estão na rede local?
o squid e top down ou seja de cima para baixo, se voce bloqueia algo no começo as regras de liberação abaixo nao teram efeitos
assim recomendo que vc faça todas as acl primeiro depois no fim vc defina liberado e bloqueado assim se vc esquecer algo o squid nao sob e lhe fala que falta algo sob a acl tal ai e so vc ver a acl e definir se bloqueia ou libera.



7. Re: Squid Bloqueando uma rede especifica que chega via MPLS

Buckminster
Buckminster

(usa Debian)

Enviado em 06/06/2017 - 21:00h

Vamos por partes, como o esquartejador:

O MPLS (Multiprotocol Label Switching) é um protocolo de roteamento baseado em pacotes rotulados, onde cada rótulo representa um índice na tabela de roteamento do próximo roteador. Pacotes com o mesmo rótulo e mesma classe de serviço são indistingüiveis entre si e por isso recebem o mesmo tipo de tratamento.
O objetivo de uma rede MPLS não é o de se conectar diretamente a sistemas finais. Ao invés disto ela é uma rede de trânsito, transportando pacotes entre pontos de entrada e saída.
O MPLS é mais utilizado em backbones e a aplicação mais interessante do MPLS consiste na sua utilização em conjunto com o IP.
Ver RFC 3031.

Porém, O LDP usa a porta TCP 646, e o TDP usa a porta TCP 711.
Então tu deves liberar essas duas portas no firewall e no Squid.

No firewall aconselho a fazer uma regra com POSTROUTING e SNAT com os respectivos IPs.

E no Squid, antes de mexermos nessa tua bagunça aí, executa

squid -v
ou
squid3 -v

e posta aqui a saída.


8. Re: Squid Bloqueando uma rede especifica que chega via MPLS

Lucas Clementino
lclementino18

(usa Debian)

Enviado em 06/06/2017 - 23:20h

JohnnyB escreveu:

lclementino18 escreveu:

JohnnyB escreveu:

vamos tentar resolver pelo squid mesmo,
você tem essa linha no seu squid conf
dns_nameservers 192.168.1.1
seu resolv.conf ta configurado com search domain?
sua rede tem ipv6?
caso esteja ok comente essa linha e tente novamente o acesso.

depois ainda com a linha comentada insira no topo do seu squid a seguinte regra.
acl local-servers dstdomain my.domain.net
always_direct allow local-servers
como nao se a versão do squid, caso não rode e so comentar essas linhas, essas linhas pedem para o squid buscar o objeto direto, caso nao tenha sucesso ai as onfigurações devem ser feitas nos clientes.

caso ainda não obtenha o acesso, tem uma configuração no navegador, que lhe permite remover o direcionamento do proxy.
no firefox vc vai em configuração de proxy e deixa para usar as configurações de proxy do sistema,
no chrome voce na parte onde você configura o proxy tem uma opção avançada um botão que abre um tela onde vc pode definir
diferentes proxys para os protocolos http ftp mais isso nao vem ao caso e somente para voce identificar que se encontra na tela
correta ok, tem uma caixa de configurações na parte inferior que se chama
exeções,
nao usar servidorproxy para os endereços iniciados por:
nessa caixa branca você pode colocar os ips ou os nomes de dominio caso vc use, e separá-los por ; ficando assim
192.168.0./24;192.168.1./24;empresa.net;empresa1.net;filial.net;
também e possível usar coringa para os subdomínios,
192.168.0./24;192.168.1./24;*.empresa.net;*.empresa1.net;filial.net;
pronto isso deve resolver seu problema.

se vc tiver muitos computadores essa configuração pode ser feita via gpo do windows(AD), dhcp e DNS.




Tenho o bind9 no 1.1, e o resolv.conf está como search.
nameserver 192.168.1.1
search Empresa

Não uso IPV6, inclusive bloqueio o IPV6 no iptables.

No meu caso é uma aplicação desenvolvida internamente, que seta o proxy para validar, ou seja na rede9 acesso essa aplicação em coletores de dados. Também em computadores tentei acessar o servidor que é necessário acessar para as validações (1.210:3000) e o squid bloqueia.
Por fim acabei alterando a linha "acl all src 192.168.1.0/24" para acl all src 0.0.0.0/0.0.0.0 e no fim do arquivo http_access allow all,
isso acabou liberando tudo, inclusive os coletores voltaram a funcionar, porém está tudo liberado, agora vou pensar em uma regra para liberar apenas a passagem da rede9 (que chega no firewall pela rede 8) para a rede 1 e bloquear todos os demais acessos, mas acho que isso não dará muito trabalho.


acho que agora sim lhe compreendi, bom seu squid ta bem poluido, pelo que vi vc tem o squidGuard
bom faz o seguinte deixa apenas as confs basicas no squid e libera e bloqueia o acesso pelo squidguard, todos os seus ips
que chega via mpls estão na rede local?
o squid e top down ou seja de cima para baixo, se voce bloqueia algo no começo as regras de liberação abaixo nao teram efeitos
assim recomendo que vc faça todas as acl primeiro depois no fim vc defina liberado e bloqueado assim se vc esquecer algo o squid nao sob e lhe fala que falta algo sob a acl tal ai e so vc ver a acl e definir se bloqueia ou libera.


Vou refazer esse squid e o iptables, realmente está poluído, já passou pela mão de 3 pessoas, inclusive vou seguir suas dicas de fazer todas as acls e depois, não tenho muita experiência, não sei se seria mais interessante refazer o squid ou bloquear pelo squidguard mesmo. Vou ver se consigo controlar melhor também o script do iptables.


9. Re: Squid Bloqueando uma rede especifica que chega via MPLS

Lucas Clementino
lclementino18

(usa Debian)

Enviado em 06/06/2017 - 23:31h

Buckminster escreveu:

Vamos por partes, como o esquartejador:

O MPLS (Multiprotocol Label Switching) é um protocolo de roteamento baseado em pacotes rotulados, onde cada rótulo representa um índice na tabela de roteamento do próximo roteador. Pacotes com o mesmo rótulo e mesma classe de serviço são indistingüiveis entre si e por isso recebem o mesmo tipo de tratamento.
O objetivo de uma rede MPLS não é o de se conectar diretamente a sistemas finais. Ao invés disto ela é uma rede de trânsito, transportando pacotes entre pontos de entrada e saída.
O MPLS é mais utilizado em backbones e a aplicação mais interessante do MPLS consiste na sua utilização em conjunto com o IP.
Ver RFC 3031.

Porém, O LDP usa a porta TCP 646, e o TDP usa a porta TCP 711.
Então tu deves liberar essas duas portas no firewall e no Squid.

No firewall aconselho a fazer uma regra com POSTROUTING e SNAT com os respectivos IPs.

E no Squid, antes de mexermos nessa tua bagunça aí, executa

squid -v
ou
squid3 -v

e posta aqui a saída.


Sobre as portas do MPLS, vou verificar se já estão liberadas as portas amanhã, e te respondo melhor.

Não sei para que serve isto, mas segue... rs

Squid Cache: Version 2.7.STABLE9
configure options: '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' '--datadir=/usr/share/squid' '--with-pthreads' '--enable-async-io' '--enable-storeio=ufs,aufs,coss,diskd,null' '--enable-linux-netfilter' '--enable-arp-acl' '--enable-epoll' '--enable-removal-policies=lru,heap' '--enable-snmp' '--enable-delay-pools' '--enable-htcp' '--enable-cache-digests' '--enable-referer-log' '--enable-useragent-log' '--enable-auth=basic,digest,ntlm,negotiate' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-carp' '--enable-follow-x-forwarded-for' '--with-large-files' '--with-maxfd=65536' '--build' 'x86_64-linux-gnu' 'build_alias=x86_64-linux-gnu'


10. Re: Squid Bloqueando uma rede especifica que chega via MPLS

Buckminster
Buckminster

(usa Debian)

Enviado em 07/06/2017 - 01:23h

Squid Cache: Version 2.7.STABLE9

ISSO serve para ver a versão do teu Squid.
O Squid está na versão 4, portanto, aconselho você a atualizar teu Squid para uma versão mais atual, pois o 2.7 está obsoleto.
Aconselho a versão estável, 3.5:
http://www.squid-cache.org/Versions/v3/3.5/

A partir daí poderemos melhorar teu squid.conf.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts