Servidor Squid - Autenticação e níveis de privilégio

Instalação e configuração Squid com autenticação NCSA e níveis de privilégios para usuários.

[ Hits: 98.481 ]

Por: Fayos em 27/09/2007


Exemplo do meu .conf



http_port 3128

visible_hostname FMAL

cache_mem 32 MB

cache_swap_low 90

cache_swap_high 98

maximum_object_size 1048576 KB

minimum_object_size 0 KB

maximum_object_size_in_memory 128 KB

ipcache_size 2048

ipcache_low 90

ipcache_high 98

fqdncache_size 1024

cache_replacement_policy lru

memory_replacement_policy lru

cache_dir ufs /var/squid/cache 10000 16 256

cache_access_log /var/squid/logs/access.log

auth_param basic program /usr/libexec/ncsa_auth/ncsa_auth /etc/squid/passwd

auth_param basic children 5

auth_param basic realm ENTRE COM SEU LOGIN E SENHA.

auth_param basic credentialsttl 2 hours

auth_param basic casesensitive off

acl grpacessorestrito proxy_auth "/etc/squid/grpacessorestrito"

acl grpacessototal proxy_auth "/etc/squid/grpacessototal"

acl grpsuper proxy_auth "/etc/squid/grpsuper"

acl bloqueios_url url_regex "/etc/squid/bloqueios_url"

acl liberados_url url_regex "/etc/squid/liberados_url"

acl blacklistspy url_regex "/etc/squid/blacklistspy"

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern . 0 20% 4320

acl all src 0.0.0.0/0.0.0.0

acl autenticacao proxy_auth REQUIRED

http_access allow grpsuper

http_access deny blacklistspy

http_access allow grpacessototal

http_access deny bloqueios_url

http_access allow grpacessorestrito

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563

acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow autenticacao

http_access deny all

http_reply_access allow all

icp_access allow all

Página anterior    

Páginas do artigo
   1. Instalação do Squid
   2. Configuração - Criação de arquivos e usuários
   3. Configuração - Compilar o módulo NCSA
   4. Configuração - O .conf
   5. Configuração - Atribuir usuários a grupos
   6. Finalização
   7. Observações e bibliografia
   8. Exemplo do meu .conf
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Squid autenticando em base Active Directory

OpenBSD Proxy - Squid, SquidGuard, SquidClamAV e AdZapper

Fazendo controle no Proxy Squid por MAC ADDRESS

Analisando log Squid do Mikrotik no SARG

Tutorial de instalação do Squid no CentOS

  
Comentários
[1] Comentário enviado por claudio oliveira em 27/09/2007 - 09:21h

Cara este seu artigo foi tudo de bom, me ajudou bastante.
valeu!!!

[2] Comentário enviado por nps em 27/09/2007 - 11:54h

?comentario=Beleza, este seu tutorial,mas como eu faço para ele ficar
transparente e ao mesmo tempo pedindo autenticação?

[3] Comentário enviado por fm.esteves em 27/09/2007 - 12:45h

bom...estou com problemas no meu squid, preciso de ajuda urgente.

quando eu o reinicio ele diz que tá rodando direito mas, no final dá um erro = coud not send signal 15 to precess 1313.

to maluco com isso já.

pelo amor de DEUS alguem me ajude!!!!!!!!!!!

[4] Comentário enviado por faosfbi em 28/09/2007 - 14:22h

Resposta para "NPS", você instala e configura assim como está no Tutorial, agora você vai condicionar todo mundo a passar pelo proxy do seu servidor, se algum engraçadinho remover o proxy a internet não vai funcionar.

Para este fim abra:

/etc/rc.d/rc.local

Dentro de rc.local coloque as seguintes linhas:

sysctl -w net.ipv4.ip_forward=1

modprobe iptable_nat

Salve o arquivo e reinicie o serviço com o comando:

/etc/rc.d/rc.inetd restart

Agora configure nas maquinas de usuário o Proxy com o endereço IP do seu servidor e a porta 3128. Esta configuração é relativa, pois há diversos browsers no mercado, mas não difere muito de um para o outro.

Pronto, agora todos os usuários da sua rede estão condicionados ao seu servidor Proxy, e se alguém tentar remover o Proxy do browser simplesmente a internet deste não irá funcionar.

Temos um outro caso que geralmente é comum, o de precisar de um IP sem Proxy, para este fim abra novamente o arquivo:

/etc/rc.d/rc.local

No final deste arquivo coloque a seguinte linha para cada IP que necessite ser liberado:

iptables -t nat -A POSTROUTING -o eth0 -s 10.28.30.14 -j MASQUERADE

Note que existe na linha a expressão eth0. Se o seu servidor de internet tiver duas placas de rede, eth0 onde sai a internet para as estações e eth1 onde entra a linha WAN, deixe como está, caso contrario se a eth1 é onde sai a internet para as estações, mude na linha para eth1. Outro ponto importante da linha é o IP, note que na linha está um IP qualquer apenas como exemplo, poderá mudar para o IP da sua rede ao qual quer liberar, se o caso for liberar mais de um IP terá que digitar outra linha abaixo semelhante só que com o IP diferente ao qual quer liberar.

[5] Comentário enviado por nps em 29/09/2007 - 20:21h

Obrigado pela resposta, mas na realidade eu precisaria de configurar
com proxy transparente com autenticação, pois sao muitas maquinas
e colocar ip manualmente uma a uma seria muito dificil, e também ainda teria que se configurar nos navegadores para se usar um servidor
proxy.
att.NPS

[6] Comentário enviado por paulonapa em 02/10/2007 - 08:02h

Prezados amigos,desculpem a ignorância mas não entendi como essa configuração faz o squid entender os níveis de acesso. Pelo que vi aqui ele está apenas pedindo autenticação e liberando tudo.

[7] Comentário enviado por minduim em 07/04/2009 - 17:36h

Socorro alguém poderia me ajudar? Estou com um problema com Squid e autenticação de usuários. Alguém poderia me ajudar? http://www.vivaolinux.com.br/topico/Servidores-Linux-para-iniciantes/Problemas-com-autenticacao-de-s...

[8] Comentário enviado por jfernandes em 01/07/2009 - 13:49h

Amigão
Entendi quase tudo, só não entendi como "amarro" o usuário dos grupos às regras de liberação, bloqueios ?
Por exemplo dentro do meu arquivo grpacessorestrito tem 01 usuário, como o squid sabe que esse carinha não pode acessar sites do arquivo bloqueio_url ?
Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts