Erro no SQUID

Iniciado por jonatanrader, 02 de Março de 2017, 11:56

tópico anterior - próximo tópico

jonatanrader

Olá.

Tenho o ubuntu server 16 rodando como router da minha rede, o squid rodava tranquilamente, atualizei o sistema via terminal e posteriormente a versão do squid, reiniciei o server e ai começou os erros do squid:

Segue config do squid: ( deixei da forma mais simples possível):
#regras Squid

error_directory /usr/share/squid/errors/Portuguese

#cache

cache_mem 700 MB

#Armazenamento da RAM

maximum_object_size_in_memory 32 KB

#tamanho maximo do cache
maximum_object_size 1024 MB


#tamanho minimo

minimum_object_size 0 KB

#limite descarte cache

cache_swap_low 90
cache_swap_high 95

#tamanho real cache em disco

cache_dir ufs /etc/squid/cache 30000 20 256

# log

access_log /var/log/squid/access.log squid



#Regras ACL e portas

http_port 3128
visible_hostname FIREWALL

# ACL

acl 'all' src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
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

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

#BLOQUEIOS

acl sites_proibidos url_regex -i "/etc/squid/sites_proibidos"
http_access deny sites_proibidos

acl downloads_proibidos url_regex -i \.exe \.torrent \.avi \.mp3
http_access deny downloads_proibidos




#RANGE IP DA REDE

acl redelocal src 192.168.0.0/24



# Permissão rede local e servidor

http_access allow localhost
http_access allow redelocal


#BLOQUIO EXTERNO
http_access deny all

Erro
root@FIREWALL:/home/spark# squid -z
2017/03/02 11:16:49| ERROR: '0.0.0.0/0.0.0.0' needs to be replaced by the term 'all'.
2017/03/02 11:16:49| SECURITY NOTICE: Overriding config setting. Using 'all' instead.
2017/03/02 11:16:49| WARNING: (B) '::/0' is a subnetwork of (A) '::/0'
2017/03/02 11:16:49| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable
2017/03/02 11:16:49| WARNING: You should probably remove '::/0' from the ACL named 'all'
2017/03/02 11:16:49| WARNING: Netmasks are deprecated. Please use CIDR masks instead.
2017/03/02 11:16:49| WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
2017/03/02 11:16:49| WARNING: For now we will assume you meant to write /32
2017/03/02 11:16:49| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/02 11:16:49| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/02 11:16:49| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
2017/03/02 11:16:49| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/02 11:16:49| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/02 11:16:49| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
root@FIREWALL:/home/spark# 2017/03/02 11:16:49 kid1| ERROR: '0.0.0.0/0.0.0.0' needs to be replaced by the term 'all'.
2017/03/02 11:16:49 kid1| SECURITY NOTICE: Overriding config setting. Using 'all' instead.
2017/03/02 11:16:49 kid1| WARNING: (B) '::/0' is a subnetwork of (A) '::/0'
2017/03/02 11:16:49 kid1| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable
2017/03/02 11:16:49 kid1| WARNING: You should probably remove '::/0' from the ACL named 'all'
2017/03/02 11:16:49 kid1| WARNING: Netmasks are deprecated. Please use CIDR masks instead.
2017/03/02 11:16:49 kid1| WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
2017/03/02 11:16:49 kid1| WARNING: For now we will assume you meant to write /32
2017/03/02 11:16:49 kid1| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/02 11:16:49 kid1| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/02 11:16:49 kid1| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
2017/03/02 11:16:49 kid1| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/02 11:16:49 kid1| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/02 11:16:49 kid1| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
2017/03/02 11:16:49 kid1| Current Directory is /home/spark
2017/03/02 11:16:49 kid1| Creating missing swap directories
FATAL: Failed to make swap directory /etc/squid/cache: (13) Permission denied




zekkerj

Você está usando uma configuração de Squid antigo num Squid novo, por isso os erros.

1. Corrija a linha ``acl 'all' src 0.0.0.0/0.0.0.0´´, ou remova-a, pois se tornou desnecessária.

2. O diretório "/etc/squid/cache" não existe, ou não está autorizado a ser usado. Aliás, Graças a Deus!!! Não é aí que se coloca o cache do squid, e sim em "/var/squid/cache". Corrija sua configuração, crie o diretório no local correto e dê permissão total ao usuário/grupo "squid:squid" (e só a ele, não caia na armadilha de achar que pode usar um "chmod 777" em qualquer lugar do sistema e sair impune).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

jonatanrader

Valeu Zakkerj, sim eu vi a mancada do cachê e ja foi corrigido

segue as permissões e ainda continua um errinho,  notei que algumas pastas não existem, como exemplo /var/squid/cache
existe sim a pasta /var/log/squid/cache.log, Acho que o correto é remover ele e reinstalar..



root@FIREWALL:/home/spark# ls -la /var/log/squid
total 64
drwxr-xr-x  2 proxy proxy   4096 Mar  2 11:22 .
drwxrwxr-x 14 root  syslog  4096 Mar  2 07:35 ..
-rwxrwxrwx  1 proxy proxy      0 Mar  2 11:22 access.log
-rw-r-----  1 proxy proxy      0 Fev 17 10:24 access.log.1
-rwxrwxrwx  1 proxy proxy  47550 Mar  2 16:45 cache.log
-rw-r-----  1 proxy proxy      0 Mar  1 12:05 cache.log.1
-rw-r-----  1 proxy proxy     20 Fev 28 01:10 cache.log.2.gz
-rw-r-----  1 proxy proxy      0 Fev 17 11:04 netdb.state
root@FIREWALL:/home/spark# squid -z
2017/03/02 17:00:49| WARNING: Netmasks are deprecated. Please use CIDR masks instead.
2017/03/02 17:00:49| WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
2017/03/02 17:00:49| WARNING: For now we will assume you meant to write /32
2017/03/02 17:00:49| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/02 17:00:49| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/02 17:00:49| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
2017/03/02 17:00:49| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/02 17:00:49| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/02 17:00:49| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
FATAL: getpwnam failed to find userid for effective user 'squid'
Squid Cache (Version 3.5.23): Terminated abnormally.
CPU Usage: 0.004 seconds = 0.000 user + 0.004 sys
Maximum Resident Size: 50128 KB
Page faults with physical i/o: 0

zekkerj

#3
Não, é "/var/squid/cache", ou no máximo "/var/cache/squid". EDIT: A pasta correta é "/var/spool/squid". Se você tentar usar outra pasta, o AppArmour vai bloquear o acesso, a menos que você o reconfigure.

Não mexa no arquivo "/var/log/squid/cache.log", pq ele é necessário e tem outra função.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

jonatanrader

E ai.

Reinstalei o squid, segue ainda alguns erros, além deste que esta logo abaixo,  ele não esta bloqueando nada, todos conseguem navegar livremente, meu proxy é transparente, fiz o redirecionamento da porta 80 para a porta do squid  no iptables. 

segue o erro.
root@FIREWALL:/home/spark# squid -z
2017/03/03 17:01:12| WARNING: Netmasks are deprecated. Please use CIDR masks instead.
2017/03/03 17:01:12| WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
2017/03/03 17:01:12| WARNING: For now we will assume you meant to write /32
2017/03/03 17:01:12| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/03 17:01:12| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/03 17:01:12| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
2017/03/03 17:01:12| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/03 17:01:12| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/03 17:01:12| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'

root@FIREWALL:/home/spark# 2017/03/03 17:17:06 kid1| WARNING: Netmasks are deprecated. Please use CIDR masks instead.
2017/03/03 17:17:06 kid1| WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
2017/03/03 17:17:06 kid1| WARNING: For now we will assume you meant to write /32
2017/03/03 17:17:06 kid1| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/03 17:17:06 kid1| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/03 17:17:06 kid1| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
2017/03/03 17:17:06 kid1| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1'
2017/03/03 17:17:06 kid1| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable
2017/03/03 17:17:06 kid1| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost'
2017/03/03 17:17:06 kid1| Current Directory is /home/spark
2017/03/03 17:17:06 kid1| Creating missing swap directories
FATAL: Failed to make swap directory /etc/squid/cache: (13) Permission denied




meu squid:

#nome proxy
#regras Squid

error_directory /usr/share/squid/errors/Portuguese

#cache

cache_mem 1024 MB

#Armazenamento da RAM

maximum_object_size_in_memory 32 KB

#tamanho maximo do cache
maximum_object_size 1024 MB


#tamanho minimo

minimum_object_size 0 KB

#limite descarte cache

cache_swap_low 90
cache_swap_high 95




#tamanho real cache em disco

cache_dir ufs /etc/squid/cache 30000 20 256

# log

access_log /var/spool/squid/access.log

cache_dir ufs /var/spool/squid 9048 16 256








#Regras ACL e portas

http_port 3128 transparent
visible_hostname FIREWALL 

# ACL

#acl 'all' src 0.0.0.0/0.0.0.0
acl palavrasbloqueadas url_regex -i "/etc/squid/palavrasbloqueadas"
acl downloads_proibidos url_regex -i \.exe \.torrent \.avi \.mp3
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
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 1025-65535 #unregistred 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 Safe_ports port 901 # swat
acl Safe_ports port 1025-65535 # portas altas
acl purge method PURGE
acl CONNECT method CONNECT





http_access deny palavrasbloqueadas
http_access deny downloads_proibidos
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





#RANGE IP DA REDE

acl redelocal src 192.168.0.0/24



# Permissão rede local e servidor

http_access allow localhost
http_access allow redelocal


#BLOQUIO EXTERNO
http_access deny all

zekkerj

Você adicionou uma segunda linha "cache_dir" correta, mas não removeu a antiga.

Quanto a não bloquear, essa máquina é gateway da sua rede, hoje? Ela tem que ser, pro proxy transparente funcionar.

Sugestão: configure uma máquina pra usar seu squid, manualmente. Facilita muito os testes.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

jonatanrader

Bom dia

Eu esqueci de remover a linha do cache_dir,  sim a  maquina é o gateway da rede estou realizando teste em outra antes, ou seja nesta que estou utilizando,  ambas são identicas
o roteamento funciona me ambas, tudo certinho, mas na maquina de testes não esta boqueando nada como falei apesar de ter feito o redirecionamento da porta:

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

posteriormente irei instalar o Sarg e o DansGuardian

Valeu zakkerj.

zekkerj

Você precisa configurar um cliente pra usar o proxy explicitamente na máquina de testes. Afinal, se é uma máquina de testes, ela não é o gateway da rede neste momento, não? ;)
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

jonatanrader

Segue as permissões do Squid:

root@FIREWALL:/home/spark# ls -l /var/log/squid/access.log
-rwxrwxr-x 1 squid squid 0 Mar  3 09:59 /var/log/squid/access.log
root@FIREWALL:/home/spark# chmod -R 755 /var/log/squid/

root@FIREWALL:/home/spark# ls -l /var/log/squid/access.log
-rwxr-xr-x 1 squid squid 0 Mar  3 09:59 /var/log/squid/access.log

root@FIREWALL:/home/spark# ls -la /var/log/squid/
total 44
drwxr-xr-x  2 squid proxy   4096 Mar  3 10:39 .
drwxrwxr-x 14 root  syslog  4096 Mar  4 07:35 ..
-rwxr-xr-x  1 squid squid      0 Mar  3 09:59 access.log
-rwxr-xr-x  1 squid proxy  28785 Mar  3 17:17 cache.log
-rwxr-xr-x  1 squid proxy      0 Mar  3 10:39 netdb.state

root@FIREWALL:/home/spark# lsattr ls -la /var/log/squid/
lsattr: Arquivo ou diretório não encontrado durante tentativa de iniciar ls
/var/log/squid/cache.log     Extents
/var/log/squid/..            Extents
/var/log/squid/netdb.state   Extents
/var/log/squid/.             Extents
/var/log/squid/access.log    Extents
root@FIREWALL:/home/spark# df -k

Sist. Arq.     1K-blocos   Usado Disponível Uso% Montado em
udev             1985060       0    1985060   0% /dev
tmpfs             401040    6480     394560   2% /run
/dev/sda2       86379904 6331928   75637048   8% /
tmpfs            2005184     264    2004920   1% /dev/shm
tmpfs               5120       4       5116   1% /run/lock
tmpfs            2005184       0    2005184   0% /sys/fs/cgroup
/dev/sda5      215254092  657104  203639628   1% /home
tmpfs             401040      16     401024   1% /run/user/122
tmpfs             401040      84     400956   1% /run/user/1000
root@FIREWALL:/home/spark#


Outra duvida, é possivel realizar o controle do acesso pelo MAC das maquinas. ou seja liberar e bloquear pelo MAC no squid...


Obirgado

jonatanrader

Então, como dito eu uso uma maquina de testes, a qual eu tenho ligado em rede aqui no lab mais 3 maquinas, 2 note e um PC, e uso  a maquina de testes como se tivesse na rede,  e utilizo outro link de internet,  hoje tenho um server 2008 onde o Comodo endpoint me ajuda em algumas restrições na rede mas não de forma eficaz, não temos no server 2008 licenças, ou seja o server não gerencia nada só faz o NAT da rede( "questão de economia da empresa").  E agradeço toda a sua ajuda.

zekkerj

CitarOutra duvida, é possivel realizar o controle do acesso pelo MAC das maquinas. ou seja liberar e bloquear pelo MAC no squid...

É possível controlar pelo MAC sim, mas não é muito prático.
Um detalhe importante, a informação de MAC Address não é transportada para fora da rede local; assim, se vc utilizar qualquer tipo de roteador --- mesmo um switch L3 com VLANs --- não vai mais ter o MAC da estação que originou o tráfego.

Citação de: jonatanrader online 04 de Março de 2017, 11:42
Então, como dito eu uso uma maquina de testes, a qual eu tenho ligado em rede aqui no lab mais 3 maquinas, 2 note e um PC, e uso  a maquina de testes como se tivesse na rede,  e utilizo outro link de internet,  hoje tenho um server 2008 onde o Comodo endpoint me ajuda em algumas restrições na rede mas não de forma eficaz, não temos no server 2008 licenças, ou seja o server não gerencia nada só faz o NAT da rede( "questão de economia da empresa").  E agradeço toda a sua ajuda.
Pra ser sincero contigo, eu mesmo não uso mais máquinas Ubuntu, Suse, ou qualquer outra distribuição geral, como servidor de compartilhamento ou gateway de rede. Pra isso há distribuições e projetos mais específicos, como o pfSense e o Endian, que dão resultados muito melhores, muito mais rápido.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D