Trafego para Squid

1. Trafego para Squid

Carlos Werner
carloswerner

(usa Ubuntu)

Enviado em 23/07/2013 - 10:57h

Senhores, bom dia!

A pouco tempo venho estudando, conforme o tempo deixa, para implantar um Firewall com IPTABLES e SQUID, consegui avançar até bastante, realizando pesquisas no forum e artigos relacionados, mas cheguei a um ponto que minhas leituras e buscas nao estao sendo suficientes, minha situação é que após configurar o servidor (placas de rede, dhcp, firewall e squid) é que nas regras do squid só acessam e bloqueiam o que já tenho definido entre os liberados e bloqueados, exemplo: coloquei para bloquear sites globo, terra e uol e na regra de liberação sao os sites de bancos, .gov e da empresa... porem com isso ele só navega em cima destas regras, se eu acessar algum site que nao esta em uma destas regras ele me retorna conection time out. Estou postando aqui as linhas do meu firewall e do meu squid.

===========================================================================

#!/bin/bash
iniciar(){

#Compartilhar a conexao
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 0/0 -j MASQUERADE
iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT
echo "Compartilhamento ativado"

#Proxy Transparente
#iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128
#echo "Proxy transparente ativado"

#Permite conexoes na interface de rede local e na porta 22 465 993
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 2525 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT

#Regras basicas de firewall
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -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 -m state --state INVALID -j DROP
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 compartilahmento desativados"
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parametros start ou stop"
esac
===========================================================================
e o do squid
===========================================================================
http_port 3128
visible_hostname fw-001
cache_mgr carlos.werner@gmail.com
#
hierarchy_stoplist cgi-bin ?
#
error_directory /usr/share/squid3/errors/Portuguese
#
#
acl all src
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT

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

#Bloqueio de sites por URL
acl sites_liberados url_regex -i "/etc/squid3/regras/sites_liberados"
http_access allow sites_liberados

#Bloqueio de sites por URL
acl sites_proibidos url_regex -i "/etc/squid3/regras/sites_proibidos"
http_access deny sites_proibidos

# Bloqueio de downloads por extensão
#acl downloads_proibidos url_regex -i \.exe \.torrent \.avi
#http_access deny downloads_proibidos
#
#
acl redelocal src 192.168.0.0/16
#
http_access allow localhost
http_access allow redelocal
http_access allow all
===========================================================================

Outro detalhe é que quando coloco proxy transparente ele nao navega pra nada.

Preciso do apoio de voces, grato


  


2. Dúvida

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 05/08/2013 - 17:49h

Boa tarde, gostaria de tirar uma dúvida contigo, esta regra que você está usando é pra que?

#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"


3. Portas

Carlos Werner
carloswerner

(usa Ubuntu)

Enviado em 06/08/2013 - 08:15h

Cara isso ai serviria para bloquear as portas UDP de 0 a 1023, impossibilitando possivel acesso por estas portas e protocolo.


4. Re: Trafego para Squid

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 06/08/2013 - 11:01h

To falando só pra lembrar de serviços que rodam nestas portas conhecidas ex: 53 DNS só por isso

carloswerner escreveu:

Cara isso ai serviria para bloquear as portas UDP de 0 a 1023, impossibilitando possivel acesso por estas portas e protocolo.





5. Re: Trafego para Squid

Carlos Werner
carloswerner

(usa Ubuntu)

Enviado em 06/08/2013 - 11:45h

verdade, nao lembrei da 53 do DNS e 389 para AD.

Verdade, bem lembrado...


6. Re: Trafego para Squid

Joca (Altemir Braz Dantas Junior)
jocajuni

(usa Debian)

Enviado em 06/08/2013 - 12:01h

Sua regra estao meio confusas


exemplo
#Permite conexoes na interface de rede local e na porta 22 465 993
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 2525 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT

Aqui vc esta permitindo tanto sua rede local como sua a internet inteira a conectar nesta porta do firewal
acredito que vc queira na verdade que seu firewall tenha acesso a internet para que seu squid possa navegar entao seria +- assim se vc queira

1) so sua rede interna tenha acesso ao squid e ao ssh
iptables -A INPUT -p tcp -m multiport -s 192.168.0.0/16 --dport 22,3128 -j ACCEPT


2) portas para seu squid navegar pois ele esta no proprio firewall --sport e nao --dport

iptables -A INPUT -p tcp -m multiport --sport 80,443,110 -j ACCEPT
iptables -A INPUT -p udp -m multiport --sport 53 -j ACCEPT

3) so para ter certeza coloque um dns em seu linux

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

4) Agora teste se seu firewall esta navegando

wget http://www.uol.com.br - se ok

5) libere o proxy Transparente
iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128


[]s
Jocajuni






7. Re: Trafego para Squid

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 06/08/2013 - 12:02h

Bom partindo dai vamos ver se conseguimos alguma coisa, sem entrar no mérito de outras portas importante que vc barrou
carloswerner escreveu:

verdade, nao lembrei da 53 do DNS e 389 para AD.

Verdade, bem lembrado...





8. Squid

Carlos Werner
carloswerner

(usa Ubuntu)

Enviado em 09/08/2013 - 10:52h

Amigos, venho procurando aprender mais sobre este assunto que estou gostando bastante e trabalhando muitas horas em cima, porem tenho algumas situações que que não entendo o porque não funciona afinal parece tao claro em minha cabeça o funcionamento.

Fiz alteração no squid para deixa-lo mais enxuto (menos confuso)bacana que consegui fazer com que ele bloqueie os sites que quero bloquear, como também o bloqueio de downloads, e a liberação de sites obrigatórios, mas tenho algumas coisas aqui que preciso de apoio de vocês:

Quando quero liberar algum MAC ADDRESS para acesso total, essa maquina que teria acesso total a internet fica processando e não consegue achar os sites que estão bloqueados, porem sites que não estão em nenhuma regra tem acesso normal, mas tenho que liberar o acesso aos sites que estão bloqueados

Nas demais maquinas como eu disse ta funcionando os bloqueios e liberações, porem quando é para acessar o google também não consegue achar... e está somente com o Google (pesquisas) esse problema.

Outra duvida que achei estranho nas muitas leituras que fiz são as minhas regras padrões, se eu as habilito o a estacão não consegue achar nenhum endereço na internet.

Mais uma questao é o cache, quando esta habilitado, as estacoes nao navegam

Ali tem as ACL's de horario que depois quero implementar, mas essa seria uma outra fase.

To colando meu novo script de squid aqui para vocês avaliarem e ver onde estou errando, por favor mais uma vez peço a ajuda de vocês.

Grato
### meu squid.conf ###
http_port 3128
visible_hostname fw-001
cache_mgr carlos.werner@gmail.com
error_directory /usr/share/squid3/errors/Portuguese/

dns_nameservers 8.8.8.8 8.8.4.4

#hierarchy_stoplist cgi-bin ?
#
# Definicao do cache
# -----------------------------------------------
# Configurcao do cache, nao esquecer do squid3 -z
#cache_mem 64 MB
#maximum_object_size_in_memory 1024 KB
#maximum_object_size 512 KB
#minimum_object_size 3 KB
#cache_swap_low 90
#cache_swap_high 95
#cache_dir ufs /var/spool/squid3 1024 16 50
#cache_access_log /var/log/squid3/access.log
#refresh_pattern ^ftp: 15 20% 2280
#refresh_pattern ^gopher: 15 0% 2280
#refresh_pattern . 15 20% 2280

# O cache pode ser configurado para continuar
# downloads de requisicoes abortadas
#quick_abort_min -1 KB
#quick_abort_max 0 KB
#quick_abort_pct 100%
#
## Arquivos onde ficam os logs de acesso
# -----------------------------------------------
#cache_access_log /var/log/squid3/access.log
#cache_store_log /var/log/squid3/store.log
#cache_log /var/log/squid3/cache.log
#cache_dir ufs /var/spool/squid3 5000 16 256
# -----------------------------------------------
#
# Cache Windows Update
# -----------------------------------------------
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
# -----------------------------------------------
#
## Regras Default
# -----------------------------------------------
###acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
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 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
#
# -----------------------------------------------
#
# ACL's Adicionais (politicas de seguraca)
# -----------------------------------------------
acl sitesbloqueados url_regex -i "/etc/squid3/regras/sitesrestritos"
acl sitesliberados url_regex -i "/etc/squid3/regras/sitesliberados"
acl downloadbloqueado url_regex -i "/etc/squid3/regras/downloadsbloqueados"
acl downloadliberado url_regex -i "/etc/squid3/regras/downloadsliberados"
acl macsliberados arp "/etc/squid3/regras/macsliberados"
acl macsbloqueados arp "/etc/squid3/regras/macsbloqueados"

#acl purge method PURGE
#acl CONNECT method CONNECT
#acl redelocal src 192.168.0.0/24 # rede que se atribui as ACl.s
# -----------------------------------------------
#
## ACL's por horarios
# -----------------------------------------------
acl h_manha time MTWHF 08:10-11:50
acl h_tarde time MTWHF 13:00-17:50
acl h_noite time MTWHF 18:10-23:59
#acl horario time MTWHFAS 00:01-23:59
# -----------------------------------------------
#
# Regras
# -----------------------------------------------
# Recomedacoes minimas de permissao de acesso
#http_access allow manager localhost
#http_access deny manager
#http_access allow purge localhost
#http_access deny purge
#http_access allow Safe_ports
#http_access deny CONNECT !SSL_ports
#
# Regras Personalizadas
http_access allow macsliberados
http_access allow sitesliberados
http_access deny downloadbloqueado
http_access deny macsbloqueados
http_access deny sitesbloqueados

http_access deny all

fico no aguardo


9. Re: Trafego para Squid

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 09/08/2013 - 11:49h

Uma coisa de cada vez, primeiro quantas placas de rede vc ta usando neste pc que rodando o squid? segundo é o server onde está o squid que roteia pra internet ou vc só tá definindo no proxy das estações clientes que ele é o proxy e apontando o GW para outro local.

Aguardi,

carloswerner escreveu:

Amigos, venho procurando aprender mais sobre este assunto que estou gostando bastante e trabalhando muitas horas em cima, porem tenho algumas situações que que não entendo o porque não funciona afinal parece tao claro em minha cabeça o funcionamento.

Fiz alteração no squid para deixa-lo mais enxuto (menos confuso)bacana que consegui fazer com que ele bloqueie os sites que quero bloquear, como também o bloqueio de downloads, e a liberação de sites obrigatórios, mas tenho algumas coisas aqui que preciso de apoio de vocês:

Quando quero liberar algum MAC ADDRESS para acesso total, essa maquina que teria acesso total a internet fica processando e não consegue achar os sites que estão bloqueados, porem sites que não estão em nenhuma regra tem acesso normal, mas tenho que liberar o acesso aos sites que estão bloqueados

Nas demais maquinas como eu disse ta funcionando os bloqueios e liberações, porem quando é para acessar o google também não consegue achar... e está somente com o Google (pesquisas) esse problema.

Outra duvida que achei estranho nas muitas leituras que fiz são as minhas regras padrões, se eu as habilito o a estacão não consegue achar nenhum endereço na internet.

Mais uma questao é o cache, quando esta habilitado, as estacoes nao navegam

Ali tem as ACL's de horario que depois quero implementar, mas essa seria uma outra fase.

To colando meu novo script de squid aqui para vocês avaliarem e ver onde estou errando, por favor mais uma vez peço a ajuda de vocês.

Grato
### meu squid.conf ###
http_port 3128
visible_hostname fw-001
cache_mgr carlos.werner@gmail.com
error_directory /usr/share/squid3/errors/Portuguese/

dns_nameservers 8.8.8.8 8.8.4.4

#hierarchy_stoplist cgi-bin ?
#
# Definicao do cache
# -----------------------------------------------
# Configurcao do cache, nao esquecer do squid3 -z
#cache_mem 64 MB
#maximum_object_size_in_memory 1024 KB
#maximum_object_size 512 KB
#minimum_object_size 3 KB
#cache_swap_low 90
#cache_swap_high 95
#cache_dir ufs /var/spool/squid3 1024 16 50
#cache_access_log /var/log/squid3/access.log
#refresh_pattern ^ftp: 15 20% 2280
#refresh_pattern ^gopher: 15 0% 2280
#refresh_pattern . 15 20% 2280

# O cache pode ser configurado para continuar
# downloads de requisicoes abortadas
#quick_abort_min -1 KB
#quick_abort_max 0 KB
#quick_abort_pct 100%
#
## Arquivos onde ficam os logs de acesso
# -----------------------------------------------
#cache_access_log /var/log/squid3/access.log
#cache_store_log /var/log/squid3/store.log
#cache_log /var/log/squid3/cache.log
#cache_dir ufs /var/spool/squid3 5000 16 256
# -----------------------------------------------
#
# Cache Windows Update
# -----------------------------------------------
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
# -----------------------------------------------
#
## Regras Default
# -----------------------------------------------
###acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
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 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
#
# -----------------------------------------------
#
# ACL's Adicionais (politicas de seguraca)
# -----------------------------------------------
acl sitesbloqueados url_regex -i "/etc/squid3/regras/sitesrestritos"
acl sitesliberados url_regex -i "/etc/squid3/regras/sitesliberados"
acl downloadbloqueado url_regex -i "/etc/squid3/regras/downloadsbloqueados"
acl downloadliberado url_regex -i "/etc/squid3/regras/downloadsliberados"
acl macsliberados arp "/etc/squid3/regras/macsliberados"
acl macsbloqueados arp "/etc/squid3/regras/macsbloqueados"

