Erro em regra do squid (resolvido)

Iniciado por wilcox, 08 de Maio de 2011, 18:16

tópico anterior - próximo tópico

wilcox

Depois de estudar muito, buscar soluções sozinho e brigar demais com o squid vim recorrer a vocês.

Estou com um problema enorme com o squid que configurei aqui onde trabalho

Não consigo de jeito nenhum fazer com que o squid libere apenas alguns sites pra um certo grupo

ja tentei de varios jeitos mas nenhum funcionou.

Segue abaixo o meu squid.conf

Desde já agradeço.

e eth1 e minha interface de internet e a eth0 e a interface de rede local

#REGRAS DO IPTABLES NO RC.LOCAL

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

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 -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 80 -j REDIRECT --to-port 3128


#SQUID.CONF
http_port 3128
visible_hostname hospital.server

cache_mem 512 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

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

# Bloqueia acessos de fora da rede local antes de passar pela autenticação:
acl redelocal src 169.254.66.0/24
http_access deny !redelocal

# Outras regras de restrição vão aqui:

#Palavras permitidas ficam no arquivo permitidas
acl permitidas1 url_regex -i "/etc/squid/regras/permitidas"
http_access allow permitidas1

#palavras bloqueadas para o grupo chefias
acl bloqueados url_regex -i "/etc/squid/regras/chefias/bloqueados"
http_access deny bloqueados

#palavras bloqueadas para o grupo referencias
acl bloqueados url_regex -i "/etc/squid/regras/referencias/bloqueados"
http_access deny bloqueados

#palavras bloqueadas para o grupo basicos a
acl bloqueados url_regex -i "/etc/squid/regras/funca/bloqueados"
http_access deny bloqueados

#palavras bloqueadas para o grupo basicos b
acl bloqueados url_regex -i "/etc/squid/regras/funcb/bloqueados"
http_access deny bloqueados

#palavras bloqueadas para o grupo basicos c
acl bloqueados url_regex -i "/etc/squid/regras/funcc/bloqueados"
http_access deny bloqueados

# Autentica o usuário:
auth_param basic realm Squid wendeli
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
acl autenticados proxy_auth REQUIRED
http_access allow autenticados

acl permitidos1 proxy_auth "/etc/squid/regras/administradores/logins"
http_access allow permitidos1

acl permitidos2 proxy_auth "/etc/squid/regras/chefias/logins"
http_access allow permitidos2

acl permitidos3 proxy_auth "/etc/squid/regras/referencias/logins"
http_access allow permitidos3

acl permitidos4 proxy_auth "/etc/squid/regras/funca/logins"
http_access allow permitidos4

acl permitidos5 proxy_auth "/etc/squid/regras/funcb/logins"
http_access allow permitidos5

acl permitidos6 proxy_auth "/etc/squid/regras/funcc/logins"
http_access allow permitidos6

#grupo que nao funciona
acl permitidos7 proxy_auth "/etc/squid/regras/susfacil/logins"
http_access allow permitidos7

#palavras liberados para o grupo susfacil
acl liberados url_regex -i "/etc/squid/regras/susfacil/livre"
http_access deny !liberados permitidos7


# Libera o acesso da rede local e do localhost para os autenticados,
# bloqueia os demais:
http_access allow localhost
http_access allow redelocal
http_access deny all

debug_options ALL,1 33,2  

zekkerj

Squid transparente não funciona com autenticação... é uma coisa ou outra.
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

wilcox

E como faço pra ele deixar de ser transparente?
Se ele deixar de ser transparente  como evitar que o pessoal navegue por fora do proxy?

zekkerj

CitarE como faço pra ele deixar de ser transparente?
Configure os navegadores pra usá-lo. Configurar a descoberta automática é uma boa dica, nessa hora; facilita demais a configuração.

CitarSe ele deixar de ser transparente  como evitar que o pessoal navegue por fora do proxy?
Bloqueando qualquer conexão de saída que não venha do seu servidor proxy. Assim, a única forma de sair passa a ser pelo proxy.
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

wilcox

Citação de: zekkerj online 09 de Maio de 2011, 12:49

CitarBloqueando qualquer conexão de saída que não venha do seu servidor proxy. Assim, a única forma de sair passa a ser pelo proxy.

vou ter que excluir as regras que eu coloquei no rc.local para fazer o roteamento. Tenho que usar tambem o iptables -D pra excluir no iptalbes?
A regra pra bloquear todo o trafego fora do proxy é assim?

iptables -A INPUT -p tcp --syn -j DROP
iptables -P FORWARD DROP

Quais as regras devo deixar no meu iptables?
Desde já agradeço

zekkerj

Seria só o "iptables -P FORWARD DROP". Isso, junto com algumas regras pra liberar serviços estritamente necessários (tipo DNS, correio, etc).
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

wilcox

#6
Apos pesquisar achei essas regras

iptables -A INPUT -s 169.254.0.0/24 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s 169.254.0.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s 169.254.0.0/24 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 169.254.0.0/24 -p udp --dport 53 -j ACCEPT

No caso e so mudar a porta pra 25 pra funcionar o SMTP e pra outra que nao me lembro pra funcionar POP3

E no caso do meu squid? ele esta correto? Principalmente nessa parte em que quero que o grupo susfacil so acesse os sites que os nomes estiverem dentro do arquivo /etc/squid/regras/susfacil/livre?

#grupo que nao funciona
acl permitidos7 proxy_auth "/etc/squid/regras/susfacil/logins"
http_access allow permitidos7

#palavras liberados para o grupo susfacil
acl liberados url_regex -i "/etc/squid/regras/susfacil/livre"
http_access deny !liberados permitidos7

zekkerj

Citariptables -A INPUT -s 169.254.0.0/24 -p tcp --dport 53 -j ACCEPT
Vc usa essa faixa de IPs em sua rede?
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

wilcox

Citação de: zekkerj online 09 de Maio de 2011, 16:57
Citariptables -A INPUT -s 169.254.0.0/24 -p tcp --dport 53 -j ACCEPT
Vc usa essa faixa de IPs em sua rede?

não não

iptables -A INPUT -s 169.254.66.0/24 -p tcp --dport 53 -j ACCEPT

Agora sim. O que vcs acham do squid que configurei? ta certo?

zekkerj

#9
Se vc não usa essa faixa de rede, não está certo não.

Se usa... seu problema é bem maior do que simplesmente o squid não funcionando... :-[
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

wilcox

a minha rede usa 169.254.66.0/24

porque meu problema e bem maior que o suid funcionando?

zekkerj

Pq essa faixa não era pra estar sendo utilizada... essa é a faixa dos endereços APIPA/AVAHI.
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

wilcox

Mas o fato de usar uma mascara /24 nao tia o endereços da faixa do zeroconf?

wilcox

Consegui resolver refazendo o squid e prestando atenção na ordem das acls.

zekkerj

Citação de: wilcox online 09 de Maio de 2011, 17:51
Mas o fato de usar uma mascara /24 nao tia o endereços da faixa do zeroconf?
Não. Até pq a faixa APIPA é /16. Equipamentos em "conectividade nula ou limitada" podem cair na mesma faixa de sua rede.

E, caramba, há 3 faixas de rede privada liberadas (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Basta escolher uma dessas faixas. Não há necessidade de misturar com a faixa APIPA...
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