#acl purge method PURGE
#acl CONNECT method CONNECT
#acl redelocal src 192.168.0.0/24 # rede que se atribui as ACl.s
# -----------------------------------------------
#
## ACL's por horarios
# -----------------------------------------------
acl h_manha time MTWHF 08:10-11:50
acl h_tarde time MTWHF 13:00-17:50
acl h_noite time MTWHF 18:10-23:59
#acl horario time MTWHFAS 00:01-23:59
# -----------------------------------------------
#
# Regras
# -----------------------------------------------
# Recomedacoes minimas de permissao de acesso
#http_access allow manager localhost
#http_access deny manager
#http_access allow purge localhost
#http_access deny purge
#http_access allow Safe_ports
#http_access deny CONNECT !SSL_ports
#
# Regras Personalizadas
http_access allow macsliberados
http_access allow sitesliberados
http_access deny downloadbloqueado
http_access deny macsbloqueados
http_access deny sitesbloqueados

http_access deny all

fico no aguardo





10. Re: Trafego para Squid

Carlos Werner
carloswerner

(usa Ubuntu)

Enviado em 09/08/2013 - 14:24h


Opa mestre, entao tenho duas placas de rede, uma interna que distribui o DHCP e a outra externa que esta ligado o modem. Sim é o squid que tambem roteia o acesso da rede interna para internet, neste caso as estações estao com o GW direcionado para a placa de rede do server (interna)


11. Re: Trafego para Squid

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 09/08/2013 - 15:30h

Boa tarde, posta ai um pedaço do log de uma estação tentando acessar uma página que apresenta este erro, é preciso ver qual código de erro tá dando, segue comando para gerar log para arquivo

tail -f /var/log/squid/access.log > /local onde pretende salvar o arquivo de log/nome do arquivo

onde está /var/log/squid atente para a versão to seu squid

aguardo.

carloswerner escreveu:


Opa mestre, entao tenho duas placas de rede, uma interna que distribui o DHCP e a outra externa que esta ligado o modem. Sim é o squid que tambem roteia o acesso da rede interna para internet, neste caso as estações estao com o GW direcionado para a placa de rede do server (interna)





12. Re: Trafego para Squid

Carlos Werner
carloswerner

(usa Ubuntu)

Enviado em 12/08/2013 - 16:00h

OPaa

entao estou fazendo os testes aqui meu log deu isso, primeiro acessei o site da dell que nao consta nas listas de bloqueado ou liberado, acessou normalmente. depois tentei acessar o site da google e nao acessou

1376333724.697 340 192.168.0.111 TCP_MISS/200 795 GET http://nsm.dell.com/b/ss/dellglobalonline/1/H.24.1/s88244905974715? - DIRECT/66.235.147.113 image/gif
1376333724.928 251866 192.168.0.111 TCP_MISS/200 963353 CONNECT safebrowsing-cache.google.com:443 - DIRECT/74.125.234.137 -
1376333724.964 188 192.168.0.111 TCP_REFRESH_UNMODIFIED/304 368 GET http://i.dell.com/images/global/js/tlSubDomainSDK82a.js - DIRECT/198.172.136.42 application/x-javascript
1376333724.985 230 192.168.0.111 TCP_REFRESH_UNMODIFIED/304 353 GET http://i.dell.com/images/global2/brand/billboard/xml/la/banner_ptla.xml - DIRECT/198.172.136.42 text/xml
1376333728.221 60351 192.168.0.111 TCP_MISS/000 0 GET http://www.google.com/ - DIRECT/2800:3f0:4001:802::1013 -
1376333740.354 60707 192.168.0.111 TCP_MISS/503 0 CONNECT www.google.com.br:443 - DIRECT/2800:3f0:4001:803::101f -
1376333740.354 60504 192.168.0.111 TCP_MISS/503 0 CONNECT www.google.com.br:443 - DIRECT/2800:3f0:4001:803::101f -
1376333741.356 61288 192.168.0.111 TCP_MISS/503 0 CONNECT www.google.com.br:443 - DIRECT/2800:3f0:4001:803::101f -
1376333741.356 61202 192.168.0.111 TCP_MISS/503 0 CONNECT www.google.com.br:443 - DIRECT/2800:3f0:4001:803::101f -
1376333742.137 60755 192.168.0.111 TCP_MISS/503 0 CONNECT www.google.com.br:443 - DIRECT/2800:3f0:4001:803::101f -

detalhe que coloquei o mac desta amc na lista de macs liberados

Segue a sequencia das regras

http_access allow sitesliberados
http_access allow macsliberados
http_access deny downloadbloqueado
http_access deny macsbloqueados
http_access deny sitesbloqueados
#http_access allow horario
http_access deny all







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts